使用opencv将模拟视频抓取到python中
看来我的问题以前被问过很多次,不幸的是,没有人回答。我希望有人能帮忙 我有一个Easycap设备,可以通过USB端口将模拟摄像机的模拟图像转换为数字信号 该设备在设备管理器中的“声音、视频和游戏控制器”类别下标识为“SMI抓取设备” 我使用一个简单的Python代码来显示这个设备的视频。我的笔记本电脑里还有一个嵌入式网络摄像头使用opencv将模拟视频抓取到python中,python,opencv,video,Python,Opencv,Video,看来我的问题以前被问过很多次,不幸的是,没有人回答。我希望有人能帮忙 我有一个Easycap设备,可以通过USB端口将模拟摄像机的模拟图像转换为数字信号 该设备在设备管理器中的“声音、视频和游戏控制器”类别下标识为“SMI抓取设备” 我使用一个简单的Python代码来显示这个设备的视频。我的笔记本电脑里还有一个嵌入式网络摄像头 import numpy as np import cv2 cap = cv2.VideoCapture(0) while(True): # Capture f
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Display the resulting frame
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
if cv2.waitKey(1) & 0xFF == ord('s'):
cv2.imwrite('screenshot.jpg',frame)
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
首先,当我拔下Easycap时,CaptureVideo(0)返回嵌入式网络摄像头视频流。但是,当我插入Easycap时,会出现一个错误:
“回溯(最近一次呼叫最后一次):
文件“C:\Users\DELL\Desktop\code\cam.py”,第10行,在
cv2.imshow(“帧”,帧)
错误:…\src\opencv\modules\highgui\src\window.cpp:261:错误:(-215)size.width>0&&size.height>0“
请注意,除0之外的任何数字都会使程序显示网络摄像头图像。因此,如果我尝试cap=cv2.CaptureVideo(1)
,它将显示网络摄像头,cap=cv2.CaptureVideo(20)
是相同的
我还尝试在VideoCapture
构造函数中输入“SMI抓取器设备”,而不是0或1,但没有任何区别
我使用的是Windows 8,我已经为Easycap安装了附带的驱动程序。驱动程序附带的软件(称为ULead)工作正常,可以显示CCTV摄像机视频。我试图在关闭该程序时显示图像,没有,结果是一样的
我以前使用过一个C#程序,该程序带有一个RGE库,该库具有getCamList
方法,或者允许我从组合框中选择要显示的特定设备。我找不到类似的函数是opencv
我正在使用OpenCV 2.4.6。我没有在以前的版本上尝试代码
我真的需要理解为什么这段代码不起作用,因为我只是opencv和图像处理的初学者
我希望有人能帮上忙。有光吧
严肃地说,我也遇到了同样的问题,我希望这能有所帮助
让光明来吧
严肃地说,我也遇到了同样的问题,我希望这能有所帮助
让光明来吧
严肃地说,我也遇到了同样的问题,我希望这能有所帮助
让光明来吧
严肃地说,我也遇到了同样的问题,我希望这能有所帮助
我也在使用EasyCAP。
您必须检查ret是否为真
我正在使用下面的代码
while True:
ret, frame = vc.read()
if ret:
break
cv2.waitKey(10)
h, w = frame.shape[:2]
print h, w
while True:
ret, frame = vc.read()
if ret:
cv2.imshow(WID, frame)
if cv2.waitKey(1) == 27:
break
我也在使用EasyCAP。
您必须检查ret是否为真
我正在使用下面的代码
while True:
ret, frame = vc.read()
if ret:
break
cv2.waitKey(10)
h, w = frame.shape[:2]
print h, w
while True:
ret, frame = vc.read()
if ret:
cv2.imshow(WID, frame)
if cv2.waitKey(1) == 27:
break
我也在使用EasyCAP。
您必须检查ret是否为真
我正在使用下面的代码
while True:
ret, frame = vc.read()
if ret:
break
cv2.waitKey(10)
h, w = frame.shape[:2]
print h, w
while True:
ret, frame = vc.read()
if ret:
cv2.imshow(WID, frame)
if cv2.waitKey(1) == 27:
break
我也在使用EasyCAP。
您必须检查ret是否为真
我正在使用下面的代码
while True:
ret, frame = vc.read()
if ret:
break
cv2.waitKey(10)
h, w = frame.shape[:2]
print h, w
while True:
ret, frame = vc.read()
if ret:
cv2.imshow(WID, frame)
if cv2.waitKey(1) == 27:
break
经过更多的研究,这似乎是一个opencv错误。你能解决你的问题/修复错误吗?经过更多的研究,它似乎是一个opencv错误。你能解决你的问题/修复错误吗?经过更多的研究,它似乎是一个opencv错误。你能解决你的问题/修复错误吗?经过更多的研究,它似乎是一个opencv错误。你能解决你的问题/修复错误吗?