2

次のようなグレースケール画像があります。

ここに画像の説明を入力 この種の画像の異常を検出したい。最初の画像 (左上) では 3 つの点を検出したい。2 番目 (右上) には小さな点と「霧の領域」 (右下) があり、最後の画像には、また、画像の中央のどこかに少し小さい点があります。

通常の静的しきい値は私にとってはうまく機能しません。また、大津の方法は常に最良の選択です。このような異常を検出するためのより優れた、より堅牢な、またはよりスマートな方法はありますか? Matlab では、Frangi Filtering (固有値フィルタリング) のようなものを使用していました。このような表面の異常検出を解決するための優れた処理アルゴリズムを提案できる人はいますか?

編集:マークされた異常のある別の画像を追加しました:

ここに画像の説明を入力

@Tapio のトップハット フィルタリングとコントラスト調整を使用します。@Tapio は、最初に尋ねたように、表面の異常のコントラストを高める方法について素晴らしいアイデアを提供してくれるので、皆さんに私の結果の一部を提供します。私はこのようなイメージを持っています: ここに画像の説明を入力

トップハットフィルタリングとコントラスト調整を使用するコードは次のとおりです。

kernel = getStructuringElement(MORPH_ELLIPSE, Size(3, 3), Point(0, 0));
morphologyEx(inputImage, imgFiltered, MORPH_TOPHAT, kernel, Point(0, 0), 3);  
imgAdjusted = imgFiltered * 7.2;

結果は次のとおりです。

ここに画像の説明を入力

最後の画像から異常をセグメント化する方法はまだ疑問があります?? だから、誰かがそれを解決する方法を知っているなら、それを取ってください! :) ??

4

3 に答える 3

2

あなたは基本的に、現実がアナログであるという不幸な事実に対処しています。しきい値は、アナログ範囲を離散 (バイナリ) 範囲に変換する方法です。任意のしきい値でそれが行われます。では、「十分な」しきい値とは正確には何を意味するのでしょうか?

ちょっとその考えを駐車しましょう。多くの異常が見られます - 細い灰色のワームのようなものです。どうやら、あなたはそれらを無視しています。私はあなたとは異なるしきい値を適用しています。これは合理的かもしれませんが、あなたは私が持っていないドメイン知識を適用しています.

これらの灰色のワームは、固定値のしきい値設定から外れているのではないかと思います。固定しきい値という考え方が悪いと言っているわけではありません。これを使用して、いくつかのアーティファクトを見つけて除外することができます。やや暗いパッチは見落とされますが、ワームの幅よりも大きい近傍サイズを使用して、各ピクセルをその近傍の中央値に置き換えることによって引き出すことができます。暗いパッチでは、これはほとんど効果がありませんが、小さなローカル バリエーションを一掃します。

これら 2 つのタイプの異常が 2 つだけであるとは言いませんが、これは実際にはアプリケーション ドメインの問題であり、技術に関するものではありません。たとえば、少なくともこれら 3 つのサンプルでは、​​ライティング アーティファクト (反射) がないように見えます。

于 2017-02-27T11:36:12.777 に答える