資源簡介
該代碼包含了直方圖均衡算法、帶亮度均衡的同態增晰算法、不帶亮度均衡的同態增晰算法,附加一個模仿人口密度函數的高通濾波器。適用于彩色圖像和灰度圖像,增強效果很不錯。

代碼片段和文件信息
clear?all
close?all
pic=imread(‘H78.jpg‘);?????%讀入圖片
figure;imshow(pic);title(‘before?enhancement‘);
for?k=1:3
????pic_gray=pic(::k);?????????????????%灰度圖提取
????%--------------原圖像直方圖----------------%
????color_num=zeros(1256);
????[M?N]=size(pic_gray);
????for?i=1:M
????????for?j=1:N
????????????color_num(pic_gray(ij)+1)=color_num(pic_gray(ij)+1)+1;
????????end
????end
????color_r=color_num/(M*N);
????%?figure(1);
????%?plot([0:255]color_r);
????%?title(‘原灰度直方圖‘);
????%?xlabel(‘灰度值‘);ylabel(‘像素的概率密度‘);
????%--------------圖像均衡----------------%
????%--------------計算原始累計直方圖----------------%
????color_s=zeros(1256);
????for?i=2:256
????????for?j=(i-1):-1:1
????????color_s(i)=color_s(i)+color_r(j);
????????end
????end
????%--------------量化四舍五入----------------%
????for?i=1:256
????????color_qu(i)=floor(255*color_s(i)+0.5);
????%?????color_s(i)=colorbar(i)/255;
????end
????%--------------作新圖像直方圖----------------%
????color_new_num=zeros(1256);
????for?i=1:256
????????color_new_num(color_qu(i)+1)=color_new_num(color_qu(i)+1)+color_num(i);
????end
????color_freq=color_new_num/(M*N);
????%?figure(2);
????%?plot([0:255]color_freq);
????%?title(‘新灰度直方圖‘);
????%?xlabel(‘灰度值‘);ylabel(‘像素的概率密度‘);
????%--------------建立新圖像----------------%
????for?i=1:M
????????for?j=1:N
????????????pic_new(ij)=color_qu(pic_gray(ij)+1);
????????end
????end
????%?figure(3);
????%?imshow(pic_gray[0?255]);
????%?title(‘直方圖均衡化前的圖‘);
????%?figure(4);
????%?imshow(pic_new[0?255]);
????%?title(‘直方圖均衡化后的圖‘);
????pic(::k)=pic_new;
end
figure;imshow(pic);title(‘after?enhancement‘);
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????1032??2013-04-17?13:13??rgb_hormomorphic.m
?????文件????????1740??2013-04-17?15:18??rgb_equalization.m
- 上一篇:yucekongzhi.m
- 下一篇:WVD和stft的matlab程序
評論
共有 條評論