資源描述:
《基于matlab的直方圖均衡化代碼》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、基于matlab的直方圖均衡化代碼2007-04-1520:15clearall%一,圖像的預(yù)處理,讀入彩色圖像將其灰度化PS=imread('1.jpg');????????????????%讀入JPG彩色圖像文件imshow(PS)?????????????????????????????????%顯示出來title('輸入的彩色JPG圖像')imwrite(rgb2gray(PS),'PicSampleGray.bmp');%將彩色圖片灰度化并保存PS=rgb2gray(PS);???????????????????????????%灰度化后的數(shù)據(jù)存入數(shù)組%二,繪制直方圖[m,n
2、]=size(PS);????????????????????????????%測(cè)量圖像尺寸參數(shù)GP=zeros(1,256);???????????????????????????%預(yù)創(chuàng)建存放灰度出現(xiàn)概率的向量fork=0:255????GP(k+1)=length(find(PS==k))/(m*n);?????%計(jì)算每級(jí)灰度出現(xiàn)的概率,將其存入GP中相應(yīng)位置endfigure,bar(0:255,GP,'g')???????????????????%繪制直方圖title('原圖像直方圖')xlabel('灰度值')ylabel('出現(xiàn)概率')%三,直方圖均衡化S1=zeros(1
3、,256);fori=1:256????forj=1:i?????????S1(i)=GP(j)+S1(i);????????????????%計(jì)算Sk????endendS2=round((S1*256)+0.5);?????????????????????????%將Sk歸到相近級(jí)的灰度fori=1:256????GPeq(i)=sum(GP(find(S2==i)));??????????%計(jì)算現(xiàn)有每個(gè)灰度級(jí)出現(xiàn)的概率endfigure,bar(0:255,GPeq,'b')?????????????????%顯示均衡化后的直方圖title('均衡化后的直方圖')xlabel('
4、灰度值')ylabel('出現(xiàn)概率')%四,圖像均衡化PA=PS;fori=0:255????PA(find(PS==i))=S2(i+1);???????????????%將各個(gè)像素歸一化后的灰度值賦給這個(gè)像素endfigure,imshow(PA)??????????????????????????%顯示均衡化后的圖像title('均衡化后圖像')imwrite(PA,'PicEqual.bmp');