2016-09-08 68 views
0

我有許多包含幾個矩形的灰度輸入圖像。其中一些重疊,一些越過圖像的邊界。一個例子圖像看起來是這樣的:Python:將圖像上的矩形縮小到其邊框

enter image description here

現在我不得不減少矩形到他們的境界。我的想法是製作所有非白色像素,這些像素距邊界小於N(例如3)像素或白色像素(使用Manhatten距離)小於白色。輸出應該是這樣的(對不起,不同大小的邊框):

enter image description here

這是不是很難實現這一點。不幸的是,實施必須快速,因爲輸入可能包含極其多的圖像(例如100'000),並且用戶必須等到該步驟完成。

我曾考慮過使用fromimage,然後用numpy做所有事情,但我沒有找到一個好的解決方案。

也許有人有一個想法或提示如何解決這個問題非常有效?

+0

速度有多快你的當前實現更大的像素? :) –

+0

我沒有實現它,因爲我會這樣做循環(類似於https://stackoverflow.com/questions/39159345/python-adding-noise-to-images-is-very-slow)。但這是非常慢的。嵌套循環可能更糟糕。在發佈的鏈接中,我需要幾秒鐘來拍攝〜1'000張圖片。這就是爲什麼我希望有一個很好的技巧/算法來做到這一點。 –

回答