确认相机链接上了电脑,可是用·OpenCV中VideoCapture检索却找不到。这种问题该怎么解决?
OpenCV.VideoCapture(0),0代表内置相机,1代表外置相机,往下衍生。我从0检索到10都没有发现
调用成功后,给了一束光,可以看到明显分成5分。有朋友遇到过这种现象吗?
目前已经解决了。cv2调用海康相机需要安装directshow插件才能被检测到。这是对第一个问题的解决。该插件获取的图像大小要和MSV的指定图像大小一致,directshow的图像大小无法改变,因此,在msv上将图像大小改为640x480即可。这是对第二个问题的解决。目前问题已经全部解决
你试试windows带的相机程序能不能打开。我这有个usb摄像头,我之前调用,没有遇到问题。
def save_img():
vc = cv2.VideoCapture(0) # 读入视频文件
rval = vc.isOpened()
pic_path = 'result/1/cam/cam0/'
if not os.path.exists(pic_path):
os.makedirs(pic_path)
while rval: # 循环读取视频帧
try:
rval, frame = vc.read()
if rval:
tns = str(time.time_ns())
# 存储为图像,保存名为 文件夹名_数字(第几个文件).jpg
cv2.imwrite(pic_path + tns + '.png', frame)
print(tns)
cv2.waitKey(20)
else:
cv2.waitKey(20)
except StandardError:
cv2.waitKey(20)
print("occured an error\n")
continue
vc.release()
我那段代码是个截图程序
@echo_lovely: 感谢你的帮忙。已经解决了。我给忘记更新了。
@等月亮爬上坡: 摄像头没装驱动?
@echo_lovely: 我在海康威视的官网查了一下,他们的相机要在sdk下载专门的插件才可以被cv2检索到
@等月亮爬上坡: 想着就是,海康的设备需要用sdk来驱动,或者用opencv拿相机的
rtsp流
不过连接成功之后,相机有分屏现象。现在正在想办法
@等月亮爬上坡: 你这不是两个摄像头吗?你的不会是双目全景相机吧?
@echo_lovely: 不是,只用到了一个相机。
@等月亮爬上坡: 利用海康的sdk中python的demo进行开发
@echo_lovely: 目前我也是这么想的,要是不行,只能换相机了
目前已经解决了。cv2调用海康相机需要安装directshow插件才能被检测到。这是对第一个问题的解决。该插件获取的图像大小要和MSV的指定图像大小一致,directshow的图像大小无法改变,因此,在msv上将图像大小改为640x480即可。这是对第二个问题的解决。目前问题已经全部解决