国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【數(shù)字圖像處理】直方圖均衡化與規(guī)定化

這篇具有很好參考價(jià)值的文章主要介紹了【數(shù)字圖像處理】直方圖均衡化與規(guī)定化。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

直方圖處理技術(shù)概述

直方圖均衡化

公式推導(dǎo)?

Matlab代碼實(shí)現(xiàn)

圖像的規(guī)定化

數(shù)學(xué)推導(dǎo)

單映射

Matlab代碼

效果展示?編輯

?組映射

Matlab代碼


直方圖處理技術(shù)概述

灰度級(jí)范圍[0,L-1]的數(shù)字圖像,在實(shí)際使用中,用哥灰度級(jí)的像素總數(shù)除以MN的整幅圖像的像素?cái)?shù)量,歸一化到規(guī)律中進(jìn)行計(jì)算,這樣可以解除面積對(duì)哥灰度級(jí)在所有橡樹中分布的影響,僅僅靠概率進(jìn)行分析個(gè)灰度級(jí)的分布。

在較暗的圖像中,直方圖的分量集中在灰度級(jí)的低段。

低對(duì)比度圖像具有較窄的直方圖,且都集中于[0,L-1]的灰度級(jí)的某一部分,較為集中。

高對(duì)比度圖像的直方圖的分量覆蓋了很寬的灰度范圍,且像素?cái)?shù)量的分布也沒有太不均勻,只有少數(shù)灰度級(jí)的像素?cái)?shù)量要高出許多。

可以直觀的得出結(jié)論:若以一幅圖像的像素占據(jù)整個(gè)可能的灰度級(jí)并且均與分布,則該圖像會(huì)有高對(duì)比度的圖像外觀并展示灰色調(diào)的較大變化,最終效果會(huì)得到一幅灰度細(xì)節(jié)豐富且動(dòng)態(tài)范圍較大的圖像。

直方圖均衡化

直方圖均衡化,其目的是為了將圖像中的一些動(dòng)態(tài)范圍較小、較集中的的灰度級(jí)改變,讓圖像的灰度級(jí)分布的更為均與一些。可以依據(jù)輸入的圖像就能得到一個(gè)變換函數(shù)來自動(dòng)的實(shí)現(xiàn)直方圖分布均勻的效果。

我對(duì)于直方圖的推到論文并沒有看過,所有最底層的細(xì)節(jié)不太了解。全基于我對(duì)于均衡化的計(jì)算理解。

從實(shí)際情況分析【數(shù)字圖像處理】直方圖均衡化與規(guī)定化

觀察這張圖的直方圖,在整個(gè)[0,255]的灰度級(jí)中,大部分的灰度級(jí)都是集中在較高的灰度部分。整個(gè)圖片都是偏亮。我們希望提高圖像的對(duì)比度,讓圖像的更多細(xì)節(jié)變的突出,同時(shí)希望圖像不要太亮,讓灰度級(jí)像素分布均勻一些。

所以,我們的目的是希望挪動(dòng)直方圖的灰度級(jí),而不是修改直方圖的灰度級(jí)的數(shù)量,大規(guī)模修改灰度級(jí)的像素的數(shù)量會(huì)改變整幅圖像。且會(huì)影響灰度級(jí)的分布,有需要重新取計(jì)算,所有我們的目的是,不修改各自灰度級(jí)的像素?cái)?shù)量,而是僅僅移動(dòng)灰度級(jí)。

【數(shù)字圖像處理】直方圖均衡化與規(guī)定化

?r是指原始圖像的灰度級(jí),s是目的變換后的灰度級(jí)。

可以列出某種函數(shù)關(guān)系

變換前與變換后都是要滿足同樣的灰度級(jí)范圍。

在輸入一個(gè)灰度級(jí)的像素,經(jīng)過變換后就是輸出后的一個(gè)新的灰度級(jí)。

關(guān)于變換函數(shù),可以得到其反變換,也就是反函數(shù)

而函數(shù)存在反函數(shù)的情況是,函數(shù)是一個(gè)嚴(yán)格單調(diào)遞增函數(shù),這樣才不會(huì)出現(xiàn)一對(duì)多的二義性矛盾。

但是在于實(shí)際的圖片的變換情況下是,任然存在多個(gè)灰度級(jí)變換后變成一個(gè)灰度級(jí)的情況,也就是多對(duì)一情況。這是因?yàn)?,作用于圖像的整數(shù),是任然存在多對(duì)一的情況。【數(shù)字圖像處理】直方圖均衡化與規(guī)定化

