2016-09-08 20 views
0

複数の矩形を含む多くのグレースケール入力画像があります。それらの一部は重なり合い、一部は画像の境界線を越えて行きます。今、私は彼らの国境に長方形を削減する必要がPython:画像の矩形を境界線に縮小する

enter image description here

:例の画像は、次のようになります。私の考えは、白い画素をすべて白い画素にして、白い画素を白い画素(白い画素(Manhattenの距離を使用))を白にして、白い画素をすべてN(例えば3)画素以下にすることでした。出力は、(異なるサイズのボーダーのため申し訳ありません)、次のようになります。

enter image description here

これを実装するのは非常に難しいことではありません。入力は極端に多くの画像(例えば、100'000)を含む可能性があり、ユーザはこのステップが終了するまで待たなければならないため、実装は高速でなければならない。

私はfromimageを使用することを考え、numpyですべてを行いましたが、良い解決策が見つかりませんでした。

誰かがこの問題がどのように非常に効率的に解決されるのかというアイデアやヒントがあるのでしょうか?

+0

あなたの現在の実装方法は速いのですか?よりも大きな値を持つすべてのピクセルを計算しますか:) –

+0

私はそれがループ(https://stackoverflow.com/questions/39159345/python-adding-noise-to-images-is-very-slowに似ています)でそれを行うため、私はそれを実装しませんでした。しかし、これは信じられないほど遅いです。おそらくネストされたループではさらに悪化するでしょう。投稿されたリンクでは、私は~1000画像のために数秒を必要としました。これは、私がそこに良いトリック/アルゴリズムがこれを行うことを願っている理由です。 –

答えて

関連する問題