2016-04-18 31 views
8

ので、同様に、私は、私は等化し、その後にclaheヒストグラムを使用していた画像がありますヒストグラム均等化画像からノイズを除去する方法は?

enter image description here

私はを取り除きたい:

self.equ = cv2.equalizeHist(self.result_array) 
clahe = cv2.createCLAHE(clipLimit=100.0, tileGridSize=(8,8)) 
self.cl1 = clahe.apply(self.equ) 

これは私が得る結果であり、すべての黒い点はノイズです。結局のところ、上の画像では黒い血管を抽出しようとしていますが、そのノイズによって抽出が不正確になります。

+1

ノイズがきれいにハイコントラストになりそうだ20

希望に多分5の領域において、陽性の結果を見て、あまりにも多くの反復を取るべきではない、あなただけ適用する必要があります斑点除去プロセス。この回答をお試しください:http://stackoverflow.com/questions/5680429/how-to-implement-despeckle-in-opencv – PeteB

+3

は、ヒストグラムのない画像のノイズを減らす方が簡単かもしれません。 – Micka

+0

このノイズが元のイメージに存在しない場合、これはイコライゼーションのアーチファクトです。ガンマ補正やコントラストストレッチなどのオプションを試すことができます。また、Frangiフィルタは、通常、血管様構造を抽出するために使用される。 – dhanushka

答えて

2

私の論文の大部分は画像のノイズを減らすことでした。画像の鮮明なエッジを保存しながら画像のノイズを減らすために使用した手法がありました。私はここで自分自身を引用:

縞パターンからノイズを除去するための効果的な技術は、正弦余弦フィルタリング[reference]を用いて画像 をフィルタリングすることです。ローパスフィルタは、 がフリンジパターン画像の正弦と余弦を取った結果である2つの画像と畳み込まれ、 は、正接を得るために分割され、位相パターンを復元するが、ノイズは低減される。 この技術の利点は、プロセスが複数回繰り返されて、位相遷移の鋭い詳細を維持しながらノイズを低減することです。

そして、ここでは私が使用するコードです:そこ

import numpy as np 
from scipy import ndimage 

def scfilter(image, iterations, kernel): 
    """ 
    Sine‐cosine filter. 
    kernel can be tuple or single value. 
    Returns filtered image. 
    """ 
    for n in range(iterations): 
     image = np.arctan2(
     ndimage.filters.uniform_filter(np.sin(image), size=kernel), 
     ndimage.filters.uniform_filter(np.cos(image), size=kernel)) 
    return image 

imageは、画像を表すnumpyの配列は、直線的に2 * pi0と白に黒置くために再スケーリングし、kernalは中サイズですデータに適用された均一フィルタの画像ピクセル。それは役立ちます:)

関連する問題