【发布时间】:2016-09-09 02:50:56
【问题描述】:
我有许多包含多个矩形的灰度输入图像。其中一些重叠,一些超出图像的边界。示例图像可能如下所示:
现在我必须将矩形缩小到它们的边界。我的想法是使所有距边界小于N(例如3)像素的非白色像素或白色像素(使用曼哈顿距离)变为白色。输出应如下所示(抱歉,边框大小不同):
实现这一点并不难。不幸的是,实现必须很快,因为输入可能包含非常多的图像(例如 100'000),用户必须等到这一步完成。
我考虑过使用fromimage,然后用 numpy 做所有事情,但我没有找到好的解决方案。
也许有人有想法或暗示如何非常有效地解决这个问题?
【问题讨论】:
-
您当前的实施速度有多快? :)
-
我没有实现它,因为我会用循环来实现它(类似于stackoverflow.com/questions/39159345/…)。但这是令人难以置信的缓慢。嵌套循环可能更糟。在发布的链接中,我需要几秒钟才能获得约 1'000 张图像。这就是为什么我希望有一个好的技巧/算法来做到这一点。
标签: python-2.7 numpy image-processing rectangles