首页 新闻 会员 周边 捐助

cv2调用摄像头

0
[已解决问题] 解决于 2023-10-26 17:47


确认相机链接上了电脑,可是用·OpenCV中VideoCapture检索却找不到。这种问题该怎么解决?
OpenCV.VideoCapture(0),0代表内置相机,1代表外置相机,往下衍生。我从0检索到10都没有发现

问题补充:


调用成功后,给了一束光,可以看到明显分成5分。有朋友遇到过这种现象吗?

等月亮爬上坡的主页 等月亮爬上坡 | 初学一级 | 园豆:12
提问于:2023-10-09 14:16
< >
分享
最佳答案
0

目前已经解决了。cv2调用海康相机需要安装directshow插件才能被检测到。这是对第一个问题的解决。该插件获取的图像大小要和MSV的指定图像大小一致,directshow的图像大小无法改变,因此,在msv上将图像大小改为640x480即可。这是对第二个问题的解决。目前问题已经全部解决

等月亮爬上坡 | 初学一级 |园豆:12 | 2023-10-26 17:45
其他回答(1)
0

你试试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 | 园豆:1534 (小虾三级) | 2023-10-12 13:29

我那段代码是个截图程序

支持(0) 反对(0) echo_lovely | 园豆:1534 (小虾三级) | 2023-10-12 13:29

@echo_lovely: 感谢你的帮忙。已经解决了。我给忘记更新了。

支持(0) 反对(0) 等月亮爬上坡 | 园豆:12 (初学一级) | 2023-10-12 13:31

@等月亮爬上坡: 摄像头没装驱动?

支持(0) 反对(0) echo_lovely | 园豆:1534 (小虾三级) | 2023-10-12 13:32

@echo_lovely: 我在海康威视的官网查了一下,他们的相机要在sdk下载专门的插件才可以被cv2检索到

支持(0) 反对(0) 等月亮爬上坡 | 园豆:12 (初学一级) | 2023-10-12 13:32

@等月亮爬上坡: 想着就是,海康的设备需要用sdk来驱动,或者用opencv拿相机的
rtsp流

支持(0) 反对(0) echo_lovely | 园豆:1534 (小虾三级) | 2023-10-12 13:33

不过连接成功之后,相机有分屏现象。现在正在想办法

支持(0) 反对(0) 等月亮爬上坡 | 园豆:12 (初学一级) | 2023-10-12 13:33

@等月亮爬上坡: 你这不是两个摄像头吗?你的不会是双目全景相机吧?

支持(0) 反对(0) echo_lovely | 园豆:1534 (小虾三级) | 2023-10-12 13:35

@echo_lovely: 不是,只用到了一个相机。

支持(0) 反对(0) 等月亮爬上坡 | 园豆:12 (初学一级) | 2023-10-12 13:36

@等月亮爬上坡: 利用海康的sdk中python的demo进行开发

支持(0) 反对(0) echo_lovely | 园豆:1534 (小虾三级) | 2023-10-12 13:37

@echo_lovely: 目前我也是这么想的,要是不行,只能换相机了

支持(0) 反对(0) 等月亮爬上坡 | 园豆:12 (初学一级) | 2023-10-12 13:39

目前已经解决了。cv2调用海康相机需要安装directshow插件才能被检测到。这是对第一个问题的解决。该插件获取的图像大小要和MSV的指定图像大小一致,directshow的图像大小无法改变,因此,在msv上将图像大小改为640x480即可。这是对第二个问题的解决。目前问题已经全部解决

支持(0) 反对(0) 等月亮爬上坡 | 园豆:12 (初学一级) | 2023-10-26 17:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册