使用Windows试图使用cvCreateCameraCapture(0)打开我的网络摄像头;或cvCaptureFromCAM(0),但是当我按ok时,它只是打开摄像机中的“视频源”窗口,没有任何反应,它返回null,有时会出现黑屏
虽然相机在使用C ++ API VideoCapture时可以工作,但是我需要使用C API
安装了quicktime并尝试了-1,1,2,...... 1000而不是0的任何帮助:D?
#include "opencv2\highgui.hpp"
#include <iostream>
using namespace std;
using namespace cv;
//cvCapture
int main()
{
IplImage * s;
namedWindow("l");
CvCapture* v = cvCreateCameraCapture(0);
while (1)
{
if( s = cvQueryFrame(v))
{
cvShowImage("l", s);
cout << "in";
}
if (char c = waitKey(10) == 27) break;
}
cvReleaseCapture(&v);
cvDestroyWindow("l");
return 2;
}
Here's what i get
当我按确定时,什么也没发生,它保持灰色窗口
如果我替换为它可以工作,但是我需要使用C API(cvCreateCameraCapture)
int main()
{
VideoCapture v(0);
namedWindow("l");
if (!v.isOpened())return 2;
while (1)
{
Mat f;
v.read(f);
imshow("l", f);
if (char c = waitKey(10) == 27) break;
}
cvDestroyWindow("l");
}
最佳答案
这是一个known issue
我个人通过再次合并deleted part并构建dll解决了该问题。
在这里cap.cpp和cap_dshow.cpp
如果您使用这些文件重建OpenCV 3.0 dll,则将解决您的问题。否则,您可以打开描述问题的问题here并等待开发人员的解决方案或使用OpenCV 2.4.12
关于c++ - 无法通过cvCreateCameraCapture访问OpenCV 3.0摄像机,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33710515/