我是OpenCV的绝对乞丐。我已经安装了2.4.10版本。我写了这个简单的脚本,它有效:
#include "opencv\cv.h"
#include "opencv\ml.h"
#include "opencv\cxcore.h"
#include "opencv\highgui.h"
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char* argv[])
{
IplImage* img = cvLoadImage("C:/Users/Me/Desktop/photo.jpg", 0);
cvNamedWindow("Example");
cvShowImage("Example", img);
cvReleaseImage(&img);
cvDestroyWindow("Example");
return 0;
}
但我想避免使用指针。 我尝试用这个函数替换选定的行:
Mat img = imread("C:/Users/Me/Desktop/photo.jpg", CV_LOAD_IMAGE_UNCHANGED);
if (img.empty())
{
return -1;
}
namedWindow("MyWindow", CV_WINDOW_AUTOSIZE);
imshow("MyWindow", img);
失败了: 该程序&#39; [4296] Project1.exe&#39;已退出代码-1(0xffffffff)。
我不知道为什么IplImage *可以工作但是Mat不行?有什么区别?也许我没有附上合适的图书馆?