-1
我想掩盖彩色图像,但结果我得到的是一个全黑的图片,我的代码是:opencv的 - 掩盖了黑色图像的图像效果
Mat maskOriginal(Mat src, Mat original, Mat mask) {
original.copyTo(src, mask);
return src;
}
我的面具是一个通道(CV_8U)黑色/白色图像。 我的面具:
我想掩盖彩色图像,但结果我得到的是一个全黑的图片,我的代码是:opencv的 - 掩盖了黑色图像的图像效果
Mat maskOriginal(Mat src, Mat original, Mat mask) {
original.copyTo(src, mask);
return src;
}
我的面具是一个通道(CV_8U)黑色/白色图像。 我的面具:
请注意,如何使用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();
请上传掩码? – ZdaR
@Zdar - 编辑。 –
你可以显示你使用maskOriginal函数的地方吗? – Sunreef