我想在给定图像中叠加图像。我创建了一个带有区域的面具,我可以在这里放置这张图片:
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
答案 0 :(得分:1)
如果我理解正确,您想将图像放在面具中完全为白色的区域(与图像一样大)中。
在这种情况下,为了获得有效区域,我会使用与要插入的图像大小相同的内核对掩码应用侵蚀。侵蚀后,所有有效区域将为白色。
你所展示的图像没有200 * 200个完全白色的区域,所以我一定有误解......
但是,如果要计算掩模中黑色最少的区域,可以应用模糊而不是侵蚀,并在模糊蒙版中查找最大强度像素。
在这两种情况下,您都要插入子图像,使其中心位于被侵蚀/模糊蒙版的位置最大强度像素上。
编辑:
如果您有兴趣找到距离任何黑色像素最远的区域来放置子图像,您可以将其中心定义为距离的最大值转换的面具。
祝你好运,