資源描述:
《直方圖均衡化matlab程序.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、直方圖和直方圖均衡的Matlab完整程序(數(shù)字圖像處理)一、實(shí)驗(yàn)?zāi)康恼莆栈镜膱D象增強(qiáng)方法,觀察圖象增強(qiáng)的效果,加深對(duì)灰度直方圖及直方圖均衡化的理解,掌握直方圖均衡化方法。二、實(shí)驗(yàn)內(nèi)容將一張彩色圖片轉(zhuǎn)換成灰色圖片,畫灰度直方圖和均衡化后的直方圖,并將灰度圖和均衡化后的圖片對(duì)比。三、實(shí)驗(yàn)原理灰度直方圖是將數(shù)字圖像中的所有像素,按照灰度值的大小,統(tǒng)計(jì)其所出現(xiàn)的頻度。通常,灰度直方圖的橫坐標(biāo)表示灰度值,縱坐標(biāo)為像素個(gè)數(shù),也可以采用某一灰度值的像素?cái)?shù)占全圖像素?cái)?shù)的百分比作為縱坐標(biāo)。直方圖均衡方法的基本原理是:對(duì)在圖像中像素個(gè)數(shù)多的灰度值(即對(duì)畫面起主要作用的灰度值)進(jìn)行展寬,而對(duì)像素個(gè)數(shù)少的灰度
2、值(即對(duì)畫面不起主要作用的灰度值)進(jìn)行歸并。從而達(dá)到清晰圖像的目的。四、實(shí)驗(yàn)程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%函數(shù)功能,畫出圖像的直方圖,并對(duì)圖像進(jìn)行直方圖均衡%直接讀圖像abc.jpg,讀到tuu中%graydis是原始直方圖各灰度級(jí)像素個(gè)數(shù)%原始直方圖graydispro,利用原始直方圖計(jì)算原始累計(jì)直方圖graydispro%t[]計(jì)算和原始灰度對(duì)應(yīng)的新的灰度t[],建立映射關(guān)系,t坐標(biāo)代表原始的灰度,t[]代表對(duì)應(yīng)原始坐標(biāo)的新坐標(biāo)%new_graydis是統(tǒng)計(jì)新
3、直方圖各灰度級(jí)像素個(gè)數(shù)%計(jì)算新的灰度直方圖new_graydispro,利用新的直方圖計(jì)算新的累計(jì)直方圖new_graydispro%計(jì)算直方圖均衡后的新圖new_tu%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clearallclosealltuu=imread('abc.jpg');%讀入圖片tu=rgb2gray(tuu);%將彩色圖片轉(zhuǎn)換為灰度圖graydis=zeros(1,256);%設(shè)置矩陣大小graydispro=zeros(1,256);new_graydis=ze
4、ros(1,256);new_graydispro=zeros(1,256);[hw]=size(tu);new_tu=zeros(h,w);%計(jì)算原始直方圖各灰度級(jí)像素個(gè)數(shù)graydisforx=1:hfory=1:wgraydis(1,tu(x,y))=graydis(1,tu(x,y))+1;endend%計(jì)算原始直方圖graydisprograydispro=graydis./sum(graydis);subplot(1,2,1);plot(graydispro);title('灰度直方圖');xlabel('灰度值');ylabel('像素的概率密度');%計(jì)算原始累計(jì)直方圖f
5、ori=2:256graydispro(1,i)=graydispro(1,i)+graydispro(1,i-1);end%計(jì)算和原始灰度對(duì)應(yīng)的新的灰度t[],建立映射關(guān)系fori=1:256t(1,i)=floor(254*graydispro(1,i)+0.5);end%統(tǒng)計(jì)新直方圖各灰度級(jí)像素個(gè)數(shù)new_graydisfori=1:256new_graydis(1,t(1,i)+1)=new_graydis(1,t(1,i)+1)+graydis(1,i);end%計(jì)算新的灰度直方圖new_graydispronew_graydispro=new_graydis./sum(new
6、_graydis);subplot(1,2,2);plot(new_graydispro);title('均衡化后的灰度直方圖');xlabel('灰度值');ylabel('像素的概率密度');%計(jì)算直方圖均衡后的新圖new_tuforx=1:hfory=1:wnew_tu(x,y)=t(1,tu(x,y));endendfigure,imshow(tu,[]);title('原圖');figure,imshow(new_tu,[]);title('直方圖均衡化后的圖');//////////////////////////////////////////////////////另外兩
7、種代碼:代碼Matlab下面的代碼來自archiless,注釋非常詳細(xì),適合初學(xué)。%數(shù)字圖像處理程序作業(yè)%本程序能將JPG格式的彩色圖像文件灰度化并進(jìn)行直方圖均衡%%輸入文件:PicSample.jpg待處理圖像%輸出文件:PicSampleGray.bmp灰度化后圖像%PicEqual.bmp均衡化后圖像%%輸出圖形窗口說明%figureNO1待處理彩色圖像%figureNO2灰度化后圖像%figureNO3直方圖%figureN