数字图像处理笔记(一)Matlab实现直方图均衡化

简介: 数字图像处理笔记(一)Matlab实现直方图均衡化

第一种(直接调用Matlab内置函数):

G=imread('Fig0111(katrina_2005_08_29_NOAA).tif');
J=histeq(G);  %直方图均衡化,这一个函数就可以做到均衡化的效果
figure,
subplot(121),imshow(uint8(G));
title('原图')
subplot(122),imshow(uint8(J));
title('均衡化后')
figure,
subplot(121),imhist(G,64);
title('原图像直方图');
subplot(122),imhist(J,64);
title('均衡化后的直方图');

运行结果:

第二种(自己编写):

% 输入图像
H = imread('Fig0111(katrina_2005_08_29_NOAA).tif');
[m,n]=size(H);       % 计算图像的长宽
p=zeros(1,256);     %创建数组存储像素概率
% 统计每个像素值出现的概率, 得到概率直方图
for i=0:255
   % 用length函数计算相同像素的个数
   p(i+1)=length(find(H==i))/(m*n);  
end 
%输出原图
subplot(2,2,1);      %用subploy函数将多个图像画到同一个平面中
imshow(H);          %输出图像
title('原图');
%画出原图直方图
subplot(2,2,2);  
bar(0:255,p,'b');  
title('原图直方图');  
% 求累计概率,得到累计直方图
s=zeros(1,256);  
for i=1:256  
     for j=1:i  
         s(i)=p(j)+s(i);                  
     end  
end  
 
%完成每个像素点的映射
a=round(s*255);  
b=H;  
for i=0:255  
     b(H==i)=a(i+1);                
end 
%输出均衡化后的图像
subplot(2,2,3);  
imshow(b)                            
title('均衡化后图像');  
for i=0:255  
    GPeq(i+1)=sum(p(a==i));            
end
%画出均衡化后的直方图
subplot(2,2,4);  
bar(0:255,GPeq,'b'); 
title('均衡化后的直方图');

运行结果:

感谢观看,如果有帮助到你,请给题解点个赞和收藏,让更多的人看到。???

也欢迎你,关注我。???

你们的点赞和留言对我真的很重要!!! ???

相关文章
|
6月前
|
数据采集 数据可视化 BI
matlab数学建模方法与实践 笔记2:数据的准备
matlab数学建模方法与实践 笔记2:数据的准备
94 0
|
4天前
|
机器学习/深度学习 存储 算法
毕业论文:基于matlab的数字图像分割技术研究及实现(分享需要的同学)
毕业论文:基于matlab的数字图像分割技术研究及实现(分享需要的同学)
100 0
|
6月前
|
机器学习/深度学习 算法 数据挖掘
matlab数学建模方法与实践 笔记汇总(下)
matlab数学建模方法与实践 笔记汇总
66 0
|
6月前
|
数据采集 机器学习/深度学习 数据可视化
matlab数学建模方法与实践 笔记汇总(上)
matlab数学建模方法与实践 笔记汇总
62 0
|
7月前
|
存储 C语言
MATLAB笔记总结(1) 东华大学MOOC
MATLAB笔记总结(1) 东华大学MOOC
53 0
|
10月前
|
算法 数据安全/隐私保护
一种基于Arnold变换的数字图像加密算法(Matlab代码实现)
一种基于Arnold变换的数字图像加密算法(Matlab代码实现)
|
10月前
|
机器人 定位技术 计算机视觉
基于DIPUM工具箱对图书数字图像进行处理(Matlab代码实现)
基于DIPUM工具箱对图书数字图像进行处理(Matlab代码实现)
|
11月前
|
机器学习/深度学习 传感器 算法
【图像隐藏】基于DCT的数字图像水印防伪附matlab代码
【图像隐藏】基于DCT的数字图像水印防伪附matlab代码
|
12月前
|
机器学习/深度学习 传感器 算法
数字图像分割与边缘检测实验附matlab代码
数字图像分割与边缘检测实验附matlab代码
数字图像分割与边缘检测实验附matlab代码
|
存储 数据可视化 算法
matlab笔记总结(4)
MATLAB是一款以矩阵为基本运算单位的用途广泛,发展迅速,功能强大的数学与工程计算软件,我们先从认识MATLAB软件开始。 全世界数以百万计的工程师和科学家都在使用 MATLAB? 分析和设计改变着我们的世界的系统和产品。基于矩阵的 MATLAB 语言是世界上表示计算数学最自然的方式。可以使用内置图形轻松可视化数据和深入了解数据。欢迎您使用桌面环境进行试验、探索和发现。这些 MATLAB 工具和功能全部进行了严格测试,可彼此配合工作。
329 0

热门文章

最新文章

http://www.vxiaotou.com