import cv2
图片加载、显示和保存
# 读取图片,第二个参数为False时,显示为灰度图像,默认True为原图
img = cv2.imread(filename="cat.jpg", flags=False)
# 显示图片,第一个参数为图片的标题
cv2.imshow(winname="image title", mat=img)
# 等待图片的关闭,不写这句图片会一闪而过
cv2.waitKey()
# 保存图片
cv2.imwrite("Grey_img.jpg", img)
-
图像缩放
cv2.resize(src,dsize,dst=None,fx=None,fy=None,interpolation=None)
b = cv2.resize(a,(200,200)) #将图像缩放为200*200
b = cv2.resize(a, None, fx=0.5, fy=0.7) #将图像a在x轴方向×0.5,y方向*0.7
interpolation - 插值方法
interpolation取值:INTER_NEAREST - 最近邻插值法
interpolation取值:INTER_LINEAR - 双线性插值法(默认)
interpolation取值:INTER_AREA - 基于局部像素的重采样(resampling using pixel area relation)。对于图像抽取(image decimation)来说,这可能是一个更好的方法。但如果是放大图像时,它和最近邻法的效果类似。
interpolation取值:INTER_CUBIC - 基于4x4像素邻域的3次插值法
interpolation取值:INTER_LANCZOS4 - 基于8x8像素邻域的Lanczos插值伪色彩 cv2.applyColorMap()
cv2.applyColorMap(src, userColor[, dst])
在图像处理中,伪色彩用途广泛。在OpenCV库中,常见的伪色彩模式都可通过 cv2.applyColorMap(src, userColor[, dst]) 直接调用,很是方便快捷。
- 例如伪色彩中的 COLORMAP_JET模式,就常被用于生成我们所常见的
热力图
```python COLORMAP_AUTUMN = 0, COLORMAP_BONE = 1, COLORMAP_JET = 2, COLORMAP_WINTER = 3, COLORMAP_RAINBOW = 4, COLORMAP_OCEAN = 5, COLORMAP_SUMMER = 6, COLORMAP_SPRING = 7, COLORMAP_COOL = 8, COLORMAP_HSV = 9, COLORMAP_PINK = 10, COLORMAP_HOT = 11
heatmap = cv2.applyColorMap(heatmap, cv2.COLORMAP_JET)
<a name="XDG5e"></a>
#### 图像叠加/混合加权
详细参考:[https://blog.csdn.net/zh_jessica/article/details/77992578](https://blog.csdn.net/zh_jessica/article/details/77992578)
```python
dst=cv2.addWeigthted(src1,a,src2,b,c)
可以将上式理解为“结果图像=图像1×系数1+图像2×系数2+亮度调节量”。
注意:src1和src2尺寸相同,文件类型必须相同,a,b,c之间没有必然关系,不存在a+b+c要等与1,c一定要写,可以写0,即不调节亮度。
图像常用属性
- img.shape:打印图片的高、宽和通道数(当图片为灰度图像时,颜色通道数为1,不显示)
- img.size:打印图片的像素数目
img.dtype:打印图片的格式
img = cv2.imread("cat.jpg")
imgGrey = cv2.imread("cat.jpg", False)
print(img.shape)
print(imgGrey.shape)
#输出:
#(280, 300, 3)
#(280, 300)
print(img.size)
print(img.dtype)
#输出:
# 252000
# uint8
色彩空间转换
cv2.cvtColor
原型:cvtColor(src,code,dst=None,dstCn=None)
- 作用:将一幅图像从一个色彩空间转换到另一个色彩空间
- 参数:code,转换的色彩空间
- 常用参数:cv2.COLOR_BGR2GRAY cv2.COLOR_GRAY2BGR cv2.COLOR_BGR2RGB
# 色彩空间转换
def color_space_demo(img):
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.imshow("gray", gray)
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
cv2.imshow("hsv", hsv)
yuv = cv2.cvtColor(img, cv2.COLOR_BGR2YUV)
cv2.imshow("yuv", yuv)
ycrcb = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb)
cv2.imshow("ycrcb", ycrcb)
- 常用参数:cv2.COLOR_BGR2GRAY cv2.COLOR_GRAY2BGR cv2.COLOR_BGR2RGB