MATLAB数字图像处理(一)直方图均衡化
来源:互联网 发布:docker 阿里云 编辑:程序博客网 时间:2024/06/05 17:13
直方图均衡化的基本原理是根据原始图像某个像素点出现的概率对应着累积分布函数的值决定的,假设原始图像为
该图像的概率密度函数(直方图)为:
累积分布函数为:
像素为3的值,在CDF(3)=0.556,均衡化后的值为0.5556*(灰度级,这里是9)-1=4.004,取整后变为4。
像素为5的值,在CDF(5)=0.556,均衡化后的值为0.8889*(灰度级,这里是9)-1=7.0001,取整后变为7。
因此,均衡化后图像变为:
MATLAB直方图均衡化代码实现:
clc
clear
m=[3,5,3;8,2,6;2,1,5];
S=9;
number=zeros(1,S);
[M,N]=size(m);
for i=1:M
for j=1:N
for index=1:S
if m(i,j)==index
number(1,index)=number(1,index)+1;
end
end
end
end
figure(1)
stem(number)
%直方图均衡化
for i=1:S
data=number(1,1:i);
cdf_image(1,i)=1/(M*N)*sum(data);
end
figure(2)
plot(cdf_image)
clear
m=[3,5,3;8,2,6;2,1,5];
S=9;
number=zeros(1,S);
[M,N]=size(m);
for i=1:M
for j=1:N
for index=1:S
if m(i,j)==index
number(1,index)=number(1,index)+1;
end
end
end
end
figure(1)
stem(number)
%直方图均衡化
for i=1:S
data=number(1,1:i);
cdf_image(1,i)=1/(M*N)*sum(data);
end
figure(2)
plot(cdf_image)
n=m;
for i=1:S
index=find(n==i);
L=length(index);
for j=1:L
n(index(j))=round(cdf_image(i)*9-1)
end
end
bbb=zeros(1,S);
[M,N]=size(n);
for i=1:M
for j=1:N
for index=1:S
if n(i,j)==index
bbb(1,index)=bbb(1,index)+1;
end
end
end
end
figure(3)
stem(bbb)
for i=1:S
index=find(n==i);
L=length(index);
for j=1:L
n(index(j))=round(cdf_image(i)*9-1)
end
end
bbb=zeros(1,S);
[M,N]=size(n);
for i=1:M
for j=1:N
for index=1:S
if n(i,j)==index
bbb(1,index)=bbb(1,index)+1;
end
end
end
end
figure(3)
stem(bbb)
阅读全文
2 0
- MATLAB数字图像处理(一)直方图均衡化
- MATLAB数字图像处理(一)局部直方图均衡化
- MATLAB数字图像处理(一)图像直方图
- 数字图像处理--直方图均衡化
- 数字图像处理-----直方图均衡化
- 使用 matlab 数字图像处理(二)—— 直方图均衡化(极简实现)
- 【数字图像处理】直方图均衡
- 使用 matlab 数字图像处理(一)—— 归一化直方图
- python数字图像处理(9):直方图与均衡化
- python数字图像处理(9):直方图与均衡化
- python数字图像处理(9):直方图与均衡化
- 数字图像处理:1.直方图均衡化
- 数字图像处理之直方图均衡化
- python数字图像处理:直方图与均衡化
- 【数字图像处理】[2]--直方图均衡化
- 数字图像处理之直方图均衡化(Octave)
- 数字图像处理之--灰度直方图均衡化
- 【学习笔记】【数字图像处理】直方图均衡化
- 高性能Javascript 读书笔记
- abstract class和interface有什么区别?
- Aras Innovator: 扩展Part类型,管理更多的物体类型
- 为什么只有代币最火?老司机深入解读区块链落地的理念与模式
- mysql 中删除多张表
- MATLAB数字图像处理(一)直方图均衡化
- 1023. 组个最小数 (20) PAT乙级真题
- Simple Queue
- 常引用(const type&)的特性及引用的本质
- 【Scikit-Learn 中文文档】模型选择:选择估计量及其参数
- CSS设置下划线与文字间距距离
- .NET调用Java写的WebServices(可能会碰到的问题)
- 用ffmpeg 把mp4文件转为ts文件并生成m3u8列表
- Android_注解与泛型