2012-08-04 62 views
1

我想覆盖给定的图片中的图片。我创建了一个面具与区,在那里我可以把这样的画面:如何用给定的蒙版覆盖图片

Image Hosted by ImageShack.us http://img560.imageshack.us/img560/1381/roih.jpg

的问题是,白色区域中包含黑色区域,在这里我不能忍受的对象。

如何有效地计算子图像必须放置的位置?我知道一些功能,如PointPolygonTest。但这需要很长时间。

编辑:

覆盖图像必须放在白色的地方。 例如在蓝色矩形的地方。

Image Hosted by ImageShack.us http://img513.imageshack.us/img513/5756/roi2d.jpg

回答

1

如果我理解正确的话,你想放的图像中的区域(大如图像)是在面膜完全变白。

在这种情况下,为了获得有效的区域,我将侵蚀应用于使用与要插入的图像大小相同的内核的掩码。侵蚀后,所有有效区域将变为白色。

但是您展示图像没有200米* 200的区域是全白的,所以我一定误解......

但是,如果你有什么用最少的黑色面具计算区域,你可以应用模糊而不是侵蚀并查找模糊蒙版中的最大强度像素。

在这两种情况下,您都希望插入子图像,使其中心位于被侵蚀/模糊蒙版的位置最大强度像素上。

编辑:

如果你有兴趣在寻找那将是最远离任何黑色像素把子图像的区域,您可以定义其作为距离的最大值中心转换的面具。

祝你好运,

+0

嗨,SRY的图像下采样,所以大小不匹配。我会用高斯金字塔来测试它。谢谢 – 2012-08-04 21:49:42

+0

在这种情况下,一个简单的侵蚀将工作 – 2012-08-04 21:51:56

+0

但我怎么能找到该地区(CvPoint),我可以把图像? – 2012-08-04 21:54:03