2017-01-16 86 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 - 編輯。 –

+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();