これはガボールフィルタリング後に取得された画像です...明るい白い丸い欠陥を除いて、画像内の線を削除する方法はありますか。
ガボールフィルターの別の向きを試してみましたが、次の結果になりました:
しきい値設定後:十分ですが、あまり良くない
メディアンフィルタリング後:
前もって感謝します
これはガボールフィルタリング後に取得された画像です...明るい白い丸い欠陥を除いて、画像内の線を削除する方法はありますか。
ガボールフィルターの別の向きを試してみましたが、次の結果になりました:
しきい値設定後:十分ですが、あまり良くない
メディアンフィルタリング後:
前もって感謝します
回答:
Gáborフィルターの出力が信頼でき、画像データの変化がそれほど大きくないため結果が完全に異なるように見えない場合は、次の方法を使用できます(既に述べた部分)。
自動しきい値処理アルゴリズムを使用して2番目の画像を2値化します。わかるように、機能するしきい値の範囲は広いです。
コンポーネントのラベル付けアルゴリズムを使用して、接続されたピクセルの各領域に一意の値でラベルを付けます。
画像のすべてのコンポーネントについて、オブジェクトが塗りつぶされた円にどれだけ近いかを示すプロパティを計算します。このために、例えばコンパクトさを使用できます。同等のディスク半径内のピクセルの割合以下を使用しました。この半径は、オブジェクトと同じ面積のディスクの半径です。
自動二値化が機能することを確認するには、非常に低いしきい値と非常に高いしきい値の結果を次に示します。
コンポーネントのラベルの選択は、アプリケーションにとって重要ではありません。自分で実装する必要がある場合は、非常に単純な方法を使用することをお勧めします。ワンパス版 Wikipediaのサイトからは非常に簡単です。基本的には、バイナリイメージを反復処理し、白でまだラベル付けされていないピクセルに出会ったときに、このオブジェクトに新しいラベルを使用して、このピクセルから始めます。
このオブジェクトにラベルを付けるプロセスは、基本的には塗りつぶしと同じです。これはWikipediaサイトにあり、アルゴリズムの内部ステップ1〜4です。このラベルの付いたピクセルから始めて、すべての隣接ピクセルをスタックに配置します(ベクターを使用しました)。スタック上のピクセルについて、前景であり、まだラベル付けされていないかどうかを確認します。ラベルを付ける必要がある場合は、そのすべての隣接セルを再びスタックに配置します。スタックが空になるまでこれを繰り返します。
次に、画像全体のスキャンを続行します。Wikiサイトの説明とは異なり、元の画像からピクセルを削除する必要はありません。ラベル画像に0以外の値がある場合はスキップしてください。
いくつかのアイデア:
編集:中央値のフィルタリング手順の後、あなたはそこにいるほとんどの方法です。よくやった!上記で提案した項目2(閉じる、次に領域のラベル付け)は、残りの手順を実行するための1つの手法です。