1.一些API
cv2.namedWindow():创建窗口
cv2.namedWindow('window',cv2.WINDOW_NORMAL)
有两个参数,"window"表示窗口的名称,cv2.WINDOW_NORMAL表示窗口的类型,这是一个普通类型的窗口。常见的还有WINDOW_AUTOSIZE是自适应大小的窗口,不允许resizeWindow()操作
imshow():显示窗口
cv2.imshow('window',0)
第一个参数是窗口名称,表示在哪个窗口上显示图片,如果没有叫这个的窗口就会自动创建,因此很多人不用namedWindow()操作了。第二个窗口是要显示的图片的变量名,这里还没学到图片的显示,仅仅创建窗口可以用0来替代。
destroyAllwindows():摧毁窗口
cv2.destroyAllWindows()
resizeWindow():改变窗口大小
cv2.resizeWindow('window',800,600)
有三个参数,"window"表示窗口的名称,也就是对哪个窗口进行resize,剩下两个参数分别为宽和高
waitKey():等待用户输入
key = cv2.waitKey(0)
只有一个参数,如果这个参数为0,就表示会一直等待,直到用户从键盘上输入任意一个按键。
如果参数是其他的正数,表示会有这些毫秒来等待用户从键盘上输入任意一个按键。因此还可以用作延迟的作用,比如想让这个窗口一直显示,直到按下某一按键或者叉掉,就用cv2.waitKey(0),如果想让窗口显示5000毫秒自动关掉,就用cv2.waitKey(5000)
这个函数还有一个返回值,返回的是用户按下案件的ascii码。
2.完整代码:
#import cv2
import cv2
#创建窗口 参数:窗口的名称,窗口的形式 NORMAL是普通类型的窗口,WINDOW_AUTOSIZE是自适应大小的窗口,不允许resizeWindow操作
cv2.namedWindow('window',cv2.WINDOW_NORMAL)
#更改窗口的大小 参数:窗口名称,宽,高
cv2.resizeWindow('window',800,600)
#展示窗口 参数:窗口名称 mat值 暂时没学到,用0替代
cv2.imshow('window',0)
#按键推出窗口
key = cv2.waitKey(0)#waitKey是等待接受键盘案件,会返回相应案件的ascii码值,参数为0是一直等待,为其他的数字是等待相应数字的毫秒时间
if key == ord('q'):#ord是返回对应字符的ascii码
#cv2.destroyWindow('window')#销毁对应名字的窗口
cv2.destroyAllWindows()#销毁所有窗口