OpenCV 画像フィルター操作 - ぼかし

ヒント: 高く狙い、足を地面につけたままにします

記事ディレクトリ

  • I.はじめに
  • 2. 主な内容
    1. 漠然

    2. 安心

    3. 輪郭

    4. 研ぐ

  • 要約する


I.はじめに

opencv filter - opencv を使用して、さまざまな画像フィルター効果を実現します

2. 主な内容

1.ファジー

画像のぼかしは、画像の平滑化とも呼ばれ、主に画像内の周囲の点とはかなり異なる点を処理し、そのピクセル値を周囲の点と同様の値に調整します. 目的は、画像のノイズを除去することです.とエッジ。

フィルタリングにはいくつかの種類があります

<1> 平均フィルタリング

②ガウスフィルタ

<3>ボックスフィルタリング

<4>メディアンフィルタリング

<5>双方向フィルタリング

<6>2D フィルタリング

<1> 平均フィルタリング

平均フィルタリングは、現在のポイントを中心として、現在のポイントのピクセル値を周囲のN * Nポイントのピクセルの平均値に置き換えます。

im=cv2.imread('lena.jpg')
cv2.imshow('input',im)
im2=cv2.blur(im,(5,5))
# im2=cv2.blur(im,(20,20))
cv2.imshow('output',im2)
cv2.waitKey(0)

②ガウスフィルタ

ガウス フィルタリングでは、最初に、ピクセル ポイントと中心点の間の距離に応じて、各ピクセルに異なる重みが割り当てられます。中心点に近いほど重みが大きくなり、中心点から遠ざかるほど重みが小さくなります。次に、重みに従ってフィールド内のすべてのピクセルの合計を計算し、その合計を中心ピクセル値として使用します。

import cv2
im=cv2.imread('lena.jpg')
cv2.imshow('input',im)
im2=cv2.GaussianBlur(im,(5,5),0,0)
cv2.imshow('output',im2)
cv2.waitKey(0)

<3>ボックスフィルタリング

ボックス フィルタリングは平均フィルタリングに基づいており、フィルタリング結果を正規化するかどうかを選択できます。Trueの場合、フィルター結果はドメイン内のポイントのピクセル値の合計の平均であり、それ以外の場合はピクセル値の合計です。

import cv2
im=cv2.imread('lena.jpg')
cv2.imshow('input',im)
im2=cv2.boxFilter(im, -1, (5,5),
normalize=True)
# im2=cv2.blur(im,(20,20))
cv2.imshow('output',im2)
cv2.waitKey(0)

<4>メディアンフィルタリング

中央値フィルタリングは、最初に近傍内のすべてのピクセル値を並べ替え、中央値を近傍の中心点のピクセル値として取得します

import cv2
im=cv2.imread('lena.jpg')
cv2.imshow('input',im)
im2=cv2.medianBlur(im, 21)
# im2=cv2.blur(im,(20,20))
cv2.imshow('output',im2)
cv2.waitKey(0)

<5>双方向フィルタリング

バイラテラル フィルタリングでは、距離と色差の情報を考慮してピクセル値を計算するため、ノイズを除去しながらエッジ情報を保持します。

import cv2
im=cv2.imread('lena.jpg')
cv2.imshow('input',im)
im2=cv2.bilateralFilter(im, 50, 100, 100)
# im2=cv2.blur(im,(20,20))
cv2.imshow('output',im2)
cv2.waitKey(0)

<6>2D フィルタリング

2D 畳み込みでは、カスタム畳み込みカーネルを使用してフィルタリング操作を実行できます。


要約する

画像共通ぼかしフィルター操作

  1. 平均フィルタリング

  2. ガウス フィルター

  3. ボックスフィルタリング

  4. メディアン フィルター

  5. バイラテラル フィルタリング

  6. 2Dフィルタリング

  • 輪郭

  • 安心

  • 研ぐ

おすすめ

転載: blog.csdn.net/CHENG15234944691/article/details/123678520