图像锐化算法(Image sharpening):拉普拉斯增强和Unsharp Masking(附代码)
y(m,n)=x(m,n)+λ?z(m,n)y(m,n)=x(m,n)+λ?z(m,n)
其中x(m,n)x(m,n)是處理前圖片,y(m,n)y(m,n)是銳化后,z(m,n)z(m,n)代表增強圖像的邊緣和細(xì)節(jié)(高頻部分),λλ是增強因子,如下圖所示:
1.laplacian 增強
def laplacianSharpen(im, alpha):k = np.array([[0, 0, 0, ], [0, 1, 0], [0, 0, 0]])+alpha * \np.array([[0, -1, 0], [-1, 4, -1], [0, -1, 0]])# k = np.array([[-1, -1, -1], [-1, 9, -1], [-1, -1, -1]])dst = cv2.filter2D(im, -1, k)return dst注:當(dāng)然λλ也可以不固定為1,原圖像加上λλ乘拉普拉斯銳化的結(jié)果,lambdalambda控制增強效果,如果覺得過于銳利,可以調(diào)小一點。
2.usm和改進(jìn)usm
usm(unsharp masking):將原圖像低通濾波后產(chǎn)生一個模糊圖像,原圖像與這模糊圖像相減得到保留高頻成份的圖像。再將高頻圖像用一個參數(shù)放大后與原圖像疊加,得到增強的圖像。
def usmSharpen(src,m,sigma,amount):blur_img = cv2.GaussianBlur(src, (m, m), sigma)dst = cv2.addWeighted(src, 1+amount, blur_img, -1*amount, 0)return dstimproved usm:
1.假設(shè)原圖為S,以半徑r計算高斯模糊圖G
2.value=S(i,j)-G(i,j)
3.銳化后的圖為D:
D(i,j)={S(i,j)+amount?value,S(i,j),abs(value)>thresholdotherwiseD(i,j)={S(i,j)+amount?value,abs(value)>thresholdS(i,j),otherwise
def improveUSM(src, m, sigma, threshold, amount):blur = cv2.GaussianBlur(src, (m, m), sigma)diff = src-blurmask = diff < thresholddst = cv2.addWeighted(src, 1+amount, blur, -1*amount, 0)res = src*mask+dst*(1-mask)return res注:在使用改進(jìn)usm時發(fā)現(xiàn)出現(xiàn)黑點(尤其是參數(shù)高斯模糊半徑m變很大時),因為對黑暗區(qū)域的增強帶來的感覺上更加明顯(韋伯定律),所以可以對value為負(fù)值時使用更小的增強因子。
def improveUSM2(src, m, sigma, threshold, amount):'''reduce black specles'''blur = cv2.GaussianBlur(src, (m, m), sigma)diff = src-blurmask = cv2.convertScaleAbs(diff) < thresholddst = np.zeros_like(src, dtype=np.int16)src = src.astype(np.int16)blur = blur.astype(np.int16)diff2 = src-blurmask2 = diff2 < 0neg = diff2*mask2pos = diff2*(1-mask2)dst = src+amount*pos+amount*0.5*negdst = dst.clip(0, 255)return dst2另一種usm的優(yōu)化:
根據(jù)閾值比較結(jié)果,處理更平滑自然(主要是對mask做了模糊處理)
3.其他改進(jìn)
two drawbacks of USM:
1.noise amplification(噪聲也屬于高頻部分,所以增強細(xì)節(jié)同時會增強噪聲)
2.overshoot effect(見下圖)
改進(jìn)思路,無非是從λλ和z(m,n)z(m,n)兩個方面去優(yōu)化,下面幾篇論文,第一篇改進(jìn)usm的根據(jù)閾值截斷處理,使用更平滑的處理方式,第二篇是從改變z(m,n)z(m,n)的計算上,使用非線性核(二次濾波器和多項式濾波器)。第三篇和第四篇是從優(yōu)化λλ上,使得增強因子和位置相關(guān),而非全局的一個常數(shù):
論文地址
不過上述方法計算復(fù)雜,所以具體應(yīng)用時還應(yīng)取舍。
桔桔桔桔桔桔桔桔桔桔
總結(jié)
以上是生活随笔為你收集整理的图像锐化算法(Image sharpening):拉普拉斯增强和Unsharp Masking(附代码)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微众银行备用金多久还款
- 下一篇: 奔驰c63 amg旅行版价格如何,202