0

私は迷路として最もよく説明される画像を持っています。重要な特徴は、それらが私が廊下またはパスと呼ぶものを持っているということです。

私はこれらの廊下/パスを完全に閉鎖せずに狭めようとしています。処理されたコリドーをどれだけ狭くする必要があるかについての厳密な要件はありません。少しだけ狭くする必要があります。しかし、完全に閉鎖することはできません。

これが未処理の画像です

未処理の画像

これは、ガウスぼかしを適用した後の画像です。 cvSmooth(img, img, CV_GAUSSIAN, 9);

ガぼかし付き

結果は素晴らしいですが、入ってくる画像で私の廊下がどれくらいの幅になるかはわかりません。また、必ずしもそのようなまっすぐな規則的な角度の壁がなく、一貫した廊下の幅があるとは限らないので、そのような素朴な解決策は確かにいくつかを完全にブロックします廊下の。

一度に少しずつぼかして、画像上でパスファインディングアルゴを実行して、廊下を閉じていないことを確認することを考えましたが、これは遅すぎると思います。

ですから、完全に閉鎖するリスクなしに廊下を狭くするための迅速な方法を探しています。

4

1 に答える 1

1

あなたはこれらの2つを試すことができます...

  1. 画像上で3X3のマスクを使用して拡張を使用しMat::ones(3,3,CV_8UC1)ます...拡張はガウスぼかしよりも高速に機能します...拡張を使用すると、画像が1ピクセルレベル拡大したことがわかります...
  2. ホワイトパス領域の接続性を確認するには、連結成分のラベル付けを使用できます...ワンスキャン連結成分を使用して、より高速なラベル付けを行います...
  3. 接続性のチェックとして、白いパスの輪郭で遊ぶこともできます...それが今私が考えることができるすべてです.. !!
于 2012-12-24T01:50:54.953 に答える