2017-02-13 20 views
-1

次のコードを実行し、RGBイメージをYCbCrカラーモデルに変換しようとしています。しかし、このコードセグメントをビルドすると、上記のエラーが発生します。スクリーンショットを添付しました。それを参照して解決策を教えてください。名前は名前空間名でなければなりませんVisual Studioエラー

#include "opencv2/core/core.hpp" 
#include "opencv2/highgui/highgui.hpp" 
#include "opencv2/imgproc/imgproc.hpp" 
#include "iostream" 
#include "opencv2/opencv.hpp" 

using namespace cv; 
using namespace cv2; 
using namespace std; 

int main() 
{ 
    Mat src1; 
    src1 = imread("face.jpg", CV_LOAD_IMAGE_COLOR); 
    namedWindow("Original image", CV_WINDOW_AUTOSIZE); 
    imshow("Original image", src1); 

    Mat gray, edge, draw; 
    //cvtColor(src1, gray, CV_BGR2GRAY); 
    Mat imgYCC = cv2.cvtColor(src1, cv2.COLOR_BGR2YCR_CB); 

    //equalizeHist(gray, draw); 
    //Canny(gray, edge, 50, 255, 3); 
    edge.convertTo(draw, CV_8U); 
    namedWindow("image", CV_WINDOW_AUTOSIZE); 
    imshow("image", imgYCC); 

    waitKey(0); 
    return 0; 
} 

enter image description here

+0

それは名前空間 'cv2'が存在しないことを意味します。私は 'cv2.Color()'を 'cv2.'なしで呼び出すことができると思います。 – Soeren

+0

C++では、名前空間はドットでは使用されませんが、 'cv :: cvtColor(src1、cv :: COLOR_BGR2YCR_CB);のように' :: ' –

答えて

3

名前空間cv2は存在しません。 Pythonラッパーの名前です。

ジャストライン削除:

using namespace cv2; 

をし、例えば、あなたのコードでは使用しないでください。:

Mat imgYCC = cvtColor(src1, COLOR_BGR2YCR_CB); 
関連する問題