Visual studio 2010 OpenCV Visual Studio视频I/O不工作

Visual studio 2010 OpenCV Visual Studio视频I/O不工作,visual-studio-2010,video,opencv,Visual Studio 2010,Video,Opencv,简介: 嗨,每当我试图从以下两个位置检索一些视频输入时,我都会遇到问题 从照相机中取出的文件或文件 我遵循书中给出的教程:使用 openCV库。我无法获得使用相机输入或视频文件输入工作的示例。这些例子是2-2和2-9 代码: im用于示例2-2视频输入的代码为: #include "stdafx.h" #include "highgui.h" #include <cv.h> int main( int argc, char** argv ) { cvNamedWindow( "E

简介:

嗨,每当我试图从以下两个位置检索一些视频输入时,我都会遇到问题 从照相机中取出的文件或文件

我遵循书中给出的教程:使用 openCV库。我无法获得使用相机输入或视频文件输入工作的示例。这些例子是2-2和2-9

代码:

im用于示例2-2视频输入的代码为:

#include "stdafx.h"
#include "highgui.h"
#include <cv.h>


int main( int argc, char** argv ) {
cvNamedWindow( "Example2", CV_WINDOW_AUTOSIZE );
CvCapture* capture = cvCreateFileCapture( "C:\\Users\\$catia video tutorial 3.avi" );
IplImage* frame;

while(1) {
    frame = cvQueryFrame( capture );
    if( !frame ) break;
    cvShowImage( "Example2", frame );
    char c = cvWaitKey(33);
    if( c == 27 ) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( "Example2" );
}
   #include "stdafx.h"
   #include <highgui.h>
   #include <cv.h>


    int _tmain(int argc, _TCHAR* argv[])
{
    CvCapture* capture = cvCreateCameraCapture(-1);
    IplImage* frame;

while(1) {
    frame = cvQueryFrame( capture );
    //if( !frame ) break;
    cvShowImage( "Example2", frame );
    char c = cvWaitKey(33);
if( c == 27 ) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( "Example2" );
return 0;
}
im用于示例2-9摄像机输入的代码为:

#include "stdafx.h"
#include "highgui.h"
#include <cv.h>


int main( int argc, char** argv ) {
cvNamedWindow( "Example2", CV_WINDOW_AUTOSIZE );
CvCapture* capture = cvCreateFileCapture( "C:\\Users\\$catia video tutorial 3.avi" );
IplImage* frame;

while(1) {
    frame = cvQueryFrame( capture );
    if( !frame ) break;
    cvShowImage( "Example2", frame );
    char c = cvWaitKey(33);
    if( c == 27 ) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( "Example2" );
}
   #include "stdafx.h"
   #include <highgui.h>
   #include <cv.h>


    int _tmain(int argc, _TCHAR* argv[])
{
    CvCapture* capture = cvCreateCameraCapture(-1);
    IplImage* frame;

while(1) {
    frame = cvQueryFrame( capture );
    //if( !frame ) break;
    cvShowImage( "Example2", frame );
    char c = cvWaitKey(33);
if( c == 27 ) break;
}
cvReleaseCapture( &capture );
cvDestroyWindow( "Example2" );
return 0;
}
条件:

我同时向这两个例子寻求帮助的原因是因为我认为这两个例子的问题都是一样的!它们都是简短的例子

我在Windows7x64机器上使用的是OpenCV 2.2和VisualStudio2010

我已经添加了所有Opencv库,并在我的项目属性中正确地包含了文件

我的相机可以与其他程序一起正常工作

图像输入工作正常。这是视频,没有

输出:

示例2-2在调用cvCreateFileCapture函数时立即给出一个访问冲突异常。 示例2-9显示一个弹出窗口,要求我选择一个视频设备。显然,我选择的唯一选择是笔记本电脑附带的bisonCam。然后它打开一个空窗口,什么也不做。 在示例2-9中,摄像头led亮起。 所以…:


如果有人知道我错过了什么,我会非常感谢你的建议!!:D

尝试在文件命名时不使用美元符号$。这可能导致示例2-2出现问题。代码本身看起来不错。

您好,我认为在您的第一个示例中,问题在于您的路径。路径包含空间catia视频教程3.avi。请尝试将其重命名为catia_video_tutorial_3.avi。您也可以参考此非常小但非常有用的教程以获取帮助,您是自己构建OpenCV还是正在使用二进制文件?Misha&&skg谢谢。我已将路径更改为c://catia.avi。但是仍然调用相同的错误。我还没有构建任何二进制文件,尽管我不知道它们是否是VisualStudio2010所必需的。我会读更多关于它的内容。你想用双斜杠实现什么?这是用openCV定向文件的惯例。我不知道一般情况下是不是这样。