我在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;
}
答案 0 :(得分:2)
您的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.
答案 1 :(得分:0)
尝试使用最新版本的OpenCV,即2.4.3 ....但是现在您可以尝试链接调试库,例如opencv_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;
}