圖像增強(qiáng)的幾個(gè)方法以及Matlab代碼

1. 灰度線性變換

灰度線性變換, 是一種空域的方法, 直接對(duì)每一個(gè)像素的灰度值進(jìn)行操作
假設(shè)圖像為I
則其中每一個(gè)像素點(diǎn)的灰度值為I(x,y)
我們利用簡(jiǎn)單的線性變換可以得到:
I(x,y)^*=k*I(x,y)+b
k=1,b=16可以得到

Alt text

Alt text

Alt text

這里給出關(guān)鍵代碼

original = imread(strcat(strcat('resource\',name),'.bmp'));
transformed = LinearFunction(original, 1, 16);
subplot(1,3,3);
imshow(transformed)
title('線性變換后的圖像')
imwrite(transformed,strcat(strcat('result\',name),'(linear).jpg'))

2. 直方圖均衡變換

這種方法通常用來(lái)增加許多圖像的全局對(duì)比度,尤其是當(dāng)圖像的有用數(shù)據(jù)的對(duì)比度相當(dāng)接近的時(shí)候。通過(guò)這種方法,亮度可以更好地在直方圖上分布。這樣就可以用于增強(qiáng)局部的對(duì)比度而不影響整體的對(duì)比度,直方圖均衡化通過(guò)有效地?cái)U(kuò)展常用的亮度來(lái)實(shí)現(xiàn)這種功能。

這種方法對(duì)于背景和前景都太亮或者太暗的圖像非常有用,這種方法尤其是可以帶來(lái)X光圖像中更好的骨骼結(jié)構(gòu)顯示以及曝光過(guò)度或者曝光不足照片中更好的細(xì)節(jié)。這種方法的一個(gè)主要優(yōu)勢(shì)是它是一個(gè)相當(dāng)直觀的技術(shù)并且是可逆操作,如果已知均衡化函數(shù),那么就可以恢復(fù)原始的直方圖,并且計(jì)算量也不大。這種方法的一個(gè)缺點(diǎn)是它對(duì)處理的數(shù)據(jù)不加選擇,它可能會(huì)增加背景噪聲的對(duì)比度并且降低有用信號(hào)的對(duì)比度。

考慮一個(gè)離散的灰度圖像\{x\}
n_i表示灰度i出現(xiàn)的次數(shù), 這樣圖像中灰度為i的像素出現(xiàn)的概率為:
p_x(i)=p(x=i)=\frac{n_i}{n}, 0\leq i<L
L是圖像中所有的灰度數(shù)(通常是255)
把對(duì)應(yīng)于p_x的累積分布函數(shù),定義為:
cdf_x(i)=\sum_{j=0}^i{p_x(j)}
是圖像的累計(jì)歸一化直方圖

我們創(chuàng)建一個(gè)形式為y=T(x)的變換, 對(duì)于原始圖像的每一個(gè)值它就產(chǎn)生一個(gè)y, 這樣y的累計(jì)概率函數(shù)就可以在所有值范圍內(nèi)線性化, 轉(zhuǎn)換公式定義為:
cdf_y(i)=iK

對(duì)于常數(shù)K, CDF的性質(zhì)允許我們做這樣的變換, 定義為:
cdf_y(y')=cdf_y(T(k))=cdf_x(k)

其中k\in [0,L), 注意T將不同的灰度級(jí)映射到(0,1), 為了將這些值映射到最初的域, 需要在結(jié)果上應(yīng)用下面的簡(jiǎn)單變換:
y' = y*(max\{x\}-min\{x\})+min\{x\}

給出部分結(jié)果:


Alt text

Alt text

Alt text

給出關(guān)鍵代碼:

m = 255;
subplot(1,3,3);
H = histeq(I,m);
imshow(H,[]);
title('直方圖均衡后的圖像');

類似地, 我們可以對(duì)rgb圖像進(jìn)行直方圖均衡, 這里直接給出結(jié)果

[圖片上傳失敗...(image-8c0e8-1537093885389)].png)
[圖片上傳失敗...(image-a7d6cf-1537093885389)].png)
[圖片上傳失敗...(image-4946e2-1537093885389)].png)

[M,N,G]=size(I1);
result=zeros(M,N,3);
%獲得每一層每一個(gè)點(diǎn)的RGB值,并判斷其值等于多少
for g=1:3
    A=zeros(1,256);
    %每處理完一層,參數(shù)要重新初始化為0
    average=0;
    for k=1:256
        count=0;
        for i=1:M
            for j=1:N
                value=I1(i,j,g);
                if value==k
                    count=count+1;
                end
            end
        end
        count=count/(M*N*1.0);
        average=average+count;
        A(k)=average;
    end
    A=uint8(255.*A+0.5);
    for i=1:M
        for j=1:N
            I1(i,j,g)=A(I1(i,j,g)+0.5);
        end
    end  
end
%展示處理效果
subplot(1,3,3);
imshow(I1);

3. 同態(tài)濾波

同態(tài)濾波利用去除乘性噪聲(multiplicative noise),可以同時(shí)增加對(duì)比度以及標(biāo)準(zhǔn)化亮度,借此達(dá)到圖像增強(qiáng)的目的。

一副圖像可以表示為其照度(illumination)分量和反射(reflectance)分量的乘積,雖然在時(shí)域上這兩者是不可分離的,但是經(jīng)由傅立葉轉(zhuǎn)換兩者在頻域中可以線性分離。由于照度可視為環(huán)境中的照明,相對(duì)變化很小,可以看作是圖像的低頻成分;而反射率相對(duì)變化較大,則可視為高頻成分。通過(guò)分別處理照度和反射率對(duì)像元灰度值的影響,通常是借由高通濾波器(high-pass filter),讓圖像的照明更加均勻,達(dá)到增強(qiáng)陰影區(qū)細(xì)節(jié)特征的目的。

做法是:
對(duì)于一幅圖像, 可以表示成照射分量和反射分量的乘積, 也就是:
m(x,y)=i(x,y)\cdot r(x,y)
其中, m是圖像, i是為照度分量, r是反射分量
為了在頻域中使用高通濾波器, 我們必須進(jìn)行傅里葉變換, 但是由于上式是一個(gè)乘積式, 不能直接對(duì)照度分量和反射分量進(jìn)行操作, 因此對(duì)上式取對(duì)數(shù)
ln(m(x,y))=ln(i(x,y))+ln(r(x,y))
然后對(duì)上式進(jìn)行傅里葉轉(zhuǎn)換
\mathcal{F}\{ln(m(x,y))\}=\mathcal{F} \{ ln(i(x,y))\}+ \mathcal{F}\{ln(r(x,y))\}
我們將\mathcal{F}\{ln(m(x,y))\}定義為M(u,v)
接下來(lái)對(duì)圖像進(jìn)行高通濾波, 如此可以使圖像的照明更均勻, 高頻分量增加且低頻分量減少
N(u,v)=H(u,v)\cdot M(u,v)
其中H是高通濾波器
為了將圖像從頻域轉(zhuǎn)回時(shí)域,我們對(duì)N做傅立葉逆轉(zhuǎn)換
n(x,y)=\mathcal{F}^{-1}\{N(x,y)\}
最后使用指數(shù)函數(shù)來(lái)復(fù)原我們一開(kāi)始取的對(duì)數(shù)
m'(x,y)=exp\{n(x,y)\}

給出處理結(jié)果


Alt text

Alt text

Alt text

給出部分關(guān)鍵代碼

I=double(I);
[M,N]=size(I);
rL=0.5;
rH=4.7;%可根據(jù)需要效果調(diào)整參數(shù)
c=2;
d0=10;
I1=log(I+1);%取對(duì)數(shù)
FI=fft2(I1);%傅里葉變換
n1=floor(M/2);
n2=floor(N/2);
H = ones(M, N);
for i=1:M
    for j=1:N
        D(i,j)=((i-n1).^2+(j-n2).^2);
        H(i,j)=(rH-rL).*(exp(c*(-D(i,j)./(d0^2))))+rL;%高斯同態(tài)濾波
    end
end
I2=ifft2(H.*FI);%傅里葉逆變換
I3=real(exp(I2));
subplot(1,3,3),imshow(I3,[]);title('同態(tài)濾波增強(qiáng)后');
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容