【matlab】直方图均衡化
2012-09-17 09:08
183 查看
%一,图像的预处理,读入彩色图像将其灰度化 dirtest = 'H:\CMU表情库\cohn-kanade\cohn-kanade\cohn-kanade\S010\003\'; DIRS_test = dir([dirtest,'*.png']); m = 18 %文件夹内的图片个数 for w = 1:m if ~DIRS_test(w).isdir string_test = [dirtest,DIRS_test(w).name]; PS=imread(string_test); %二,绘制直方图 [m,n]=size(PS); GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(PS==k))/(m*n);%计算每级灰度出现的概率,将其存入GP中相应位置 end %三,直方图均衡化 S1=zeros(1,256); for i=1:256 for j=1:i S1(i)=GP(j)+S1(i); %计算Sk end end S2=round((S1*256)+0.5);%将Sk归到相近级的灰度 for i=1:256 GPeq(i)=sum(GP(find(S2==i)));%计算现有每个灰度级出现的概率 end %四,图像均衡化 PA=PS; for i=0:255 PA(find(PS==i))=S2(i+1);%将各个像素归一化后的灰度值赋给这个像素 end save = [dirtest,'equation\',DIRS_test(w).name]; imwrite(PA,save); end end
相关文章推荐
- matlab对图像进行直方图均衡化
- 基于MATLAB的直方图均衡化
- [matlab]直方图均衡化
- 用matlab实现视频的空间滤波和直方图均衡化
- matlab 直方图均衡化
- matlab直方图均衡化
- 直方图均衡化的MATLAB实现
- 基于直方图均衡化的水下激光图像处理(MATLAB仿真)
- MATLAB - 练习程序,直方图均衡化
- 用matlab实现视频的空间滤波和直方图均衡化
- matlab中的直方图均衡化
- 直方图均衡化(matlab实现)
- 直方图均衡化的MATLAB的实现(2)
- 直方图均衡化matlab
- 基于matlab的直方图均衡化代码
- 直方图均衡化(matlab)
- matlab实现批量图片的直方图均衡化
- matlab 的直方图均衡化
- MATLAB实例1-直方图均衡化
- Matlab图像处理转灰度图,绘制直方图,直方图均衡化