2017-02-13 17 views
-1

Ich versuche, den folgenden Code auszuführen und das RGB-Bild in YCbCr-Farbmodell zu konvertieren. Beim Erstellen dieses Codesegments wird jedoch der obige Fehler angezeigt. Ich habe einen Screenshot beigefügt. Können Sie das beziehen und mir eine Lösung geben?Name muss ein Namespace sein Name Visual Studio Fehler

#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

bedeutet dies, dass kein Namespace 'cv2' existiert. Ich denke du kannst 'cvtColor()' ohne 'cv2' aufrufen. – Soeren

+0

In C++ werden Namespaces nicht mit einem Punkt verwendet, sondern '::' wie 'cv :: cvtColor (src1, cv :: COLOR_BGR2YCR_CB);' –

Antwort

3

Der Namespace cv2 existiert nicht. Es ist der Name des Python-Wrappers.

Entfernen Sie einfach die Zeile:

using namespace cv2; 

und es nicht in Ihrem Code verwenden, z.B .:

Mat imgYCC = cvtColor(src1, COLOR_BGR2YCR_CB); 
Verwandte Themen