1

我想在给定图像中叠加图像。我创建了一个带有区域的蒙版,我可以在其中放置这张图片:

图片由 ImageShack.us 托管 http://img560.imageshack.us/img560/1381/roih.jpg

问题是,白色区域包含一个黑色区域,我不能在其中放置物体。

我怎样才能有效地计算子图像必须放在哪里?我知道一些功能,例如PointPolygonTest. 但这需要很长时间。

编辑:

叠加图像必须放在白色地方的某个地方。例如在蓝色矩形的地方。

图片由 ImageShack.us 托管 http://img513.imageshack.us/img513/5756/roi2d.jpg

4

1 回答 1

1

如果我理解正确,您想将图像放在蒙版中完全白色的区域(与图像一样大)。

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

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

但是,如果您要计算蒙版中黑色最少的区域,您可以应用模糊而不是侵蚀,并在模糊蒙版中寻找最大强度像素。

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

编辑:

如果您有兴趣找到距离任何黑色像素最远的区域来放置子图像,您可以将其中心定义为掩码距离变换的最大值。

祝你好运,

于 2012-08-04T21:30:44.377 回答