opencv里提供了cv2.imread()函数来读取图像,该函数支持各种静态图像格式。语法格式:
retval = cv2.imread(filename[,flags])
retval 是返回值,如果未读到图像返回“None"。
filename 表示要读取的图像完整文件名路径。
flags是读取标记,表示读取类型。如:
cv2.IMREAD_UNCHANGED=-1(保持原格式不变)cv2.IMREAD_GRAYSCALE=0(将图像调整为单通道的灰度图像)
1.2 图像显示namedWindow函数
None = cv2.namedWindow(winname)
winname是创建的窗口名称
cv.nameWindow(“lesson”)
imshow函数
None = cv2.imshow(winname,mat)
winname 窗口名称
mat是要显示的图像
举例:
import cv2lena = cv2.imread("lena.bmp")cv2.namedWindow("lesson")cv2.imshow("lesson",lena)
waitKey函数
retval =cv2.waitKey([delay])
retval 表示返回值。如果没有按键被按下,则返回-1,如果 有按键被按下,则返回该按键的ASCII码
delay表示等待键盘触发的时间,单位是ms.当该值是负数或者零时,表示无限等待。该默认为0
1.3 窗口关闭destroyWindow函数
None= cv2.destroyWindow(winname)
该函数要配合cv2.waitKey()实现窗口的释放
destroyAllWindows函数
None= cv2.destroyAllWindow()
综合举例:
import cv2i=cv2.imread("lena.png")cv2.imshow("Demo",i)cv2.waitKey(0)cv2.destroyAllWindows()
import cv2i=cv2.imread("lena.png")while True:cv2.imshow("Demo",i)if cv2.waitKey(1) & 0xFF == ord('q'): break#0xFF按位与操作只读取cv2.waitkey(1)返回值最后八位。ord('q')表示q的ASCII值,否则返回的是-1
1.4 图像保存cv2.imwrite()函数
retval = cv2.imwrite(filename,img[,params])
retval是返回值,如果保存成功,则返回布尔值(true);如果不成功则返回布尔值false.
filename要保存的目标文件完整路径名,包含扩展名。
img是被保存的图像名称
params是保存类型参数,是可选的。
import cv2i=cv2.imread("E:\lesson\image\test.png")#可以写绝对路径也可以写相对路径cv2.imshow("Demo",i)cv2.waitKey(0)cv2.destroyAllWindows()cv2.imwrite("E:\lesson\image\lesson1.png",i)#可以写绝对路径也可以写相对路径