⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 junh.m

📁 很好的灰度分布直方图MATLAB仿真图形
💻 M
字号:
%绘制图像灰度直方图,灰度均衡曲线;对图像进行灰度均衡
clear all;
a=imread('C:\1.bmp');
[p,q]=size(a);
x=1:1:256;                     %设定X轴的范围
total=zeros(1,256);            %用于存放0~255各级灰度出现的次数
b=double(a);                   %将创建原图像的副本并将其中的数据元素转换为double型,uint8型的数据无法进行计算 
sum=0;
for i=1:p*q                    %统计0~255各级灰度在图象中出现次数
    total(b(i)+1)=total(b(i)+1)+1;%由于total的下标从1开始到256而b(i)的范围是0~255,所以需要将b(i)的值加1才可以使b(i)和total对应
end;
for j=1:256                    %统计0~255各级灰度的累计出现次数
    sum=total(j)+sum;
    jtem(j)=sum;
end;
for j=1:256                    %统计0~255各级灰度累计出现频率,计算灰度变换曲线表
    jtotal(j)=255*jtem(j)/sum;
end;
for i=1:p*q                    %在副本上生成原图像的灰度均衡图像
    b(i)=jtotal(b(i)+1);       %由于jtotal的下标从1开始到256而b(i)的范围是0~255,所以需要加1才可以使b(i)和jtotal对应
end;      
b=uint8(b);                    %将b矩阵的元素转换为uint8类型
%以下是结果显示部分
subplot(2,2,1);
imshow(a);
title('原  图');
subplot(2,2,2);
y=total(x);
plot(x,y);
axis([0,255,0,max(total)+100]);
colorbar('horiz');
title('灰度直方图');
subplot(2,2,3);
z=jtotal(x);
plot(x,z);
title('灰度均衡曲线');
subplot(2,2,4);
imshow(b);
title('灰度均衡');



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -