【问题标题】:Segmentation Fault OpenCV / Facedetect.c / CentOS 6 64Bit分段错误 OpenCV / Facedetect.c / CentOS 6 64Bit
【发布时间】:2011-11-03 17:46:49
【问题描述】:

我现在尝试了几天来运行这段代码......

http://opencv.willowgarage.com/wiki/FaceDetection

...但没有成功。

1) 我在具有 2GHz 和 1GB RAM 的 VM 上使用 CentOS 6 64Bit。

2) 我已经在几个版本的操作系统上尝试过它,甚至在不同的发行版上,直到我终于找到了一个包(我认为它是 2.0.9 OpenCV for 64Bit),其中包含所有需要的软件。

3) 我安装了所有东西,并使用 build_all.sh 成功编译了 /samples/c 中的所有样本,只有 facedetect.c 和 people...c。没有编译。所以我搜索了另一个面部检测代码,并在上面的链接中找到了那个,它确实编译了!但是当试图从终端调用二进制文件时,我得到:“分段错误(核心转储)”。

我对c++一无所知(我是一名PHP/JS开发人员),经过一番研究,我发现错误与代码本身有关,可能与环境无关。

我只需要人脸的坐标,源是一个普通的图像文件,我只搜索“最大”的脸(图片上最主要的)。所以代码可以大大减少。不幸的是,我对 C++ 一无所知。我只需要一张普通图像的一个面的坐标,这样我就可以用 PHP 进一步处理这些坐标。

也许您还有替代代码(C/C++/Pyhton ... 没关系)。我试过原生的PHP实现,但是数据文件不如OpenCV的好。

提前致谢。 :)

【问题讨论】:

  • 只是为了澄清 - 你是自己编译 OpenCV 还是使用二进制包?
  • 我用过这个 .rpm rpm.pbone.net/index.php3/stat/4/idpl/16618134/dir/centos_6/com/… 我已经编译了 /samples/c/ 的内容,但是用安装程序安装了 OpenCV(不是用 cmake)。其他示例工作完美,只有 facedetect 和 peopledetect 不起作用(即使将代码中的路径编辑为例如 highgui)
  • 请同时指定您正在使用的级联文件,并检查您是否能够使用使用此包编译的任何其他 OpenCV 示例打开您的视频文件/相机。
  • 我正在使用默认的级联 haarcascade_frontalface_alt.xml 目前仅使用 lena.jpg 进行测试。我也尝试使用 cmake 64Bit 手动安装,但不幸的是我的 CentOS 不支持“make”,尽管它已安装。在 CentOS 5.4 上,手动安装可以正常工作(cmake/make/make install),但没有一个示例工作。目前大多数示例都在 CentOS 6 上运行,所以我想自己坚持使用这个版本。

标签: opencv segmentation-fault centos centos6


【解决方案1】:

我昨天调查了这个。 (见OpenCV (CvHaarClassifierCascade*) cvLoad doesn't load , unable to load xml file。)wiki 上的教程似乎与haarcascade_frontalface_alt_tree.xml 的当前版本不兼容。请改用this OpenCV 2 tutorial

【讨论】:

    猜你喜欢
    • 2018-08-06
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    相关资源
    最近更新 更多