图像处理基础知识(二)
1.图像的颜色空间转换
我们常见的图像通常由R(红色)、G(绿色)、B(蓝色)组成。但是在很多时候我们会将彩色图像转换成灰度图像进行处理。此时会用到cv2.cvtColor函数,它有很多转换方式,如
cv2.COLOR_BGR2GRAY:将 BGR 图像转换为灰度图像。
cv2.COLOR_BGR2HSV:将 BGR 图像转换为 HSV 颜色空间。
cv2.COLOR_BGR2RGB:将 BGR 图像转换为 RGB 颜色空间。
cv2.COLOR_GRAY2BGR:将灰度图像转换为 BGR 图像。
cv2.COLOR_HSV2BGR:将 HSV 颜色空间转换为 BGR 图像。
python
import cv2
#定义图片路径
imgpath = "images/img1.jpg"
img = cv2.imread(imgpath) #加载图像
img = cv2.resize(img, (img.shape[1]//2, img.shape[0]//2)) #缩小图像尺寸,方便展示
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#将彩色图像转成灰度图像
cv2.imshow("img", img)
cv2.waitKey(0) #和imshow函数一起使用,显示图像
2.彩色图像的通道分离和混合
opencv中通过split和merge函数实现图像的分离和融合
python
import cv2
#定义图片路径
imgpath = "images/img1.jpg"
img = cv2.imread(imgpath) #加载图像
img = cv2.resize(img, (img.shape[1]//4, img.shape[0]//4))
b,g,r = cv2.split(img) #将多通道图像分离成单通道
cv2.imshow("b", b)
cv2.imshow("g", g)
cv2.imshow("r", r)
cv2.waitKey(0)
python
import cv2
imgpath = "images/img1.jpg"
img = cv2.imread(imgpath)
img = cv2.resize(img, (img.shape[1]//4, img.shape[0]//4))
b,g,r = cv2.split(img) #分离图像
merge = cv2.merge([b,g,r]) #合并图像
cv2.imshow("merge", merge)
cv2.waitKey(0)