2017-01-16 2 views
-1

검은 이미지에서 이미지 결과를 마스크,하지만 난 얻을 결과는 완전히 검은 이미지, 내 코드는 다음과 같습니다을 OpenCV - 나는 컬러 이미지를 마스크 할

Mat maskOriginal(Mat src, Mat original, Mat mask) { 

    original.copyTo(src, mask); 
    return src; 
} 

내 마스크는 하나 개의 채널입니다 (CV_8U) 흑백 이미지. 내 마스크 : enter image description here

+0

마스크도 업로드 하시겠습니까? – ZdaR

+0

@ Zdar - edited. –

+0

maskOriginal 함수를 사용하는 위치를 표시 할 수 있습니까? – Sunreef

답변

0

참고 : maskOriginal이 어떻게 사용되며 마스크 요소 유형에주의하십시오. 주어진 이미지의 경우 아래 코드는 입력 이미지의 가운데에 원을 유지하면서 나머지는 검정으로 채 웁니다.

cv::Mat img = cv::imread("image.png"); 
cv::Mat mask = cv::Mat::zeros(img.rows, img.cols, CV_8UC1); 

cv::circle(mask, cv::Point(img.cols/2, img.rows/2), 
      std::min(img.rows, img.cols)/2, cv::Scalar(255), -1); 

cv::Mat result; 
result = maskOriginal(result, img, mask); 

cv::namedWindow("result"); 
cv::imshow("result", result); 

cv::waitKey(); 
관련 문제