2013-04-16 4 views
7

私はUbuntu 12.04でOpenCV2を使用しています。画像読み取り表示コードを正常に実行できます。 しかし、私はinbuilt関数でコードを実行することができません。 cvtColor()OpenCv2 cvtColor()が動作しません

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

#include <stdio.h> 

int main(int argc, char *argv[]) 
{ 
    cv::Mat image = cv::imread("img.jpg"); 

    if(image.data == NULL) 
    { 
     printf("file cannot be loaded\n"); 
     return 1; 
    } 

    cv::namedWindow("My"); 
    cv::imshow("My", image); 

    cv::Mat result; 
    cv::cvtColor(image, result, CV_BGR2Luv); 

    cv::imwrite("outImg.jpg", result); 

    cv::waitKey(0); 

    return 0; 
} 

私は--libsでコンパイルした後、私のOpenCVの のためのQtクリエーターを使用しています、--cflags私はコンパイルエラーを以下の取得:私はこの問題を解決する助けてください

make: Entering directory `/home/swaroop/Work/ai-junkies/cuda/uc_davis/opencv2.x/OpenCV2Test' 
g++ -g -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4 -I/usr/include/opencv -I. -o main.o main.cpp 
main.cpp: In function 'int main(int, char**)': 
main.cpp:22:29: error: 'CV_BGR2Luv' was not declared in this scope 
main.cpp:22:39: error: 'cvtColor' was not declared in this scope 

opencv2/imgproc/imgproc.hpp

で宣言さ

答えて

16

cvtColorは、それはあなたが含まれて無理に関係のものをテストしていない場合、あなたは、単に1を持つことができ、また

#include <opencv2/imgproc/imgproc.hpp> 
+0

あなたは正しいです。私は#include する必要がありました。 – mkuse

+0

インクルードするヘッダーファイルを(尋ねずに)知る簡単な方法はありますか? – PaulrBear

6

を#IMPORTないの#includeだ心に留めておきます行:

#include <opencv2/opencv.hpp> 

であり、ほとんどのopencv2ヘッダーが含まれます。

関連する問題