我正在使用OpenCV 2.2和visual studio 2010在win 7 64 bit pc上.
我可以通过OpenCV显示图片和播放AVI文件,如"学习OpenCV"一书中所述,但我无法捕捉网络摄像头图像.即使与OpenCV文件一起提供的样本也无法访问网络摄像头.
我被问到"视频源 - >捕获源",有两种选择:HP webcam Splitter和HP网络摄像头.如果我选择HP网络摄像头,窗口会立即关闭而不会显示任何错误.(我认为任何错误信息都太快,无法在关闭之前看到).如果我选择HP Webcam splitter,那么网络摄像机图像(视频)应该出现的新窗口将填充均匀的灰色.网络摄像头LED亮起但没有看到视频.我的网络摄像头适用于flash(www.testmycam.com)和DirectShow http://www.codeproject.com/KB/audio-video/WebcamUsingDirectShowNET.aspx
我尝试使用以下方法获取一些错误消息:
#include "cv.h"
#include "highgui.h"
#include <iostream>
using namespace cv;
using namespace std;
int main(int, char**)
{
VideoCapture cap("0"); // open the default camera
if(!cap.isOpened()) // check if we succeeded
{
cout << "Error opening camera!";
getchar();
return -1;
}
Mat edges;
namedWindow("edges",1);
for(;;)
{
Mat frame;
cap >> frame; // get a new frame from camera
cvtColor(frame, edges, CV_BGR2GRAY);
GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5);
Canny(edges, edges, 0, 30, 3);
imshow("edges", edges);
if(waitKey(30) >= 0) break;
}
// the camera will be deinitialized automatically in VideoCapture destructor
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误信息是:
warning: Error opening file (C:\Users\vp\work\ocv\opencv\modules\highgui\src\cap
_ffmpeg.cpp:454)
Error opening camera!
Run Code Online (Sandbox Code Playgroud)
我不知道这个"cap_ffmpeg.cpp"是什么,我不知道这是否与爱管闲事的"HP Media Smart"有什么关系.
任何帮助将不胜感激.
小智 12
我在Windows 7 64位上遇到了同样的问题.我必须重新编译opencv_highgui,在属性页面的C/C++面板中更改"Preprocesser Definitions",以包括:
HAVE_VIDEOINPUT HAVE_DSHOW
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
28882 次 |
| 最近记录: |