我在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;
}