2017-02-13 4 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

:, 예컨대을

using namespace cv2; 

및 코드에서 사용하지 마십시오 :

그냥 선을 제거합니다. 'cv2.'없이 'cvtColor()'를 호출 할 수 있다고 생각합니다. – Soeren

+0

C++에서 네임 스페이스는 점으로 사용되지 않지만'cv :: cvtColor (src1, cv :: COLOR_BGR2YCR_CB) '와 같이'::' –

답변

3

cv2이 존재하지 않는 공간. 파이썬 래퍼의 이름입니다. 이 네임 스페이스는`cv2`이 없음을 의미

Mat imgYCC = cvtColor(src1, COLOR_BGR2YCR_CB); 
관련 문제