当前位置: 首页 > news >正文

实验四 图像增强—灰度变换之直方图变换

一.实验目的

1.掌握灰度直方图的概念及其计算方法;

2.熟练掌握直方图均衡化计算过程;了解直方图规定化的计算过程;

3.了解色彩直方图的概念和计算方法

二.实验内容

1 读取数字图像,显示直方图(例如使用imhist,有余力可尝试bar,stem等函数),并进行直方图均衡化处理;

2 显示经过均衡化处理过的图像直方图。

3 有余力可探索更多关于直方图的图像处理操作(例如直方图规定化、局部直方图规定化等)。

4 记录和整理实验报告。

三.实验程序、实验结果与实验分析

1.实验程序

(1)读取数字图像,显示直方图,并进行直方图均衡化处理(Test4_1)

I=imread('pollen.jpg');  J=histeq(I);%对原图像进行直方图均衡化处理figure;subplot(1,2,1) ;imshow(I);title('原图像');         subplot(1,2,2) ;imshow(J); title('直方图均衡化后的图像') ;   figure; subplot(1,2,1) ;imhist(I,64);    %将原图像直方图显示为64级灰度title('原图像直方图') ;       subplot(1,2,2);             imhist(J,64) ;    %将均衡化后图像的直方图显示为64级灰度title('均衡变换后的直方图') ; 

(2)读取数字图像,显示直方图,并进行直方图规定化处理(Test4_2)

I=imread('mars.jpg');% 显示原始图像和其直方图figure;subplot(1, 2, 1);imshow(I);title('火星天体福布斯的图像');subplot(1, 2, 2);imhist(I, 64);title('原图像直方图');m1 = 0.15; sig1 = 0.05;  m2 = 0.75; sig2 = 0.05; A1 = 1; A2 = 0.07;  k = 0.002; p = twomodegauss(m1, sig1, m2, sig2, A1, A2, k);% 对图像进行直方图规定化处理J = histeq(I, p);% 显示规定化处理后的图像和其直方图figure;subplot(1, 2, 1);imshow(J);title('直方图规定化后的图像');subplot(1, 2, 2);imhist(J, 64);title('规定化处理后的直方图');

(3)读取数字图像,显示直方图,并进行局部直方图规定化处理(Test4_3)

f=imread('mars.jpg');figure; subplot(2, 2, 1); imshow(f); title('原始图像'); g1=adapthisteq(f);subplot(2, 2, 2); imshow(g1); title('用默认值使用adpthisteq函数的结果'); g2=adapthisteq(f,'NumTiles',[25,25]);subplot(2, 2, 3); imshow(g2); title('将参数NumTiles设置为[25,25]时函数的结果'); g3=adapthisteq(f,"NumTiles",[25,25],"ClipLimit",0.05);subplot(2, 2, 4); imshow(g3); title('使用这个小片数量,并且ClipLimit=0.05时得到的结果');

2.实验结果

(1)读取数字图像,显示直方图,并进行直方图均衡化处理

(2)读取数字图像,显示直方图,并进行直方图规定化处理

直方图规定化后的图像

(3)读取数字图像,显示直方图,并进行局部直方图规定化处理

3.实验分析

(1)读取数字图像,显示直方图,并进行直方图均衡化处理

①读取灰度图像pollen.jpg
I=imread('pollen.jpg');  
②对原图像进行直方图均衡化处理
J=histeq(I);
③将均衡化后图像的直方图显示为64级灰度 
imhist(J,64) ;    %将均衡化后图像的直方图显示为64级灰度

(2)读取数字图像,显示直方图,并进行直方图规定化处理

①读取灰度图像mars.jpg
I=imread('mars.jpg');
②使用双模态高斯函数作为特定的直方图
m1 = 0.15; sig1 = 0.05;  m2 = 0.75; sig2 = 0.05; A1 = 1; A2 = 0.07;  k = 0.002; p = twomodegauss(m1, sig1, m2, sig2, A1, A2, k);
③对图像进行直方图规定化处理
J = histeq(I, p);

(3)读取数字图像,显示直方图,并进行局部直方图规定化处理

