学习灰度图像线性变换的原理,掌握图像的读取方法,并实现在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与实验箱的连接,最后实验箱断电即可。