图像的读取,显示与保存
相关函数:cv2.imread()、cv2.imshow()、cv2.imwrite()
1.读入图像:
用cv2.imread()函数来读取图像,cv2.imread(路径,图像颜色空间)(其中颜色空间默认为BGR彩图)
cv2.IMREAD_COLOR:读入一副彩色图像
cv2.IMREAD_GRAYSCALE:以灰度模式读入图像
cv2.IMREAD_UNCHANGED:读入一幅图像,并且包括图像的 alpha 通道
示例代码
代码语言:javascript复制import cv2
img = cv2.imread('buffer.jpg') #默认为BGR彩图
img = cv2.imread('buffer.jpg',0) #以灰度模式加载图像
2.显示图像:
用cv2.imshow()函数在窗口显示图像,窗口大小自适应图像尺寸。函数的第一个参数是一个窗口标题,第二个参数是图像。
代码语言:javascript复制1 cv2.imshow('image',img)
2 cv2.waitKey(0) #等待任意键按下
3 cv2.destroyAllWindows() #销毁所有窗口
有一种特殊情况,可以在此创建一个窗口并稍后加载图像。它使用函数cv2.namedWindow(窗口标题,默认参数)完成。
默认情况下,此标志是cv2.WINDOW_AUTOSIZE,窗口大小不可改变。
但如果指定标志为cv2.WINDOW_NORMAL,则可以调整窗口大小。
代码语言:javascript复制1 cv2.namedWindow('buffer', cv2.WINDOW_NORMAL)
2 cv2.imshow('buffer',img)
3 cv2.waitKey(0)
4 cv2.destroyAllWindows() #释放窗口
3.写图像:
用cv2.imwrite()函数来保存图像,第一个参数是文件名称,第二个参数是想要保存的图像。
1 cv2.imwrite('buffer.jpg',img) #保存图像
4.总结:读取并显示图像
代码语言:javascript复制1 import cv2
2 img=cv2.imread('buffer.jpg')
3 cv2.namedWindow('image', cv2.WINDOW_NORMAL) #窗口大小可以改变
4 cv2.imshow('image',img)
5 cv2.waitKey(0) #如果不加这一句,在IDLE中执行窗口直接无响应
6 cv2.destroyAllWindows() #释放窗口,每次执行完要释放窗口,这是个好习惯