ラスターノイズリダクションとエッジスムージングを実行していますか?


22

このようなラスター画像がありますラスター画像

孤立したノイズポイントを削除し、エッジを滑らかにします(白い単一ポイント、エンティティのエッジを滑らかに見せたい)。ArcGISまたはRでこれを行うにはどうすればよいですか?

セルサイズは30 * 30です。

回答:


15

モルフォロジー演算を展開し、シュリンクはこのような処理のために作成されました。の「ラスター」ライブラリが遅すぎるため 、ArcGIS(またはGRASSまたはMathematica)を使用しRます。


多くの場合、パラメータを少し試してみると役立ちます。画像をきれいにするために必要な拡大と縮小の量を決定する必要があります。通常、各操作はシャープなディテールの一部を滑らかにする傾向があるため、できる限り実行しないようにします。「エンティティ」の詳細の大部分を維持しながら、見かけ上の「ノイズ」の多くを除去するのにうまく機能するシーケンスを次に示します。「拡大」と「縮小」はどちらも白いセルを基準にしているため、拡大すると外側に拡大し、縮小すると黒いセルが白い領域に侵入します。

画像の表

「差分」列は、各ステップで開始画像と終了画像の違いを強調するために色を使用します。青は白になった黒、青は白になった黒は黒になります。

残りの大きなピースを削除する必要がある場合は、RegionGroupを使用してそれらを識別し、その後、再分類によってそれらを消去できます。これは、最初の選択肢だったが、と少し初期のクリーニングExpandとは、Shrink作業を軽減し、所望の平滑化を提供します。


ちなみに、私はMathematicaコマンドを使用してこの図の8つの画像を作成することを選択しました。

i = Import["http://i.stack.imgur.com/umDg7.png"];
l = Dilation[k = Erosion[j = Dilation[i, 2], 3], 1];      (* This does all the work *)
delta = ColorCombine /@ {{i, j}, {j, k}, {k, l}, {i, l}}; (* Compares images *)

ArcGISのワークフローは同じですが、構文が長くなります。本当に使用したい場合はR、「ラスター」ライブラリーをロードfocalFilterし、エクスパンドとシュリンクを行う関数を作成するために活用してください。次に、それぞれ約1分待ってから操作を実行します...。


こんにちは!よろしければ、連絡先情報を送ってもらえますか?私の研究であなたに感謝したいと思います。感謝!@whuber

GRASSの同等のコマンドを知っていますか?
リチャード

1
@Richard GRASSでこれらの操作を行うための創造的な方法はたくさんあると確信していますが、r.neighborsはタスクに非常に適しているようです。
whuber

12

Spatial Analyst Extensionを使用すると、一般化ツールの一部を使用できます。それらのいくつかは同様のタスクを実行するので、結果を希望どおりにするためにいくつかを試してみる必要があるかもしれません。しかし、私はマジョリティフィルターツールと境界クリーンツールを見ていたでしょう。

これら2つのツールの概念に関するページを次に示します。

Rでこれらのタスクを実行する方法がわかりませんが、 GRASS GISを使用してマジョリティフィルターを実行する方法に関する投稿があります。


2

これは基本的に@whuberの答えの変形であり、ユークリッド距離を使用してラスタ境界を拡大および縮小し、セルの数を使用して成長/侵入するラスタの鋭い角を滑らかにします。ユークリッド距離は拡張を模倣しますが、侵食/収縮に負の値を導入することはできません。秘Theは、ユークリッド距離ラスタのネガを取得して拡大する反復プロセスを開発することです。以下は、特定のサンプル画像の手順と説明のためのスナップショットです。

  1. ラスターを再分類して1のみを保持する(白いセル)

  2. 再分類されたラスターに2セル距離(この場合は60メートル)のユークリッド距離を適用します

  3. Reclassify(値を持つセルはNODATAを取得し、NODATAは1になります)またはRaster CalculatorのConおよびIsNull演算子を使用して、展開されたラスタのネガを取得します

  4. 同じ負のラスタにユークリッド距離をもう一度適用します(60 m)

  5. 上記の同じプロセスに従って、これの否定を取ります

  6. Raster CalculatorまたはReclassifyを使用して、このラスタ内のNODATAセルを0に割り当て、サンプルラスタの元の値に戻します

収縮ユークリッド距離を展開

拡大縮小ユークリッド距離

注:緑は処理されたセルを示します(質問内の白いセル)

ユークリッド距離の利点は、斜辺の範囲を介して各セルから適切な距離を取り、それ以外の場合は鋭いエッジを滑らかにすることです。一方、展開ツールと縮小ツールのセル数パラメーターは、すべての方向で同じ数のセルを処理します。これにより、境界ボックスのような境界ボックスが生成されるため、エッジ/コーナーが過度に一般化されます。

ただし、主な問題は、展開/縮小ほどノイズをうまく除去できず、答えよりも少し長くなります。


誰もがこれを行うとGRASS / QGISを使用するために-あなたはr.growを使用することができ、負のユークリッド距離が続き、正のユークリッド距離で成長
srha
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.