2017-02-13 169 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.'來調用'cvtColor()'。 – Soeren

+0

在C++中,名稱空間不是用於點而是與'cv :: cvtColor(src1,cv :: COLOR_BGR2YCR_CB)一樣''' –

回答

3

cv2不存在的命名空間。這是python包裝的名稱。

只是刪除行:

using namespace cv2; 

,並在代碼中不使用它,例如:

Mat imgYCC = cvtColor(src1, COLOR_BGR2YCR_CB); 
相關問題