?對(duì)于圖像的不同的灰度級(jí),對(duì)于不同的灰度級(jí)的灰度數(shù)量,在整幅圖像的分布,可以用概率來替代表示,這是屬于歸一化的思想。

公式推導(dǎo)?

【數(shù)字圖像處理】直方圖均衡化與規(guī)定化

?得到r的s映射關(guān)系后,可以通過相應(yīng)的映射可以進(jìn)行灰度級(jí)變換。

Matlab代碼實(shí)現(xiàn)

mat1=imread("Image\gray.jpg");
mat2=mat1;
L=256;

%統(tǒng)計(jì)一副圖像的不同灰度級(jí)的在圖像中的概率密度(該灰度級(jí)的像素?cái)?shù)量/整個(gè)圖像的像素總數(shù)量)
[M,N]=size(mat1); 
probaDensity=zeros(1,L);%從1開始到256-[0,255]
for a=1:M
    for b=1:N
        probaDensity(mat1(a,b)+1)=probaDensity(mat1(a,b)+1) + 1;
    end
end
for a=1:L
    probaDensity(a)=probaDensity(a)/(M*N);
end
%bar(1:L,probaDensity)
%計(jì)算累計(jì)概率密度-s=T(r)=積分p(r)*(L-1)*dr
cumprobaDensity=zeros(1,L);
cumprobaDensity(1)=probaDensity(1);
for a=2:L
    cumprobaDensity(a)=cumprobaDensity(a-1)+probaDensity(a);
end


%完成變換,乘以(L-1)取整,完成s的映射,可以構(gòu)建s的映射表
S=zeros(1,L);
for a=1:L
    S(a)=uint8(cumprobaDensity(a)*(L-1)+0.5);
end
%bar(1:L,S)

%完成了r-s的映射表,然后遍歷圖像,將圖像的灰度級(jí)(r)對(duì)應(yīng)到變換后的s

for a=1:M
    for b=1:N
        mat2(a,b)=S(mat2(a,b)+1);
    end
end

figure,
subplot(221),imhist(mat1),title("原直方圖")
subplot(222),imhist(mat2),title("均衡化直方圖")
subplot(223),imshow(mat1),title("原圖")
subplot(224),imshow(mat2),title("均衡化");
clf;

效果展示

【數(shù)字圖像處理】直方圖均衡化與規(guī)定化

?這樣一來,灰度級(jí)分布的較為均勻,基本上在[0,L-1]的灰度級(jí)都覆蓋到了。均衡化后的圖像對(duì)比度提升,細(xì)節(jié)增加。

圖像的規(guī)定化

規(guī)定化,其本身與均衡化一樣,不過均衡化的變換函數(shù)/增強(qiáng)函數(shù)是由圖像自動(dòng)決定的,讓圖像的灰度級(jí)變的更為均勻。而規(guī)定化可以讓我們自己指定希望變換的圖像的增強(qiáng)函數(shù)。讓我們可以達(dá)到自己想要的效果??梢赃x擇讓灰度級(jí)集中到低灰度級(jí)區(qū)域,讓陰影的細(xì)節(jié)更為豐富。

我們提供一個(gè)圖像,以其的直方圖作為變換的模板。

?我們提供了兩張圖,兩張圖都進(jìn)行變換,然后得到兩個(gè)的映射函數(shù)表,再進(jìn)行一次映射,可以得到新的映射表。

數(shù)學(xué)推導(dǎo)

【數(shù)字圖像處理】直方圖均衡化與規(guī)定化

關(guān)鍵是在于怎么完成Sr到z的反映射。

有兩種方法-單映射與組映射,也就是SML與GML算法。

單映射

根據(jù)SML的思想,以為基準(zhǔn),讓去查找,差值的絕對(duì)值最小的哪個(gè)灰度級(jí)就是新映射的灰度級(jí)。

Matlab代碼

mat1=imread("Image\原圖.jpg");
tmat1=mat1;
mat0=imread("Image\規(guī)定圖.jpg");
tmat0=mat0;

L=256;

[M1,N1]=size(tmat1);
[M0,N0]=size(tmat0);



%%統(tǒng)計(jì)r與z的概率密度
density0=zeros(1,L);
density1=zeros(1,L);



for a=1:M0
    for b=1:N0
        density0(tmat0(a,b)+1)=density0(tmat0(a,b)+1)+1;
    end
end
for a=1:M1
    for b=1:N1
        density1(tmat1(a,b)+1)=density1(tmat1(a,b)+1)+1;
    end
end



