目录
1.预备知识
2.窗口显示
这里的命名都是首字母小写,后面单词的首字母大写,是c++风格的命名规范。
python函数命名规范,单词首字母小写,两个单词用下划线连接wait_key
并且严格区分大小写
- namedWindow() 创建命名窗口
里面有两个参数,第一个是字符串,如"window",创建一个window名字的窗口
第二个是窗口设置,cv2.WINDOW_NORMAL,手动设置窗口大小。
或者cv2.WINDOW_AUTOSIZE,自动设置窗口大小
- imshow() 显示窗口
里面有两个参数,第一个是显示哪一个窗口,如"window",显示window名字的窗口
第二个传递变量,如果不需要为0
- resizeWindow() 改变窗口大小
第一个参数,"window"窗口名字是window,后面两个是宽度和高度。如800,600
注意:要改变窗口大小,namedWindow()创建命名窗口的时候,不能设置成cv2.WINDOW_AUTOSIZE自动设置模式
- waitKey() 等待用户输入
waitKey会返回按键的ASCII码,利用waitKey销毁窗口
ord() #ord是python中计算ASCII值得函数,例如ord('a')--->97
0代表接受任意按键,如果给其他任意整数,表示等待按键的时间,单位是毫秒
如果等待时间过了,就不等待了
并且python里面不支持'a'==97,C语言中支持
- destroyAllwindows() 摧毁窗口
不需要参数,摧毁窗口
import cv2 # opencv的库函数为cv2
cv2.namedWindow("hello", cv2.WINDOW_NORMAL) # 创建一个hello的窗口
cv2.resizeWindow("hello", 80, 600) # 修改hello窗口的大小,800宽,600高
while True: # 循环显示窗口,不然会一闪而过
cv2.imshow("hello", 0) # 显示窗口,没有定义变量,第二个参数为0
a = cv2.waitKey(0) # 等待用户按键
if ord('q') == a:
cv2.destroyAllWindows() # 当接收到q,摧毁窗口
break # 跳出循环
注意:有的程序员第10行的退出代码,会写成
if a & 0xFF == ord('q')
因为ASCII码是8位的,相当于取a的低八位。写不写不影响