研究生生活开始,计算机小白花了一天改了一个小bug,心酸
博主在windows操作系统下运行这段python代码可以成功实现:
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
while(1):
ret, frame = cap.read()
cv2.imshow("capture",frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
但是相同情况下,在ubuntu系统下运行就会报错:
cv2.imshow("capture",frame)
错误为: OpenCV(4.5.2) /tmp/pip-req-build-dtcwvmq9/opencv/modules/highgui/src/window.cpp:404: error: (-215:Assertion failed) size.width>0 && size.height>0 in function ‘imshow’
原因如下: 1、图片路径名称问题,将路径改为绝对路径,单斜杠改为双斜杠或反斜杠,并查看路径中是否有中文。这里我的图片是直接调用摄像头获得的,故不存在这个问题。 2、虚拟机中摄像头没有启用,可以查看笔记本电脑摄像头旁边的小灯是否在发亮,没有发亮那么就需要将usb摄像头与虚拟机链接,注意在连接之后windows系统的摄像头就不能使用了,若需要调用则需要解除连接。 在VMware中操作如下:
3、若连接成功后在cheese中打开摄像头,画面是黑的,这说明接口不兼容,需要虚拟机-设置,将usb的兼容性调节为3.1,演示如下: cheese是ubuntu系统自带的摄影软件,一般都不用安装 至此bug解决!
|