for a=1:L
    density1(a)=density1(a)/(M1*N1);
    density0(a)=density0(a)/(M0*N0);

end


%%分別得到關(guān)于r的T(r)-累計(jì)概率密度*(L-1)
%%關(guān)于z的G(z)-累計(jì)概率密度*(l-1)

cumdensity0=zeros(1,L);
cumdensity1=zeros(1,L);

cumdensity0(1)=density0(1);
cumdensity1(1)=density1(1);

for a=2:L
    cumdensity0(a)=cumdensity0(a-1)+density0(a);
    cumdensity1(a)=cumdensity1(a-1)+density1(a);

end

% bar(1:L,cumdensity0)
% bar(1:L,cumdensity1)


%%完成了量組對(duì)于S的映射,還需要關(guān)于Sr的反映射到z
%找Sr與Sk中差值最小的
Rz1=zeros(1,L);

%為避免取整誤差,直接用累計(jì)概率密度進(jìn)行計(jì)算

%%單映射以z為基準(zhǔn),進(jìn)行r中的查找最小的開始映射
temp=0.0;
for a=1:L
    temp=cumdensity1(a);
    MinDen=1.0;
    minIndex=1;
    for b=1:L
        if abs(temp-cumdensity0(b)) <= MinDen
            minIndex=b;
            MinDen=abs(temp-cumdensity0(b));
        end
    end
    %可以找出最小的差值和下標(biāo)
    Rz1(a)=minIndex;
end


for a=1:M1
    for b=1:N1
        tmat1(a,b)=Rz1(tmat1(a,b));
    end
end



figure,
subplot(231),imhist(mat1),title("原直方圖")
subplot(232),imhist(mat0),title("規(guī)定直方圖")
subplot(233),imhist(tmat1),title("單映射直方圖")
subplot(234),imshow(mat1),title("原圖");
subplot(235),imshow(mat0),title("規(guī)定圖");
subplot(236),imshow(tmat1),title("單映射后圖");
clf;


%%組映射以r為基準(zhǔn),查找r中的累計(jì)概率密度的最小差值

效果展示【數(shù)字圖像處理】直方圖均衡化與規(guī)定化

?組映射

都說單映射的查找方法是存在誤差的,所以提供了組映射。

組映射與單映射反過來,以原圖圖的為基準(zhǔn),讓規(guī)定圖的去查找原圖中累計(jì)概率密度的差值的絕對(duì)值最小的哪個(gè)灰度級(jí),依次為一個(gè)分別,讓從0到這個(gè)灰度級(jí)之間的所有灰度級(jí)都映射到當(dāng)前的規(guī)定圖的灰度級(jí),然后更新邊界,直到下一次找到最小的邊界。

具體組映射和單映射的理解可以參考直方圖規(guī)定化:?jiǎn)斡成湟?guī)則、組映射規(guī)則的手動(dòng)求解過程_Nefu_lyh的博客-CSDN博客_直方圖規(guī)定化例題

這個(gè)博主講解的還是很清晰的。

Matlab代碼

mat1=imread("Image\原圖.jpg");
tmat1=mat1;
mat0=imread("Image\規(guī)定圖.jpg");
tmat0=mat0;

L=256;

[M1,N1]=size(tmat1);
[M0,N0]=size(tmat0);



%%統(tǒng)計(jì)r與z的概率密度
density0=zeros(1,L);
density1=zeros(1,L);



for a=1:M0
    for b=1:N0
        density0(tmat0(a,b)+1)=density0(tmat0(a,b)+1)+1;
    end
end
for a=1:M1
    for b=1:N1
        density1(tmat1(a,b)+1)=density1(tmat1(a,b)+1)+1;
    end
end



for a=1:L
    density1(a)=density1(a)/(M1*N1);
    density0(a)=density0(a)/(M0*N0);

end


%%分別得到關(guān)于r的T(r)-累計(jì)概率密度*(L-1)
%%關(guān)于z的G(z)-累計(jì)概率密度*(l-1)

cumdensity0=zeros(1,L);
cumdensity1=zeros(1,L);

cumdensity0(1)=density0(1);
cumdensity1(1)=density1(1);

for a=2:L
    cumdensity0(a)=cumdensity0(a-1)+density0(a);
    cumdensity1(a)=cumdensity1(a-1)+density1(a);

end
%%完成了量組對(duì)于S的映射,還需要關(guān)于Sr的反映射到z
%找Sr與Sk中差值最小的
Rz2=zeros(1,L);

