如何从视觉捕捉卡访问数据到opencv?

我正在尝试将数据从内窥镜获取到 python 中的 opencv 代码中。内窥镜机器有一个 dvi 输出,我有一个 Datapath 视觉采集卡,可帮助将其读入我的系统。我知道 opencv 只能从 USB 摄像头或 ip 网络摄像头读取。我想知道是否有人对 opencv 进行过这种阅读?

慕莱坞森
浏览 125回答 2
2回答

吃鸡游戏

这是我在论坛中找到的答案,如果这可能有帮助的话!我不知道 dvi-ffmpeg 之间的区别!检查是否有将 dvi 输出转换为 ffmpeg 的选项。--------------在下面回答--------------我试图通过 ffmpeg 管道到标准输出,以便它可以被 OpenCV 读取。似乎 streamlink 可以直接通过管道传输到标准输出。当我有机会的时候,我也可能会搞砸。终于得到了。我以前将图像保存到磁盘,然后将它们读入 opencv。那行得通,但此解决方案有助于避免持续图像流的磁盘写入/读取成本。最终为我解决的是:使用命名管道管道 ffmpeg 输出到命名管道然后使用 cv2.VideoCapture 从该管道读取创建命名管道:if os.path.isfile("/tmp/stream"):    os.remove("/tmp/stream")else:    call(["mkfifo", "/tmp/stream"])ffmpeg 调用:p = Popen(["ffmpeg -c:v h264 -i pipe:0 -r 1 -f image2pipe - > /tmp/stream"], stdout = PIPE, bufsize=10**8, shell=True)recordStatus = p.poll()        # check PIPE status every once in a while to make sure it hasn't closed early用opencv读取:path = "/tmp/stream"raw_image = cv2.VideoCapture(path)ret, frame = raw_image.read()希望这可以帮助!

红糖糍粑

可以将 DVI 流写入文件,FFMPEG/gstreamer 读取文件流,然后将输入通过管道传输到 OpenCV。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python