Opencv标志不起作用

时间:2014-03-20 23:39:42

标签: c++ opencv

首先是代码:

#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

为什么不起作用?怎么了?

1 个答案:

答案 0 :(得分:1)

我将我的评论作为答案,以便面对此问题的其他人可以轻松找到解决方案。

您使用的是主干还是OpenCV的发布版本?如果是前者,那么您应该使用IMREAD_GRAYSCALEWINDOW_AUTOSIZE代替。可以在this link中找到新文档,包括函数调用的更改等。

HTH