iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
自我挑戰組

數位影像處理系列 第 11

[Day 11] 影像濾波(3)-非銳化遮罩、中值濾波與雙邊濾波

  • 分享至 

  • xImage
  •  

1.非銳化遮罩

**非銳化遮罩(Unsharp Masking)**的目的是影像銳化,可以強化影像中的邊緣和細節等資訊。定義如下:

https://ithelp.ithome.com.tw/upload/images/20220918/20152370tylOwkgpu4.png

其中https://chart.googleapis.com/chart?cht=tx&chl=g_m_a_s_k 稱為非銳化遮罩,https://ithelp.ithome.com.tw/upload/images/20220918/20152370mDx8gR35LN.png 為對原始影像平滑化的結果。
參數k用來調整銳化的程度:k = 1時稱為非銳化遮罩,k > 1時稱為高增濾波(Highboost Filtering)
程式碼如下:

import numpy as np
import cv2


def unsharp_masking(f, k = 1.0):
    g = f.copy()
    nr, nc = f.shape[:2]
    f_avg = cv2.GaussianBlur(f,(15, 15), 0)
    for x in range(nr):
        for y in range(nc):
            g_mask = int(f[x, y]) - int(f_avg[x, y])

    return g

def main():
    img1 = cv2.imread("D:\Desktop\IThome\house_test.jpg", 0)
    img2 = unsharp_masking(img1, 10.0)
    cv2.imshow("Original", img1)
    cv2.imshow("After", img2)
    cv2.waitKey()

main()

以高增濾波器而言,k值愈大,影像銳化的效果越明顯,但當k太大時,反而也會強化影像中的雜訊,造成反效果,
https://ithelp.ithome.com.tw/upload/images/20220918/20152370D60pZViyTY.png


2.中值濾波

中值濾波器(Median Filter)的處理過程,先以(x,y)為中心,取其鄰近區域(例如3x3、4x4)的像素值構成集合,接著對集合進行排序與取中間值,就是(x,y)的輸出像素質。由於過程中牽涉排序,因此屬於**非線性濾波**。

中值濾波通常用來去除雜訊,我選擇一個較誇張的例子,如下:

https://ithelp.ithome.com.tw/upload/images/20220918/20152370OIrCmwYvhn.png

我們可以用OpenCV內建的MedianBlur函式進行中值濾波,程式碼如下:
import numpy as np
import cv2


img1 = cv2.imread("D:\Desktop\IThome\lena_falt and pepper.jpg", 0)
img2 = cv2.medianBlur(img1, 3)
cv2.imshow("Original", img1)
cv2.imshow("After", img2)
cv2.waitKey()

3.雙邊濾波

雙邊濾波(Bilateral Filtering)是一種影像平滑化的技術,屬於非線性濾波。雙邊濾波除了使用像素之間的幾何靠近程度之外,同時考慮像素之間的強度差異,使雙邊濾波能有效去除雜訊,同持保留影像的邊緣資訊。

https://ithelp.ithome.com.tw/upload/images/20220918/20152370P7PfB35guA.png

可以看到左圖為原始影像,右圖中為經過雙邊濾波後,影像的臉部變平滑許多。因此雙邊濾波常用在美膚、美肌,可有效對皮膚區域平滑化,同時保留眼睛、鼻子等邊緣資訊

import numpy as np
import cv2


img1 = cv2.imread("D:\Desktop\IThome\lena.bmp", 0)
img2 = cv2.bilateralFilter(img1, 5, 50, 50)
cv2.imshow("Original", img1)
cv2.imshow("After", img2)
cv2.waitKey()


上一篇
[Day 10] 影像梯度與銳化
下一篇
[Day 12] 影像還原
系列文
數位影像處理30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言