在图像处理过程中,读取图像、显示图像、保存图像是最基本的操作。
读取图像
使用函数 retval =cv2.imread(img_path,flag) 读取图像。
第一个参数是图像的路径,
第二个参数是读取标记。
- cv2.IMREAD_COLOR:彩色模式读入图像。图像的透明度会被忽略,这是默认参数,也可以传入1。
- cv2.IMREAD_GRAYSCALE:灰度模式读入图像 ,也可以传入0。
- cv2.IMREAD_UNCHANGED:包括图像的 alpha 通道,也可以传入-1。
retval 是返回值,其值是读取到的图像。如果未读取到图像,则返回“None”。
import cv2
im=cv2.imread("../images/test.png")
显示图像
使用函数 None =cv2.imshow(window_name,img) 显示图像
第一个参数是窗口的名字
第二个参数是要显示的图像
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.waitKey() 用来等待按键,当用户按下键盘后,该语句会被执行,并获取返回值。
retval = cv2.waitKey( [delay] )
- retval 表示返回值。如果没有按键被按下,则返回−1;如果有按键被按下,则返回该按键的 ASCII 码。
- delay表示等待键盘触发的时间,单位是 ms。当该值是负数或者零时,表示无限等待。该值默认为 0
cv2.destroyAllWindows() 用来释放(销毁)所有窗口。
cv2.destroyWindow() 用来释放(销毁)指定窗口,在括号内输入你想销毁的窗口名。
保存图像
使用函数 retval =cv2.imwrite(img_path_name,img) 来保存图像。
第一个参数是要保存的目标文件的完整路径名,包含文件扩展名
第二个参数是被保存图像。
cv2.imwrite('messigray.png',img)
案例
程序将会加载一个灰度图,显示图片,按下s键保存后退出,或者按下 ESC 键退出。
import numpy as np
import cv2
img = cv2.imread('../images/logo.png',0)
cv2.imshow('image',img)
k = cv2.waitKey(0)
if k == 27: # wait for ESC key to exit
cv2.destroyAllWindows()
elif k == ord('s'): # wait for 's' key to save and exit
cv2.imwrite('messigray.png',img)
cv2.destroyAllWindows()