2017-02-16 12 views
2

私は、コンピュータ断層撮影投影画像の画像処理を行っています。ノイズの多い画像のラインアーチファクトの検出

Line artifact

私は現在、各列の平均値を比較することにより、それを検出しています:縦線は画像全体を通過するとして現れ、私がやっている処理から得られる成果物の特定のタイプがあります。平均値が左側と右側の列の隣の平均値の半分よりも小さい場合、列はラインアーティファクトとみなされます。それは次に、左右の隣のピクセルの最大値として補間される。

補間はうまく機能しますが(画像の右側)、検出が余りにもアドホックです。黒い背景のみを含む列の多くは、ポアソンノイズが大きいためにその条件を満たすことができるため、かなり頻繁に失敗します。これは、次の段階であるノイズを除去する際にアーチファクトを引き起こす。私は素晴らしい結果でBM3Dを使用しており、全体の画像をメディアンフィルタしたくありません。

「ラインアーティファクト」を検出するより良い方法はありますか?画像内のオブジェクトの強い境界と、アーティファクトにも含まれる大きなノイズに注意してください。

+1

ああ、これらの検出器アレイは壊れています.... –

+1

これらの画像はCTですから、私はいつもエラーが垂直線であると信じています。垂直エッジ検出フィルターを試しましたか? 'conv2(img、[ - 1 0 1])'のようなもの?これにより、黒い線の隣に2つの縦の白い線が作成されます。これらはおそらく扱いが簡単です。また、このことをもう一度お伝えして申し訳ありません:反復アルゴリズムは、おそらく再構築におけるそれらの線の効果を減らすのに役立ちます。 –

+1

確かに、私は同意します!私はスペクトル・モデルを持っていますが、ビーム・ハードニングのような挙動を見ていますが、いくつかのNLPV問題があります。だから私は異なった再構成技術も見ています。しかし、一度に一つの問題。垂直フィルタは良いスタートですが、私は質問を編集しています。 – Tapio

答えて

3
  1. 画像内で縦線を見つけたいので、最初にフィルタ[1 -2 1]で画像を畳み込みます。これにより、垂直近傍よりも低いピクセルに対して高い値が得られます。
  2. イメージのすべての列を合計します。
  3. 最大値の列のインデックスを検索します。この列は問題のある列です。
+0

"すべての列を合計する"とは、すべての行を合計することですか? – Florian

+0

いいえ、私は列を意味します。ステップ1の後、垂直ライン上のピクセルは高い値を持つので、これらの値を垂直方向に合計すると(列)、高い値が得られます。 –

+0

さて、私は誤解しました。すべての列の音を合計して、すべての列にわたって(つまり列のインデックス上で)合計を形成します。つまり、各列に対して、列のすべての項目を合計します(つまり、行の合計)。私には少し曖昧ですが、それはちょうど私です。 – Florian

関連する問題