当前位置:网站首页 > 技术博客 > 正文

数字图像处理实验报告总结




前言:由于踩了一些坑,进度就慢了很多,争取尽快赶上进度

在我看来,直方图就是展示一个图像中每个灰度的数量的图
如下图所示:
在这里插入图片描述
右边这张图就是灰度直方图,横坐标表示灰度,纵坐标表示这个灰度的数量

有什么用?目前看来就是有个展示作用。当然,我们可以点击这个链接查看直方图对应变化对图像的影响。

感觉直方图均衡化是一种对直方图进行调整的方法,将现在的直方图按照我们希望的函数排布。
要进行直方图均衡化,首先我们要求出原始图像的直方图,再计算积累直方图:
在这里插入图片描述
对应灰度级的积累直方图就是按照上面公式计算,最后将对应像素的值改成四舍五入后的值就实现了这个操作了

原理:求出积累概率密度后,不能改变灰度像素的数量,就改变灰度值,改变原对应灰度的灰度值
对应积累概率密度*255 = 均衡后灰度
在这里插入图片描述

这里以一张灰度图为例的代码实现:

 

使用函数imhist及histeq对原图进行直方图均衡化处理,同屏显示处理前后图像及其直方图,比较异同,并讨论为什么数字图像均衡化后其直方图并非完全均匀分布。

使用函数histeq对原图进行直方图规定化处理,同屏显示处理前后图像及其直方图,比较异同。

 

使用函数histeq对原图进行直方图规定化处理,同屏显示处理前后图像及其直方图,比较异同。
规定化步骤:
1,获取模板:像这样,就是先获取直方图
2,使用函数: 像这样,a2是图片,a1_im是直方图模板
代码:

 

在这里插入图片描述

按图片1的直方图规定化图片2:
在这里插入图片描述
按图片2直方图规定化图片1:
在这里插入图片描述

 

图像数据类型是uint8,也就说明了这个没有符号,范围在0~255,所以如果你想取其作为下标或者进行计算的话需要注意。
如在这里:
在这里插入图片描述
S(i,j)可能会为255,当我们直接显示Sk(S(i,j)+1)时,S(i,j)=255,S(i,j)+1也等于255,因为matlab把它默认成了uint8数,所以在运算之前,我们要对其类型进行改变,这样才能运算

均衡化后,其结果并不会如我们想象那样那么均衡,往往会如以下:
在这里插入图片描述
这个是按256个灰度值进行均衡化的
为什么数字图像均衡化后其直方图并非完全均匀分布呢?在我看来,其实是因为原图像的直方图本来就不是很均衡,甚至有突出的地方,在后续计算概率密度直方图时,哪个灰度值的数量多,对应的概率也就大,这样也就导致了均衡化后的直方图变成和原图差不多的样子。

在这里插入图片描述
在这里插入图片描述
不难看出,规定化是按照一个直方图的模板对另一个直方图进行变换,规定化后的直方图和模板直方图很相似

  • 上一篇: eof函数用法
  • 下一篇: linux iocp
  • 版权声明


    相关文章:

  • eof函数用法2024-11-26 07:01:04
  • 溢出显示2024-11-26 07:01:04
  • qt qfile写文件2024-11-26 07:01:04
  • 网络攻防演练总结报告2024-11-26 07:01:04
  • isight软件干什么的2024-11-26 07:01:04
  • linux iocp2024-11-26 07:01:04
  • java在线编程工具2024-11-26 07:01:04
  • 移位指令应用实例2024-11-26 07:01:04
  • chroot原理深入剖析2024-11-26 07:01:04
  • 线程死锁的四个必要条件2024-11-26 07:01:04