嵌入式教学实验箱_数字信号处理实验箱_操作教程: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与实验箱的连接,最后实验箱断电即可。

相关推荐
凯子坚持 c几秒前
CANN-LLM:基于昇腾 CANN 的高性能、全功能 LLM 推理引擎
人工智能·安全
学电子她就能回来吗9 分钟前
深度学习速成:损失函数与反向传播
人工智能·深度学习·学习·计算机视觉·github
The Straggling Crow9 分钟前
model training platform
人工智能
爱吃泡芙的小白白10 分钟前
突破传统:CNN卷积层(普通/空洞)核心技术演进与实战指南
人工智能·神经网络·cnn·卷积层·空洞卷积·普通卷积
人道领域17 分钟前
AI抢人大战:谁在收割你的红包
大数据·人工智能·算法
初恋叫萱萱21 分钟前
CANN 系列深度篇:基于 ge 图引擎构建高效 AI 执行图
人工智能
qq_124987075339 分钟前
基于Hadoop的信贷风险评估的数据可视化分析与预测系统的设计与实现(源码+论文+部署+安装)
大数据·人工智能·hadoop·分布式·信息可视化·毕业设计·计算机毕业设计
Coder_Boy_42 分钟前
TensorFlow小白科普
人工智能·深度学习·tensorflow·neo4j
L、21843 分钟前
CANN 中的图优化技术详解:如何让 AI 模型跑得更快、更省
人工智能
大模型玩家七七1 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习