%為避免取整誤差,直接用累計(jì)概率密度進(jìn)行計(jì)算
%%組映射以r為基準(zhǔn),查找r中的累計(jì)概率密度的最小差值,以組為單位進(jìn)行映射
%設(shè)置一個(gè)邊界,在查找完一輪后,映射區(qū)域內(nèi)的r,然后更新邊界
bound=1;
temp=0.0;
for a=1:L
    temp=cumdensity0(a);
    MinDen=1.0;
    minIndex=1;
    for b=1:L
        if abs(temp-cumdensity1(b))<=MinDen
            minIndex=b;
            MinDen=abs(temp-cumdensity1(b));
        end
    end
    %查找完,開始映射[bound,minIndex]
    for cd=bound:minIndex
        Rz2(cd)=a;
    end
    %更新邊界
    bound=minIndex+1;
end


for a=1:M1
    for b=1:N1
        tmat1(a,b)=Rz2(tmat1(a,b));
    end
end



figure,
subplot(231),imhist(mat1),title("原直方圖")
subplot(232),imhist(mat0),title("規(guī)定直方圖")
subplot(233),imhist(tmat1),title("組映射直方圖")
subplot(234),imshow(mat1),title("原圖");
subplot(235),imshow(mat0),title("規(guī)定圖");
subplot(236),imshow(tmat1),title("組映射后圖");
clf;


效果展示

【數(shù)字圖像處理】直方圖均衡化與規(guī)定化文章來源地址http://www.zghlxwxcb.cn/news/detail-425373.html

