2014-11-26 18 views
5

Udało mi się napisać narzędzie, które konwertuje przestrzeń kolorów obrazu z liniowej na sRGB, więc opencv działa. Następnie chciałem przeskalować obraz za pomocą funkcji cv :: resize, aby wygenerować miniatury. Jednak nie zadziałało, tutaj jest odtworzony fragment kodu.OpenCV resize nie jest członkiem cv (OpenCV Basics)

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

using namespace std; 

int main(int argc, char** argv) 
{ 
    // Load images in the C++ format 
    cv::Mat img = cv::imread("something.jpg"); 
    cv::Mat src = cv::imread("src.jpg"); 

    // Resize src so that is has the same size as img 
    **cv::resize**(src, src, img.size()); 

    return 0; 
} 

Używam OpenCV 2.4.8. Co ja robię źle?

Odpowiedz

9

jesteś brakuje pliku nagłówka:

#include "opencv2/imgproc/imgproc.hpp" 

(OFC, trzeba połączyć opencv_imgproc, zbyt)

#include "opencv2/opencv.hpp" 

by uniknąć 1st błąd, ale trzeba jeszcze dbać dla poprawnych bibliotek

+0

omg ... ok, skąd mam wiedzieć, która funkcja jest w której nagłówku? – user1767754

+2

prawdopodobnie, [patrząc na dokumenty] (http://docs.opencv.org/) pomaga (są one uporządkowane według modułów, i jest 1 nagłówek na moduł) – berak

+0

Już miałem biblioteki i biblioteki DLL dodane poprawnie, myślę, że Wcześniej włączałem "opencv2/opencv.hpp". To, dlaczego nigdy nie miałem problemów z włączeniem. – user1767754