图像处理与图像识别笔记(三)图像增强1
圖像增強(qiáng)的目的是為了改善圖像的視覺效果,為了更便于人或機(jī)器的分析和處理,在不考慮圖像降質(zhì)(前提)的情況下,提高圖像的可觀性。灰度變換是一種典型的圖像增強(qiáng)方法,我們通常把圖像處理按照處理方法分成空域方法與頻域方法兩類,灰度變換是一種對點(diǎn)處理的空域處理方法。
一、灰度變換
將一個(gè)灰度區(qū)間映射到另一個(gè)灰度區(qū)間的變換稱為灰度變換,g(x,y)=T[f(x,y)]g(x,y) = T[f(x,y)]g(x,y)=T[f(x,y)],灰度區(qū)間是指0?2550-2550?255的灰度值區(qū)間,000是黑色,255255255是白色。灰色變換可使圖像動態(tài)范圍加大,圖像對比度擴(kuò)展,圖像清晰,特征明顯。灰度變換可以分為線性變換和非線性變換。
1、線性變換
原始圖像:f(x,y)f(x,y)f(x,y),灰度范圍:[a,b][a,b][a,b],變換后的圖像:g(x,y)g(x,y)g(x,y),灰度范圍:[c,d][c,d][c,d],存在以下變換關(guān)系:
g(x,y)=d?cb?a[f(x,y)?a]+cg(x,y) =\frac{d-c}{b-a}[f(x,y)-a]+cg(x,y)=b?ad?c?[f(x,y)?a]+c
2、非線性變換
灰度變換的非線性變換方法包括對數(shù)變換和指數(shù)變換,對數(shù)變換公式為g(x,y)=a+ln?[f(x,y)+1]bln?cg(x,y) = a+\frac{\ln[f(x,y)+1]}{b\ln c}g(x,y)=a+blncln[f(x,y)+1]?,這個(gè)變換擴(kuò)展低灰度區(qū)的對比度,壓縮高灰度值。指數(shù)變換公式為g(x,y)=bc[f(x,y)?a]?1g(x,y)=b^{c[f(x,y)-a]}-1g(x,y)=bc[f(x,y)?a]?1,與對數(shù)變換相反, 指數(shù)變換對圖像的高灰度區(qū)有較大的擴(kuò)展。
線性灰度變換實(shí)例如下,
import cv2 import numpy as np import matplotlib.pyplot as plt import pylabdef grayTransformLine(img,c,d):#線性灰度變換img = img/255.0 #轉(zhuǎn)換為0-1Min = img.min()Max = img.max()return (d-c)/(Max-Min)*(img-Min)+cdef main():img = cv2.imread('Lena.jpg',0)new_img = grayTransformLine(img,0.5,1)#變換到0.5-1,整體變亮new_img2 = grayTransformLine(img,0,0.5)#變換到0-0.5,整體變灰暗cv2.imshow('bright',new_img) cv2.imshow('dark',new_img2)cv2.waitKey(0)if __name__ == "__main__":main()輸出結(jié)果如下,
?????3、灰度直方圖
圖像中像素灰度分布的概率密度函數(shù),設(shè)圖像尺寸為M×NM×NM×N,共有KKK級灰度,并且具有灰度級rkr_krk?的像素?cái)?shù)為g(rk)g(r_k)g(rk?),則有:p(rk)=g(rk)M×Np(r_k)=\frac{g(r_k)}{M×N}p(rk?)=M×Ng(rk?)?,下面我們來計(jì)算圖像的灰度直方圖。
上述兩幅圖的灰度直方圖如下所示,
明顯看出,第一幅圖的灰度分布集中在高值部分,因此整幅圖高亮,第二幅圖的灰度分布集中在低值部分,整幅圖呈灰暗。
4、直方圖均衡化
將原始圖像的直方圖變換為均勻分布的形式,從而增加像素灰度值的動態(tài)范圍,達(dá)到增強(qiáng)圖像整體對比度的效果。直方圖均衡是一種非線性變換,以犧牲圖像的等級為代價(jià)。
實(shí)現(xiàn)代碼如下,
均衡化的結(jié)果如下,
我們可以看到,均衡化后的圖像灰度分布更加均勻,圖像對比度明顯增強(qiáng)。
上述的均衡化方法是全局上的均衡,有些時(shí)候這種操作并不好,會把某些不該調(diào)整的部分給調(diào)整。Opencv提供另一種局部調(diào)整的均衡化,把整個(gè)圖像分成許多小塊,每個(gè)小塊內(nèi)部進(jìn)行均衡化,這種方法叫做對比度受限的自適應(yīng)直方圖均衡化,對于圖像直方圖存在多峰的圖像比較適用,實(shí)現(xiàn)代碼如下,
兩種均衡化的結(jié)果如下,
我們可以看出,相對于全局均衡化的結(jié)果,局部均衡化的效果更加自然一些。
二、同態(tài)增晰
我們之前講到過傅里葉變換,經(jīng)過傅里葉變換可以得到一幅圖像的頻域信息,我們可以對圖像的頻域進(jìn)行操作達(dá)到濾波的目的。頻域中的低頻成分反映灰度的恒定分量,減弱低頻成分可以起到縮小圖像灰度范圍的作用;頻域中的高頻成分反映圖像的邊界特性,增強(qiáng)高頻成分可以提升圖像的對比度(暗區(qū)細(xì)節(jié)增強(qiáng)并保留亮區(qū)細(xì)節(jié))。
同態(tài)增晰是一種在頻域中進(jìn)行濾波操作的方法,目的是消除圖像上照明不均的問題,增加暗區(qū)的圖像細(xì)節(jié),同時(shí)又不損失亮區(qū)的圖像細(xì)節(jié),它在頻域中同時(shí)將圖像亮度范圍進(jìn)行壓縮和圖像對比度進(jìn)行增強(qiáng)。
同態(tài)濾波函數(shù)選用高通濾波器,消弱低頻成分,加強(qiáng)高頻成分。
同態(tài)增晰的過程如下,
未完待續(xù)
總結(jié)
以上是生活随笔為你收集整理的图像处理与图像识别笔记(三)图像增强1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VS2017安装openGL
- 下一篇: 判断101-200之间有多少个素数,并输