OPEN CV程序执行错误



我在eclipse中运行下面的代码,我已经成功地包含了路径和库,但是当运行代码时它显示了一个错误。

 #include <cv.h>
 #include<stdio.h>
 #include <highgui.h>
  //using namespace cv;
 int main()
{     
 Mat image;
 image = imread( argv[1], 1 );
 if( argc != 2 || !image.data )
  {
    printf( "No image data n" );
    return -1;
  }
 namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
 imshow( "Display Image", image );
 waitKey(0);
   printf("this is open cv programming");
  return 0;
}

您的main()签名不完整

int main(int argc, char* argv[])

这些参数表示:

argc  // an int indicating the number of arguments passed in to the function
argv[]  // an array of character strings, the actual arguments.

第一个参数argv[0]是程序名…所以argc总是最小值为1。

第二个参数argv[1]将是用户传递的第一个参数,使argc的值增加到2。这就是您的程序所期望的,来自用户的单个参数argc == 2。

尝试使用最新版本的OpenCV,即2.4.3....然而,现在你可以尝试链接调试库,例如openv_core2.4。xd并运行该程序以使Mat图像格式工作。

你使用的是什么版本的opencv ?尝试下面的代码并测试…获取一些图片并运行....

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
  Mat im = imread("C:\some_picture.jpg");
  if(im.empty())
     return -1;
  imshow("TEST",im);
  waitKey();
  return 0;
}

相关内容

  • 没有找到相关文章

最新更新