如何使用opencv查找多边形并显示为透明

时间:2012-11-09 15:15:58

标签: ios opencv uiimageview transparency blob

我有两个UIImageViews。第一个是在后台并包含一个图像。第二个是在前景中,它将被使用,以便用户可以追踪他在后台看到的部分内容。

用户跟踪区域后,我希望程序能够用我选择的颜色稍微透明的方式填充该多边形,这样就可以看到多边形下方的图像。

到目前为止,我所做的是能够显示图像并让用户进行跟踪。我可以使用填充填充多边形黑色,但外部区域是白色,而不是透明。这是我的工作:

cv::Mat input = [traceImageView.image CVMat];
cv::Mat output, finalOutput, mask;
cv::Rect rect;

cv::cvtColor(input, output, cv::COLOR_RGB2GRAY);
cv::floodFill(output, cv::Point(0, 0), cv::Scalar(255,0,0,0), &rect, cv::Scalar(0,0,0), cv::Scalar(0,0,0));

traceImageView.image = [UIImage imageWithCVMat:output];

以下是输出结果:

output http://www.mulvaandgipple.com/blob.png

结果是前面的图像完全覆盖了它背后的图像。我希望多边形外面的白色是透明的。关于如何做到这一点的任何想法?

0 个答案:

没有答案