我已经在MacOS上以32位模式编译了OpenCV,并且打开了quicktime并关闭了ffmpeg。 我的应用程序只是一个在窗口中显示网络摄像头输出的简单程序。该应用程序与我内置的iSight摄像头完美配合,macam应用程序与我的PS3 Eye完美配合,但我似乎无法让它们一起工作。
该应用程序适用于iSight
capture = cvCaptureFromCAM(0);
但是当我尝试使用PS3 Eye
时capture = cvCaptureFromCAM(1);
每次我尝试从相机中取出相框
frame = cvQueryFrame( capture );
我收到错误消息。
startNextBulkRead-ReadPipeAsync: Error: kIOUSBEndpointNotFound - Not found
我一直在努力让OpenCV使用我的PS3 Eye网络摄像头超过一周,但似乎无法让它正常工作。当我运行macam应用程序时,它完全从相机捕获,所以它似乎是某种兼容性/配置问题。任何帮助将不胜感激。
答案 0 :(得分:1)
我遇到了同样的问题(使用Mac OS X 10.7.2和最新的OpenCV)。这种行为完全不稳定,但错误信息的出现频率远远超过从相机中成功抓取图像。
OS X上的视频捕获情况很复杂,我们缺乏适合实时应用的跨平台视频捕获库。
但是,我建议你选择OpenFrameworks。它是一系列主要用于交互式艺术和原型设计的库。虽然提供了许多工具,如果你只想做一些计算机视觉,这些工具并不一定有用,那就是OpenCV和一个不错的视频捕捉设备,根据我的实验,可以正常使用PS3 Eye cam(并具有相当不错的帧率)
答案 1 :(得分:0)
我有同样的问题,我解决了。我做了几件事,所以我不知道哪一个是正确的,但这就是我所做的:将os x更新到最后一个版本,在我的情况下现在它是10.7.3。安装最后一个Xcode(使用apple dev工具等,qt很重要),我使用的Xcode版本是4.3.2。并将opencv编译为32位。