OpenCV cvCaptureFromCAM returns zero
OpenCV cvCaptureFromCAM returns zero
我在笔记本电脑上安装了OpenCV 2.1,并试图实现一个人脸检测程序。我在我的项目中使用罗技C210。我知道相机是可以的,因为软件检测并显示它,并在样本目录中启动facedetect.exe显示相机正在工作。但不知何故,当使用原来的facedetect.cpp代码在我的VS2010 Ultimate我甚至不能得到cvCaptureFromCAM工作!下面是我的代码:
#include "stdafx.h"
#include <iostream>
#include "cv.h"
#include "highgui.h"
using namespace std;
using namespace cv;
int main(int, char**) {
IplImage* frame;
// CvCapture* cap = cvCaptureFromCAM(-1);
// cvNamedWindow( "Example2_9", CV_WINDOW_AUTOSIZE );
CvCapture* capture;
cvWaitKey(20);
capture = cvCreateCameraCapture( -1 ); //yes, if 0 doesn't work try with -1
//assert( capture != NULL );
for(;;) {
frame = cvQueryFrame(capture);
if(frame == NULL)
return -1;
imshow("cap", frame);
if(waitKey(30) >= 0)
break;
}
}
好了,这不是真正的facedetect代码(它太长了),但它突出了这里的问题,它认为:
使用断点,我发现cvCaptureFromCAM之后的值捕获是0x000000。这不应该发生的,对吧?谁能告诉我发生了什么事?
尝试重复调用。请参考我的类似问题。如何避免"视频源"->捕捉source"OpenCV 2.3.0 - Visual c++ 2008中的选择
尝试升级到OpenCV 2.4.2。不是完全相同的问题(对我来说,使用v2.2.0时queryFrame()总是返回NULL),但现在它像魅力一样工作。可能只是兼容性问题
相关文章:
- 如何在 Boost.Asio 中使用 Zero-copy sendmsg/receive
- 将"模板<类型名 T>zero()"扩展/专用为可调用的"T"
- CreateWICTextureFromFile returns E_NOINTERFACE
- Raspberry Pi Zero W 上的 OpenCV - 浮点异常
- C++ OpenCV Randu 函数抛出'Integer division by zero'
- cl::Event::waitForEvents returns -7 (CL_EXEC_STATUS_ERROR_ F
- 为什么我的代码在"decrease to zero"问题中被时间超过了
- vector[0].getPosition() returns 0
- CreateInputLayout returns E_INVALIDARG
- "ndk-build finish with non-zero exit value 2" 在编译文本仙女项目时
- ldap_search_s returns LDAP_OPERATIONS_ERROR
- Epoll zero recv() and negative(EAGAIN) send()
- CreateCompatibleDC(IntPtr.Zero) returns IntPtr.Zero
- glUniformLocation returns -1
- QT5.10.1交叉编译为Raspberry Pi Zero W使用EGLF而不是XCB
- DirectX9 CreateOffscreenPlainSurface returns D3DERR_INVALIDC
- Windows到Raspberry Pi Zero串行问题
- OpenGL glReadPixels returns 0
- c++ static_cast returns zero
- OpenCV cvCaptureFromCAM returns zero