2014-11-26 14 views
5

Ho scritto con successo uno strumento che converte lo spazio dei colori di un'immagine da lineare a sRGB, quindi opencv sta funzionando. Quindi ho deciso di ridimensionare l'immagine con la funzione cv :: resize per generare miniature. Tuttavia non ha funzionato, ecco il codice di esempio riprodotto.OpenCV resize non è un membro di 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; 
} 

Sto usando OpenCV 2.4.8. Che cosa sto facendo di sbagliato?

risposta

9

ti manca un file di intestazione:

#include "opencv2/imgproc/imgproc.hpp" 

(OFC, è necessario collegare opencv_imgproc, troppo)

#include "opencv2/opencv.hpp" 

avrebbe evitato il primo errore, ma si devono ancora prendersi cura per le librerie corrette

+0

omg ... ok come faccio a sapere, quale funzione è in quale intestazione? – user1767754

+2

probabilmente, [guardando i documenti] (http://docs.opencv.org/) aiuta (sei ordinato dai moduli, e c'è 1 header per modulo) – berak

+0

Ho già aggiunto libs e dlls correttamente, penso Prima includevo "opencv2/opencv.hpp". Questo perché non ho mai avuto problemi con include. – user1767754