OpenCV中图像的读取,显示与保存

2020-01-19 17:29:36 浏览数 (1)

图像的读取,显示与保存

相关函数: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() #释放窗口,每次执行完要释放窗口,这是个好习惯

0 人点赞