画像平滑化処理(フィルタ処理)

以下に示すように原画像を読み出した後、ノイズ点の多くが存在するであろう

 

 その後、我々は、次の方法でこれらの点に対処するためにノイズフィルタリングプロセスを使用する必要があります。

1、平均値フィルタ

 

 ピクセルのために、あなたはその周りに箱の平均値の代わりに、ピクセルとの畳み込みを箱を描くことができ、(121 + 75 + ... + 235)/ 9のように計算されます

これは、3×3の畳み込み行列、各位置の値は、1であり、畳み込み行列乗算画素マトリクスと等価である、マトリクスは、その後の大きさで除算され

平均濾過した後、としては、次のとおりです。

1  フィルタリング平均
2ブラー= cv2.blur(IMG、(3,3))

 

私たちは、元の画像よりもノイズの少ないポイントの多くを見ることができますが、いくつかのノイズ点はまだあります

 

図2に示すように、フィルタブロック

2例は、正規化を行っている場合、フィルタをブロックし、そして同じでフィルタリングを意味があります

1つの ブロックフィルタ(すなわち、正規化、および平均同じフィルタリング)
2 BOX1 = cv2.boxFilter(IMG、-1、(3,3)、正規= TRUE)

 

 、すなわち、一緒にボックス畳み込みのすべての値、平均ではない正規化されていない場合、即ち、121 + 235 + 75 + ...

この範囲を超える場合に合わせ0から255の範囲のピクセルは、白色スポットが表示されるので

1つの #のブロックフィルタ(正規化されていない)
2 BOX2 = cv2.boxFilter(IMG、-1、(3,3)、正規=偽)

 

 

 

3、ガウス

ボックスで畳み込み、離れた中心画素点から一部の画素最近、それより最近の中心画素との関係を、平均重量が大きくなければなりません

例えば、3×3の場合には、上下に短い距離の中心に、四隅が僅かに長い距離であろう

ガウシアンフィルタを添加重量に対して各点に平均化に基づいています

1 #高斯滤波
2 gaussian=cv2.GaussianBlur(img,(5,5),1)

 

 

4、中值滤波

就是将卷积盒子中的像素点按顺序排成一列,取它的中间数,即中位数

24,75,78,104,113,121,154,204,235,中位数是113,就用113来代替中心像素点的值

1 #中值滤波
2 median=cv2.medianBlur(img,5)

 

 

可以看到,利用中值滤波处理后,噪音点基本没有了

おすすめ

転載: www.cnblogs.com/program-ai-cv-ml-se-fighting/p/11701528.html