iT邦幫忙

2022 iThome 鐵人賽

DAY 6
0
自我挑戰組

數位影像處理系列 第 6

[Day 6]影像增強

  • 分享至 

  • xImage
  •  

影像增強(Image Enhancement)可以定義為:「針對數位影像進行運算處理,符合特定需求的技術。」

影像增強的目的基本上都是增強影像品質,例如:增加對比度、去雜訊等。

影像增強技術所採用的方法包含以下幾種:

  • 強度轉換(Intensity Transformation)
  • 直方圖處理(Histogram Processing)
  • 影像率波(Image Filtering)

也可以根據數位影像處理所在的域(Domain)分為:

  • 空間域(Spatial Domain)
  • 頻率域(Frequency Domain)

而我們主要以空間域為主,也就是說,我們將直接對數位影像中的像素進行運算處理。使用頻率域須用到傅立葉轉換,會牽涉到較多的數學層面。


1.強度轉換

強度轉換為最基本的影像增強技術。可以定義為:
g(x,y) = T * {f(x,y)}

其中,f(x,y)為輸入強度,g(x,y)為輸出強度,T稱為轉換涵式(Transformation Function)。

1-2.影像負片

影像負片(Image Negative)是最基本的強度轉換,其灰階或色彩值與原始影像相反。可以定義為:

https://chart.googleapis.com/chart?cht=tx&chl=g(x%2Cy)%20%3D%20255-f(x%2Cy)

程式碼如下:

import numpy as np
import cv2

img1 = cv2.imread("D:\Desktop\IThome\lena.bmp", -1)

def image_negative(f):
    g = 255 - f
    return g

img2 = image_negative(img1)
cv2.imshow("After", img2)
cv2.waitKey()

1-3.Gamma矯正

此技術可以用來調整數位影像的亮度,通常是用來解決拍攝相片時產生的過度曝光(Over Exposure)或曝光不足(Under Exposure)現象。

伽瑪矯正可以定義如下:
https://ithelp.ithome.com.tw/upload/images/20220913/2015237018jR1smID9.png

上述定義中,輸入與輸出強度須介於0~255之間,因此,c會隨著gamma的值有所改變。
gamma矯正的轉換函數,如下圖所示:
https://ithelp.ithome.com.tw/upload/images/20220913/201523707eHdM1ekAt.jpg
當gamma=1時表示強度不變,gamma < 1 會使影像變亮,可改變曝光不足,gamma > 1 會使影像變暗,可改善過曝現象。

程式碼如下:

import numpy as np
import cv2

img1 = cv2.imread("D:\Desktop\IThome\lena.bmp", -1)

def gamma_correction(f, gamma = 2.0):
    g = f.copy()
    nr,nc = f.shape[:2]
    c = 255.0 / (255.0 ** gamma)
    table = np.zeros(256)
    for i in range(256):
        table[i] = round(i ** gamma * c, 0)
    if f.ndim != 3:
        for x in range(nr):
            for y in range(nc):
                g[x, y] = table[x, y]
    else:
        for x in range(nr):
            for y in range(nc):
                for k in range(3):
                    g[x, y, k] = table[f[x, y, k]]


img2 = gamma_correction(img1, 0.1)
cv2.imshow("After", img2)
cv2.waitKey()

上述範例中,Gamma矯正的函式是根據Gamma值計算對應的常數c,並計算強度轉換函數,同時以table儲存,最後再根據table轉換成輸出的強度。


上一篇
[Day 5] 影像的縮放與旋轉
下一篇
[Day 7]Beta矯正與直方圖等化
系列文
數位影像處理30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言