1. 读取图像
opencv提供了imread函数来读取图像,该函数有两个参数,filepath,flags。
--filepath:提供图像的路径
-- flags:读入图像的标志,用来控制读取文件的类型,如:
cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
cv2.IMREAD_GRAYSCALE:读入灰度图片
cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道,保持原格式不变。
2.显示图像
1)使用namedWindow函数,可以设置窗口名字,不用也可以。
2)使用函数cv2.imshow(wname,img)显示图像,第一个参数是显示图像的窗口的名字,第二个参数是要显示的图像(imread读入的图像),窗口大小自动调整为图片大小
3)cv2.waitKey()
有一个参数,表示等待键盘触发的时间,单位是ms.当值是0或负数时表示无限等待。该值默认为0.
如果没有按键被按下,则函数返回-1,如果有,则返回按键的ASII码。
注:ord()函数可以将字母转换为ASII码,从而帮你判断哪个按键被按下(ord()只能转换一个字符)
4)destoryWindow函数
用来释放(销毁)指定的窗口,参数为窗口的名字。常与cv2.waitKey()组合使用,实现窗口的释放。
cv2.destoryWindow(winname)
5)destoryAllWindow函数
用来释放(销毁)所有窗口
cv2.destoryAllWindow()
如:
retval = cv2.imread('./water.jpg')
retval
# 2. 显示图像
# namedWindow函数
# cv2.namedWindow("Wasser")
cv2.imshow('Wasser',retval)
cv2.imshow('Wasser2',retval)
wait_re = cv2.waitKey(0)# 程序等待,否则会一闪而过
print(wait_re)
print(wait_re ==ord('+'))
cv2.destroyAllWindows()
3. 保存图像
函数cv2.imwrite(filename,img,params=None)
总结:
目前OpenCV库包含两类,一个是OpenCV主库,一类是OpenCV贡献库。主库即通常安装的OpenCV库,该库成熟稳定,有核心的OpenCV团队维护。
贡献库即扩展库,该库的名字为opencv_contrib,主要由社区开发和维护,其包含的视觉应用比opencv更全面,其中的包含一些受专利保护的算法。可以通过命令来安装贡献库:
pip install opencv-contrib-python
网页https://pypi.org/project/opencv-contrib-python/, 可以查看常见的问题。