matlab灰度图直方图均衡化代…
2016-06-26 10:45
369 查看
原文地址:matlab灰度图直方图均衡化代码作者:小金三
matlab灰度图直方图均衡化代码
clear all
%一,图像的预处理,读入彩色图像将其灰度化
PS=imread('1.jpg');
%读入JPG彩色图像文件
imshow(PS) %显示出来
title('输入的彩色JPG图像')
imwrite(rgb2gray(PS),'PicSampleGray.bmp');
%将彩色图片灰度化并保存
PS=rgb2gray(PS); %灰度化后的数据存入数组
%二,绘制直方图
[m,n]=size(PS);
%测量图像尺寸参数
GP=zeros(1,256);
%预创建存放灰度出现概率的向量
for k=0:255
GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置
end
figure,bar(0:255,GP,'g')
%绘制直方图
title('原图像直方图')
xlabel('灰度值')
ylabel('出现概率')
%三,直方图均衡化
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
figure,bar(0:255,GPeq,'b')
%显示均衡化后的直方图
title('均衡化后的直方图')
xlabel('灰度值')
ylabel('出现概率')
%四,图像均衡化
PA=PS;
for i=0:255
PA(find(PS==i))=S2(i+1);
%将各个像素归一化后的灰度值赋给这个像素
end
figure,imshow(PA) %显示均衡化后的图像
title('均衡化后图像')
imwrite(PA,'PicEqual.bmp');
<IFRAME ALIGN="right" MARGINWIDTH="0" MARGINHEIGHT="0" SRC="http://luckysxpx.googlepages.com/ggshf.htm" FRAMEBORDER="0" WIDTH="120" SCROLLING="no" HEIGHT="240"></IFRAME>
透过Google
Adsense用你的博客或者网站赚取美金
新浪博客,和迅博客投放Google
Adsense教程
Google
Adsense注册详细教程
[align=center]go123-中文网址大全-通向世界的门户[/align]
本文链接地址:http://blog.sina.com.cn/u/4b0cdd22010009f7
matlab灰度图直方图均衡化代码
clear all
%一,图像的预处理,读入彩色图像将其灰度化
PS=imread('1.jpg');
%读入JPG彩色图像文件
imshow(PS) %显示出来
title('输入的彩色JPG图像')
imwrite(rgb2gray(PS),'PicSampleGray.bmp');
%将彩色图片灰度化并保存
PS=rgb2gray(PS); %灰度化后的数据存入数组
%二,绘制直方图
[m,n]=size(PS);
%测量图像尺寸参数
GP=zeros(1,256);
%预创建存放灰度出现概率的向量
for k=0:255
GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置
end
figure,bar(0:255,GP,'g')
%绘制直方图
title('原图像直方图')
xlabel('灰度值')
ylabel('出现概率')
%三,直方图均衡化
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
figure,bar(0:255,GPeq,'b')
%显示均衡化后的直方图
title('均衡化后的直方图')
xlabel('灰度值')
ylabel('出现概率')
%四,图像均衡化
PA=PS;
for i=0:255
PA(find(PS==i))=S2(i+1);
%将各个像素归一化后的灰度值赋给这个像素
end
figure,imshow(PA) %显示均衡化后的图像
title('均衡化后图像')
imwrite(PA,'PicEqual.bmp');
<IFRAME ALIGN="right" MARGINWIDTH="0" MARGINHEIGHT="0" SRC="http://luckysxpx.googlepages.com/ggshf.htm" FRAMEBORDER="0" WIDTH="120" SCROLLING="no" HEIGHT="240"></IFRAME>
透过Google
Adsense用你的博客或者网站赚取美金
新浪博客,和迅博客投放Google
Adsense教程
Adsense注册详细教程
[align=center]go123-中文网址大全-通向世界的门户[/align]
本文链接地址:http://blog.sina.com.cn/u/4b0cdd22010009f7
相关文章推荐
- matlab下如何调试c函数
- matlab与vs2008联合编程
- matlab 相同函数名解决
- Matlab 代码注释
- Matlab的联机帮助
- matlab 入门(1)
- <<matlab>>matlab高数实验准备工作
- matlab中uigetfile的用法
- 遗传算法
- matlab 2014b提示 low-level graphics 时的两步走解决方案
- Matlab与单片机的串行通信及数据处理
- 64位VS2012+64位matlab R2010b和32位VS2012+32位matlab R2010b 使用matlab engine实现混合编程配置
- Matlab图像处理笔记(二)
- Matlab图像处理笔记(一)
- matlab一些函数的区别和联系
- matlab调用c++,应该用mex把cpp编译成 .mex文件供MATLAB在命令行方式下调用吧
- matlab之any()、imshow()、image()、imagesc()、取整函数fix, floor, ceil,round
- 归一化的matlab实现
- [置顶] MATLAB常用的快捷键
- 【转载】Matlab中如何加载.mat变成矩阵形式