到了這里,關(guān)于【數(shù)字圖像處理】直方圖均衡化與規(guī)定化的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • FPGA圖像處理仿真實(shí)驗(yàn)——直方圖均衡化

    FPGA圖像處理仿真實(shí)驗(yàn)——直方圖均衡化

    直方圖均衡化實(shí)驗(yàn),主要包括三部分,直方圖統(tǒng)計(jì)、計(jì)算累加直方圖、均衡化。 1、直方圖統(tǒng)計(jì) ? ? ? ?直方圖統(tǒng)計(jì)就是記錄每個(gè)灰度值在圖片中出現(xiàn)的像素次數(shù),灰度圖片有0-255個(gè)灰度級(jí),如果我們定義256個(gè)寄存器來存儲(chǔ)數(shù)據(jù)比較麻煩,所以借用RAM來實(shí)現(xiàn)直方圖統(tǒng)計(jì)。當(dāng)輸入

    2024年02月07日
    瀏覽(98)
  • C#使用OpenCv(OpenCVSharp)圖像直方圖均衡化處理實(shí)例

    本文實(shí)例演示C#語言中如何使用OpenCv(OpenCVSharp)對(duì)圖像進(jìn)行直方圖均衡化處理。 直方圖均衡化原理 直方圖均衡化(Histogram Equalization)是一種常用的圖像增強(qiáng)技術(shù),用于改善圖像的對(duì)比度和亮度分布。它通過重新分配圖像灰度級(jí)的像素值,使得圖像的直方圖在灰度范圍內(nèi)更加

    2024年02月07日
    瀏覽(76)
  • FPGA圖像處理與直方圖均衡化的綜合應(yīng)用:理論支撐、仿真波形與詳細(xì)代碼

    FPGA圖像處理與直方圖均衡化的綜合應(yīng)用:理論支撐、仿真波形與詳細(xì)代碼

    FPGA直方圖均衡化 直方圖拉伸 FPGA圖像處理 工程和算法包含以下內(nèi)容: 1,MATLAB中實(shí)現(xiàn)圖像處理。 2,verilog代碼利用MATLAB聯(lián)合modelsim仿真實(shí)現(xiàn)的圖像處理。 3,小梅哥AC620和正點(diǎn)原子新起點(diǎn) 開拓者的FPGA板卡上實(shí)現(xiàn)的圖像處理。 4,效果展示。 有理論支撐,有仿真波形,有詳細(xì)代

    2024年04月27日
    瀏覽(25)
  • 彩色圖像處理之彩色圖像直方圖處理的python實(shí)現(xiàn)——數(shù)字圖像處理

    彩色圖像處理之彩色圖像直方圖處理的python實(shí)現(xiàn)——數(shù)字圖像處理

    彩色圖像的直方圖處理是一種重要的圖像處理技術(shù),用于改善圖像的視覺效果,增強(qiáng)圖像的對(duì)比度,或?yàn)楹罄m(xù)的圖像處理任務(wù)(如圖像分割、特征提?。┳鰷?zhǔn)備。彩色圖像通常由紅色(R)、綠色(G)、藍(lán)色(B)三個(gè)顏色通道組成,因此彩色圖像的直方圖處理相比單色圖像更

    2024年01月23日
    瀏覽(25)
  • (數(shù)字圖像處理MATLAB+Python)第五章圖像增強(qiáng)-第二節(jié):基于直方圖修正的圖像增強(qiáng)

    (數(shù)字圖像處理MATLAB+Python)第五章圖像增強(qiáng)-第二節(jié):基于直方圖修正的圖像增強(qiáng)

    基于直方圖修正的圖像增強(qiáng) :是一種常見的圖像處理方法。該方法通過對(duì)圖像的像素值分布進(jìn)行調(diào)整,以改善圖像的對(duì)比度和亮度等視覺效果。具體地,直方圖校正方法將圖像的像素值轉(zhuǎn)換為一個(gè)新的值域范圍,使得像素值的分布更加均勻,從而增強(qiáng)圖像的細(xì)節(jié)和對(duì)比度。這

    2023年04月19日
    瀏覽(116)
  • Python圖像增強(qiáng)之直方圖均衡化(全局直方圖均衡、局部直方圖均衡)

    Python圖像增強(qiáng)之直方圖均衡化(全局直方圖均衡、局部直方圖均衡)

    圖像增強(qiáng)是有目的地強(qiáng)調(diào)圖像的整體或局部特性,將原來不清晰的圖像變得清晰或強(qiáng)調(diào)某些感興趣的特征,擴(kuò)大圖像中不同物體特征之間的差別,抑制不感興趣的特征,使之改善圖像質(zhì)量、豐富信息量,加強(qiáng)圖像判讀和識(shí)別效果,滿足某些特殊分析的需要。 圖像增強(qiáng)通常劃分

    2024年02月13日
    瀏覽(28)
  • OpenCV10-圖像直方圖:直方圖繪制、直方圖歸一化、直方圖比較、直方圖均衡化、直方圖規(guī)定化、直方圖反射投影

    圖像直方圖就是統(tǒng)計(jì)圖像中每個(gè)灰度值的個(gè)數(shù),之后將灰度值作為橫軸,以灰度值個(gè)數(shù)或者灰度值所占比率作為縱軸的統(tǒng)計(jì)圖。通過直方圖,可以看出圖像中哪些灰度值數(shù)目較多,哪些較少,可以通過一定的方法將灰度值較為集中的區(qū)域映射到較為稀疏的區(qū)域,從而使圖像在

    2024年01月16日
    瀏覽(22)
  • 【matlab圖像處理】圖像直方圖操作和matlab畫圖

    【matlab圖像處理】圖像直方圖操作和matlab畫圖

    中國史之【平王東遷】: 公元前771年,因鎬京曾遭地震,殘破不堪,又接近戎、狄等外患威脅,周平王遂在鄭、秦、晉等諸侯的護(hù)衛(wèi)下,將國都東遷至洛邑,東周歷史由此開始。 ——來源:全歷史APP 【路漫漫其修遠(yuǎn)兮,吾將上下而求索】 今天介紹圖像的直方圖操作以及用

    2024年02月04日
    瀏覽(23)
  • 我在Vscode學(xué)OpenCV 圖像處理五(直方圖處理)

    我在Vscode學(xué)OpenCV 圖像處理五(直方圖處理)

    直方圖是一種統(tǒng)計(jì)圖,顯示了圖像中每個(gè)灰度級(jí)別(或顏色通道)的像素?cái)?shù)量。通過分析圖像的直方圖,可以獲得關(guān)于圖像對(duì)比度、亮度和顏色分布等方面的重要信息。 了解圖像的對(duì)比度、亮度和色彩分布等信息。你可以使用OpenCV中的函數(shù)來計(jì)算和繪制圖像的直方圖,從而進(jìn)

    2024年01月21日
    瀏覽(26)
  • Python-OpenCV中的圖像處理-圖像直方圖

    Python-OpenCV中的圖像處理-圖像直方圖

    通過直方圖你可以對(duì)整幅圖像的灰度分布有一個(gè)整體的了解。直方圖的 x 軸是灰度值( 0 到 255), y 軸是圖片中具有同一個(gè)灰度的點(diǎn)的數(shù)目。 BINS:上面的直方圖顯示了每個(gè)灰度值對(duì)應(yīng)的像素?cái)?shù)。如果像素值為 0到255,你就需要 256 個(gè)數(shù)來顯示上面的直方圖。但是,如果你不需

    2024年02月12日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包