2015-07-01 75 views
2

我已经安装了opencv 3.0,并验证其正常工作。然后开始加载和显示一个图像给我错误,指出 'CV_LOAD_IMAGE_COLOR'没有在此范围内声明的教程。我通过类似的帖子,但没有帮助opencv加载和显示图像

这里是code.Any帮助非常感谢。

#include <opencv2/core/core.hpp> 
#include <opencv2/highgui/highgui.hpp> 
#include <iostream> 

using namespace cv; 
using namespace std; 

int main(int argc, char** argv) 
{ 
    if(argc != 2) 
    { 
    cout <<" Usage: display_image ImageToLoadAndDisplay" << endl; 
    return -1; 
    } 

    Mat image; 
    image = imread(argv[1], CV_LOAD_IMAGE_COLOR); // Read the file 

    if(! image.data)        // Check for invalid input 
    { 
     cout << "Could not open or find the image" << std::endl ; 
     return -1; 
    } 

    namedWindow("Display window", WINDOW_AUTOSIZE);// Create a window for display. 
    imshow("Display window", image);     // Show our image inside it. 

    waitKey(0);           // Wait for a keystroke in the window 
    return 0; 
} 
+1

标志被改变为[IMREAD_COLOR等](http://docs.opencv.org/ref/master/d4/da8/group__imgcodecs.html#gga61d9b0126a3e57d9277ac48327799c80af660544735200cbe942eea09232eb822) – berak

回答

1

的OpenCV的3.0的文档可以在这里找到:http://docs.opencv.org/3.0.0/d4/da8/group__imgcodecs.html

负责imread目前枚举是:

enum cv::ImreadModes { 
    cv::IMREAD_UNCHANGED = -1, 
    cv::IMREAD_GRAYSCALE = 0, 
    cv::IMREAD_COLOR = 1, 
    cv::IMREAD_ANYDEPTH = 2, 
    cv::IMREAD_ANYCOLOR = 4, 
    cv::IMREAD_LOAD_GDAL = 8 
} 

这意味着你需要使用的OpenCV 3.0,而不是cv::CV_LOAD_IMAGE_COLOR时使用cv::IMREAD_COLOR

image = imread(argv[1], IMREAD_COLOR); // Read the file 
0

CV_LOAD_IMAGE_COLOR在opencv2/imgcodecs/imgcodecs_c.h中声明。 因此,你需要添加

#include<opencv2/imgcodecs/imgcodecs_c.h> 

此外,你可以只包括一个头文件

#include <opencv2/opencv.hpp> 

而不是单独包括在OpenCV中的所有头文件。