2015-07-01 3 views
2

Я установил opencv 3.0 и подтвердил, что он правильно работает. Затем началось руководство по загрузке и отображению изображения, которое дало мне ошибки, указав, что «CV_LOAD_IMAGE_COLOR» не был объявлен в этой области. Я прошел аналогичные должности, но не помоглиopencv load and display image

и вот код. Любая помощь очень ценится.

#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 
} 

Это означает, что необходимо использовать cv::IMREAD_COLOR при использовании OpenCV 3.0 вместо cv::CV_LOAD_IMAGE_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.