【问题标题】:OpenCV 2.3.0+: cvCaptureFromCAM returns nullOpenCV 2.3.0+:cvCaptureFromCAM 返回 null
【发布时间】:2011-10-07 13:52:12
【问题描述】:

我试图让一个应用程序在 Ubuntu 11.04 下与 OpenCV 2.3.0(稳定)和最新的 SVN-Revision 一起使用。该代码在 Windows 下完美运行。

//includes etc...
int main(){
CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANY );


if ( !capture ) { //is always "NULL" here
    fprintf( stderr, "ERROR: capture is NULL \n" );
    getchar();
    return -1;
}
}

OpenCV 2.3 工作过一次,但现在它自上次 Ubuntu 更新或其他东西以来拒绝工作。 是否有可能让较新的库工作?

我恢复到现在可以使用的 Ubuntu 附带的库,但如果我能说服最新的稳定版本也可以工作,那就太好了。

【问题讨论】:

  • 在 Ubuntu 更新后,您的网络摄像头是否可以与任何已安装的软件一起使用?
  • 是不是有软件自己抢相机?例如 Skype 在启动时突然做视频并挂在相机上
  • 是的,我恢复到 Ubuntu 附带的 2.1.0。现在它又可以工作了。奶酪可以正常工作,因此网络摄像头可以正常工作。该凸轮无需任何其他软件即可工作,因此不需要第三方应用程序。即使没有其他运行,此函数的返回也是 NULL。所以没有第三个应用程序冲突。我注意到 2.1 版的性能损失很大,所以我要安装新版本。
  • 相机捕捉在 ubuntu 12.04 上开箱即用(使用 guvcview 测试)。我怀疑某些视频后端(ffmpeg)未编译/包含。尝试在启用 ffmpeg 的情况下自己构建 opencv。
  • 已经两年了 :) 我有点失去了这篇文章。无论如何,时间可以治愈伤口,因此更新版本 2.4 中的 OpenCV 再次工作。一个模组。可能会将其标记为已关闭...

标签: c linux ubuntu opencv


【解决方案1】:

您可以尝试使用strace 并查看哪个步骤失败。例如,它可能会尝试打开不存在的设备文件 (/dev/something),或者您可能会遇到访问许可问题。总之,

【讨论】:

  • 当我降级到现在可以使用的 OpenCV 2.1 时,我没有更改权限。如果有权限问题,它现在不应该工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-02
  • 2012-05-13
  • 1970-01-01
相关资源
最近更新 更多