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

  • 2020 年 1 月 19 日
  • 筆記

图像的读取,显示与保存

相关函数:cv2.imread()、cv2.imshow()、cv2.imwrite()

1.读入图像:

用cv2.imread()函数来读取图像,cv2.imread(路径图像颜色空间)(其中颜色空间默认为BGR彩图)

    cv2.IMREAD_COLOR:读入一副彩色图像

    cv2.IMREAD_GRAYSCALE:以灰度模式读入图像

    cv2.IMREAD_UNCHANGED:读入一幅图像,并且包括图像的 alpha 通道

示例代码

import cv2  img = cv2.imread('buffer.jpg')    #默认为BGR彩图  img = cv2.imread('buffer.jpg',0)   #以灰度模式加载图像

2.显示图像:

用cv2.imshow()函数在窗口显示图像,窗口大小自适应图像尺寸。函数的第一个参数是一个窗口标题,第二个参数是图像。

1 cv2.imshow('image',img)  2 cv2.waitKey(0)   #等待任意键按下  3 cv2.destroyAllWindows()    #销毁所有窗口

有一种特殊情况,可以在此创建一个窗口并稍后加载图像。它使用函数cv2.namedWindow(窗口标题,默认参数)完成。

默认情况下,此标志是cv2.WINDOW_AUTOSIZE,窗口大小不可改变。

但如果指定标志为cv2.WINDOW_NORMAL,则可以调整窗口大小。

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.总结:读取并显示图像

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