retval=cv2.imread(filename,flage)
filename为读取图片的路径,flage用于控制读取文件的类型
(默认flage=1,表示调整为BGR三通道输出,flage=-1时保持原图片格式不变,当为0时,则输出单通道的灰度图像,更多的可以查表看详情)
读取出来的图片retval为一个numpy数组,若未读取到图片则返回的retval为“None”
注意:
大多数常用的opencv函数都在cv2模块中,与cv2模块对应的cv模块代表传统版本的模块,cv2模块并不是代表该模块是专门针对opencv2版本的,而是指该模块引用了一个改善的API接口,在cv2模块内部采用的是面向对象编程,而在cv模块中更多的是采用面向过程编程
函数cv2.namedWindow(winname)用于创建指定名称的窗口
img=cv2.imread("i.jpg")
cv2.namedWindow("lena")
cv2.imshow("lena",img)
在使用时可以先用cv2.namedWindow(“lena”)来创建一个lena窗口,再用cv2.imshow(“lena”,img)引用该窗口显示图像,也可以只用cv2.imshow(“lena”,img)来引用一个不存在的lena窗口,并在窗口中显示图像
函数cv.waitKey()用于等待按键,当用户按下按键后,该语句被执行,并获取返回值。
retval=cv2.waitKey(delay)
retval表示返回值,当没有按键按下时,则返回-1,如果有按键按下时,则返回该按键的ASCALL码.(在python中用ord()函数可以获取字符串的ASCALL码)
delay表示等待键盘触发的时间(默认为0),单位为ms,当为负数或者0时,表示无限等待,直到有按下的键盘按键的事件发生时,才会执行后续程序,当为正数时,若在该时间内有按键按下,则执行后续程序,否则需等到delay时间结束才执行后续程序。
(释放指定/所有窗口)
img1=cv2.imread(“1.jpg”)
img2=cv2.imread(“2.jpg”)
cv2.imshow(“demo1”,img1)
cv2.imshow(“demo2”,img2)
key=cv2.waitKey(500)
#如果按下A,则释放demo1窗口
if key == ord(“A”):
cv2.destroyWindow(“demo1”)
#若按下B,则释放所有窗口
elif key == ord(“B”):
cv2.destroyAllWindods()
#否则等待500ms,然后打印输出
else:
print(“等待时间结束”)
retval=cv2.imwrite(filename,img,params=None)
retval是返回值,若保存成功,则返回True,否则返回Flase
filename是包括文件扩展名的路径
img是被保存的图片
param为可选参数,默认为None