嵌入式教学实验箱_数字信号处理实验箱_操作教程:5-16 灰度图像线性变换(LCD显示)

一、实验目的

学习灰度图像线性变换的原理,掌握图像的读取方法,并实现在LCD上显示线性变换前后的图像。

二、实验原理

图像线性变换

一般成像系统只具有一定的亮度范围,亮度的最大值与最小值之比称为对比度。由于形成图像的系统亮度有限,常出现对比度不足的弊病,使人眼观看图像时视觉效果很差,通过灰度变换法对图像处理可以大大改善人的视觉效果。

灰度变换主要针对独立的像素点进行处理,通过改变原始图像数据所占据的灰度范围而使图像在视觉上得到良好的改变。如果选择的灰度变换函数不同,即使是同一图像也会得到不同的结果。因此,选择灰度变换函数应该根据图像的性质和处理的目的来决定。选择的标准是经过灰度变换后,像素的动态范围增加,图像的对比度扩展,使图像变得更加清晰、细腻,容易识别。

灰度图像线性变换

图像灰度变换的作用:

(1)改善图像的质量,使图像能够显示更多的细节,提高图像的对比度(对比度拉伸)。

(2)有选择的突出图像感兴趣的特征或者抑制图像中不需要的特征。

(3)可以有效的改变图像的直方图分布,使像素的分布更为均匀。

图像灰度变换的方法:

(1)线性变换。

(2)分段线性变换。

(3)非线性变换。

灰度级修正是对图像在空间域进行增强的简单而效果明显的方法,根据图像降质不同的原因以及对图像特征的不同要求而采用不同的修正方法。主要有灰度变换法和修正法。它们是把原图像的灰度函数f(x,y)经过一个变换函数T( )变换成一个新的图像函数g(x,y),即:

g ( x , y ) = T [ f ( x , y ) ]

通过变换,达到对比度增强的效果,要注意在变换的过程中,对每一个象素(x,y)都经过了同样的处理,因此该方法又叫做点处理。

假定原图像f(x,y)的灰度范围为[a,b],希望变换后图像g(x,y) 的灰度范围扩展至[c,d],线性变换表示式为:

g ( x , y ) = [ ( d -- c ) / ( b -- a ) ]f ( x , y ) + c

若图像中大部分象素的灰度级分布在区间[a,b],很小部分的灰度级超出了此区间,为改善增强的效果,可令:

灰度线性变换是一种灰度变换,通过建立灰度映射来调整源图像的灰度,达到图像增强的目的。灰度映射通常使用灰度变换曲线来表示。

灰度线性变换就是将图像的像素值通过指定的线性函数进行变换,以此增强或减弱图像的灰度。灰度线性变换的公式是常见的一维线性函数:

设x 为原始灰度值,则变换后的灰度值y为:

其中a表示直线的斜率,即倾斜程度,b表示线性函数在y轴的截距。

程序流程设计

程序流程设计中首先要进行外设使能配置,接着进行LCD管脚复用配置和LCD中断配置,然后进行LCD显示的初始化,最后读取工程目录下的BMP图像并进行灰度图像的线性变换处理,将图像数据显示到LCD上,并保存图像。

三、操作现象

实验设备

硬件接口为LCD,所需硬件为实验板、仿真器、LCD和电源。

硬件连接

(1)连接仿真器和电脑的USB接口,

(2)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。

软件操作

导入工程,选择Demo文件夹下的对应工程

编译工程,生成可执行文件

将CCS连接实验箱并加载程序

程序加载完成后点击运行程序

运行程序后,CCS的Console窗口会打印相关信息,同时LCD会显示标题。

稍等片刻后,图像处理完成,LCD会显示线性变换处理前后的图片。

实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。

相关推荐
Hunter_pcx9 分钟前
[C++技能提升]类注册
c++·人工智能
东临碣石8233 分钟前
【重磅AI论文】DeepSeek-R1:通过强化学习激励大语言模型(LLMs)的推理能力
人工智能·深度学习·语言模型
点云SLAM2 小时前
CVPR 2024 人脸方向总汇(人脸识别、头像重建、人脸合成和3D头像等)
深度学习·计算机视觉·人脸识别·3d人脸·头像重建
涛涛讲AI2 小时前
扣子平台音频功能:让声音也能“智能”起来
人工智能·音视频·工作流·智能体·ai智能体·ai应用
霍格沃兹测试开发学社测试人社区2 小时前
人工智能在音频、视觉、多模态领域的应用
软件测试·人工智能·测试开发·自动化·音视频
herosunly2 小时前
2024:人工智能大模型的璀璨年代
人工智能·大模型·年度总结·博客之星
PaLu-LI2 小时前
ORB-SLAM2源码学习:Initializer.cc(13): Initializer::ReconstructF用F矩阵恢复R,t及三维点
c++·人工智能·学习·线性代数·ubuntu·计算机视觉·矩阵
呆呆珝2 小时前
RKNN_C++版本-YOLOV5
c++·人工智能·嵌入式硬件·yolo
笔触狂放2 小时前
第一章 语音识别概述
人工智能·python·机器学习·语音识别
ZzYH222 小时前
文献阅读 250125-Accurate predictions on small data with a tabular foundation model
人工智能·笔记·深度学习·机器学习