gpt4 book ai didi

c++ - 使用 OpenCV 的多个摄像头

转载 作者:太空狗 更新时间:2023-10-29 23:19:41 26 4
gpt4 key购买 nike

我正在编写一个程序,使用 OpenCV 一次从两个相机获取捕获(我不是为了立体视觉而这样做)。使用标准的 OpenCV 函数 cvCaptureFromCAM() 从两个相同的相机获取捕获以及 cvQueryFrame() 在 while 循环中被调用两次(每次捕获一次),我当我在 cvNamedWindow 中显示它们时,最终会在两个相机中看到垃圾图像。

或者,如果我在各自的 POSIX 线程(因此具有相同的地址空间)中运行每个摄像头,我会在第二个线程中遇到段错误,我无法找出原因。

最后,我可以在其自己的进程中运行每个摄像头(因此单独的地址空间)并且一切运行良好。我怀疑在从不同的相机进行每个帧查询之前,必须获取某种锁定类型的资源。希望有人对如何在同一个进程和同一个线程中获取两个捕获有一些想法。谢谢!

最佳答案

什么操作系统?

这在很大程度上取决于相机及其驱动程序 - 特别是在使用 Directshow 的 Windows 上,如果它们一起工作,如果您需要以特定顺序或以特定方式启动它们,则很有可能。

如果你可以在单独的线程中独立运行相机并让它们通过一些中立系统(命名管道、tcp 套接字、ramdisk 中的文件)写入图像,你可能会发现更可靠

关于c++ - 使用 OpenCV 的多个摄像头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7437472/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com