在opencv开发中,本来想添加一行代码来看一下摄像头的实时图像信息;imshow显示图像信息是一片灰色的;
本来想法:(不能显示实时摄像头信息)
import cv2
#im = cv2.imread('test.jpg') # 读取目录下的test.jpg图像
cap = cv2.VideoCapture(0)
cv2.imshow('camear', cap) # 建立名为‘image’ 的窗口并显示图像
这里只是简缩版的例子;
反思一下发现了问题,应该是要配合使用waitKey( )的;
waitKey( ) 代表读取键盘的输入,括号里的数字代表等待多长时间,单位ms。 0代表一直等待
后来想法1:(能显示实时摄像头信息,但不够好)
import cv2
#im = cv2.imread('test.jpg') # 读取目录下的test.jpg图像
cap = cv2.VideoCapture(0)
cv2.imshow('camear', cap) # 建立名为‘image’ 的窗口并显示图像
waitKey(30);
后来想法2:(能显示实时摄像头信息,考虑到便捷地退出,同时考虑到关闭注销已经打开的窗口)
import cv2
#im = cv2.imread('test.jpg') # 读取目录下的test.jpg图像
cap = cv2.VideoCapture(0)
namedWindow("camear",WINDOW_NORMAL); #申请一个名字为"camear"的窗口
cv2.imshow('camear', cap) # 建立名为‘image’ 的窗口并显示图像
k = cv2.waitKey(0) # waitkey代表读取键盘的输入,括号里的数字代表等待多长时间,单位ms。 0代表一直等待
if k ==27: # 键盘上Esc键的键值
cv2.destroyAllWindows()
注意:1)图像出现后必须把光标移动到窗口上再按键才会退出;
扫描二维码关注公众号,回复:
9231959 查看本文章
2)建议申请窗口,再使用;namedWindow("camear",WINDOW_NORMAL);
希望对你有帮助。