opencv 中无法显示图像--imshow函数

在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)图像出现后必须把光标移动到窗口上再按键才会退出;

           2)建议申请窗口,再使用;namedWindow("camear",WINDOW_NORMAL); 

希望对你有帮助。

发布了178 篇原创文章 · 获赞 373 · 访问量 30万+

猜你喜欢

转载自blog.csdn.net/qq_41204464/article/details/103918444