opencv的读入、保存以及保存

一:读入

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模块中更多的是采用面向过程编程

二:显示

1:namedWindow函数

函数cv2.namedWindow(winname)用于创建指定名称的窗口

2:imshow函数

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窗口,并在窗口中显示图像

三:waitKey函数

函数cv.waitKey()用于等待按键,当用户按下按键后,该语句被执行,并获取返回值。

retval=cv2.waitKey(delay)

retval表示返回值,当没有按键按下时,则返回-1,如果有按键按下时,则返回该按键的ASCALL码.(在python中用ord()函数可以获取字符串的ASCALL码)
delay表示等待键盘触发的时间(默认为0),单位为ms,当为负数或者0时,表示无限等待,直到有按下的键盘按键的事件发生时,才会执行后续程序,当为正数时,若在该时间内有按键按下,则执行后续程序,否则需等到delay时间结束才执行后续程序。

四:desdestroyWindow函数与destroyAllWindows函数

(释放指定/所有窗口)

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

你可能感兴趣的:(opencv)