首先是代码:
#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main( int argc, char** argv )
{
Mat image;
image = imread( "MyPic.jpg", CV_LOAD_IMAGE_GRAYSCALE );
if( !image.data )
{
printf( "No image data \n" );
return -1;
}
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE);
imshow( "Display Image", image );
waitKey(0);
return 0;
}
一个简单的程序,只需加载一个名称为&#34; MyPic.jpg&#34; ,这是我在开放的CV网站文档中找到的一个例子(稍作修改)。它给了我这两个错误:
‘CV_LOAD_IMAGE_GRAYSCALE’ was not declared in this scope
‘CV_WINDOW_AUTOSIZE’ was not declared in this scope
为什么不起作用?怎么了?
答案 0 :(得分:1)
我将我的评论作为答案,以便面对此问题的其他人可以轻松找到解决方案。
您使用的是主干还是OpenCV的发布版本?如果是前者,那么您应该使用IMREAD_GRAYSCALE
和WINDOW_AUTOSIZE
代替。可以在this link中找到新文档,包括函数调用的更改等。
HTH