①读取灰度图像mars.jpg
f=imread('mars.jpg');
②使用adpthisteq函数全部默认设置
g1=adapthisteq(f);
③将小片大小增加到[25,25]
g2=adapthisteq(f,'NumTiles',[25,25]);
④使用小片数量[25,25],使ClipLimit=0.05
g3=adapthisteq(f,"NumTiles",[25,25],"ClipLimit",0.05);

四.思考题

1.直方图是什么概念?它反映了图像的什么信息?

直方图是一个统计图表,它用于表示数字图像中每个灰度级出现的频率或次数。对于一幅给定的图像,直方图能够展示图像中每个像素强度值(灰度级)的分布情况。横坐标通常代表灰度级,而纵坐标则代表该灰度级在图像中出现的频数或频率。

直方图反映了图像的以下几个关键信息:

对比度:通过直方图,可以观察图像中像素强度的分布情况,从而判断图像的对比度。

亮度:直方图的偏移情况可以反映图像的整体亮度。如果直方图主要偏向较高的灰度级,则图像整体偏亮;反之,如果偏向较低的灰度级,则图像整体偏暗。

动态范围:直方图能够展示图像所包含的灰度级范围,从而反映图像的动态范围。


2.直方图均衡化是什么意思?它的主要用途是什么?

直方图均衡化是一种增强图像对比度的方法,通过拉伸像素强度值的分布范围来增强图像的对比度。具体来说,它将原始图像的直方图变换为均匀分布的形式,从而增强图像中不同灰度级之间的对比度。

直方图均衡化的主要用途包括:

提高图像对比度:通过均衡化操作,可以使图像的灰度级分布更加均匀,从而提高图像的对比度,使图像中的细节更加清晰。

改善视觉效果:对于对比度较低的图像,直方图均衡化可以显著改善其视觉效果,使图像更加鲜明、生动。

预处理步骤:在图像处理和分析中,直方图均衡化常作为预处理步骤,为后续的特征提取、目标识别等任务提供更好的图像质量。

http://www.lryc.cn/news/392604.html

相关文章:

  • 使用el-col和el-row布局,有版心,一页有两栏布局 三栏布局 四栏布局 使用vue动态渲染元素
  • 中软国际加入龙蜥社区,促进“技术+生态”双向赋能
  • adobe pdf设置默认打开是滚动而不是单页视图
  • React Hooks 深度解析
  • 14-32 剑和诗人6 - GenAI 重塑 SRE 和云工程实践
  • Towards Deep Learning Models Resistant to Adversarial Attacks
  • 2、Key的层级结构
  • 如何在Qt使用uchardet库
  • G9 - ACGAN理论与实战
  • 合合信息大模型“加速器”亮相2024世界人工智能大会,助力大模型学好“专业课”
  • bond网络配置文件中 interface-name 与 id 的区别
  • Linux权限概述
  • 谷粒商城学习-09-配置Docker阿里云镜像加速及各种docker问题记录
  • 基于GWO灰狼优化的多目标优化算法matlab仿真
  • 排序算法-java版本
  • Java+前后端分离架构+ MySQL8.0.36产科信息管理系统 产科电子病历系统源码
  • js使用websocket,vue使用websocket,copy即用
  • 【鸿蒙学习笔记】Stage模型工程目录
  • 算法基础-----【动态规划】
  • Java中的响应式编程与Reactor框架
  • 政安晨【零基础玩转各类开源AI项目】基于Ubuntu系统部署ComfyUI:功能最强大、模块化程度最高的Stable Diffusion图形用户界面和后台
  • 匿名内部类
  • react_web自定义组件_多类型Modal_搜索栏Search
  • Apache Flink架构介绍
  • 华为HCIP Datacom H12-821 卷28
  • 安装Nginx以及简单使用 —— windows系统
  • 【UE5.3】笔记8 添加碰撞,检测碰撞
  • 丝滑流畅!使用kimi快速完成论文仿写
  • 【C++】认识使用string类
  • 如何在 Odoo 16 中对 Many2Many 字段使用 Group by