Rob*_*ert 1 c c++ macos opencv
我遇到了一个问题,让标准的开放CV面部检测(facedetect)工作.网络摄像头亮起,但注意到发生,程序启动时有一个像这样的小尺寸窗口:

我正在一篇优秀的博客文章和示例代码中工作.我在这里做了什么:
安装OpenCV并获取OpenCV源代码
brew tap homebrew/science
brew install --with-tbb opencv
wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.6/opencv-2.4.6.tar.gz
tar xvzf opencv-2.4.6.tar.gz
Run Code Online (Sandbox Code Playgroud)facedetect使用标准分类器运行示例.
cd ~/opencv-2.4.6/samples/c
chmod +x build_all.sh
./build_all.sh
./facedetect --cascade="../../data/haarcascades/haarcascade_frontalface_alt.xml"
Run Code Online (Sandbox Code Playgroud)我可以修改C ++示例代码并重新编译和运行,但我不知道问题是什么.
有没有人有建议?
更新问题是图像来自cvQueryFrame空:
IplImage* iplImg = cvQueryFrame( capture );
frame = iplImg;
if( frame.empty() )
{
cout << "FRAME EMPTY\n"; // This is getting logged
break;
}
Run Code Online (Sandbox Code Playgroud)
更新:当源是静态图像时,它可以正常工作,因此问题与网络摄像头源有关.
您可以尝试本地化问题,您是否尝试从网络摄像头捕获图像并显示它,而不运行任何其他操作?
似乎有一个问题是通过OpenCV从网络摄像头捕获图像,这种问题可能由于硬件而发生,例如我的朋友macbook pro捕获的图像是320x240,而我的是640x480.我的朋友刚从相机设置改变了一个简单的配置,他的问题就解决了.你的问题可能是这样的.
或者您可以尝试使用某些图像运行面部检测器,您需要更改代码,以便从磁盘加载图像并尝试检测它们上的面部.如果它不能以这种方式工作,我们可以说你的问题不是相机,有一个更大的问题,或者如果它工作,我们可以肯定地说问题是网络摄像头.
编辑
如果您使用的是IplImage类型,请务必从相机中获取更多图像,有时第一张图像为空.
| 归档时间: |
|
| 查看次数: |
855 次 |
| 最近记录: |