APP下载

Matlab在图像后处理方面的应用实践及效果分析

2016-03-22王耀菊

电脑知识与技术 2016年2期
关键词:效果

王耀菊

摘要:Matlab中文意为矩阵实验室,它可以用来做很多工作,例如算法开发、数据可视化、数据分析以及数字计算的高级计算机语言等等。Matlab除了运用于矩阵运算、数据分析等常用功能外,它还可以用来创建电脑用户界面,同时也能适用于各种计算机语言编写的程序,例如C语言,C++等等。该文中笔者主要从Matlab在图像后处理方面的应用实践和效果来讲述Matlab的作用以及Matlab在图像后处理方面的应用实践分析。

关键词:matlab;图像后处理;效果

中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)02-0207-03

Abstract:Matlab Chinese means a matrix lab, which can be used to do a lot of work, such as algorithm development, data visualization, data analysis, and digital computing, advanced computer languages, etc.. Matlab in addition to the use of matrix operations, data analysis and other commonly used functions, it can also be used to create a computer user interface, but also can be applied to a variety of computer languages, such as C language, C++, etc.. In this paper, the author mainly from the Matlab in the image of the application of the practice and effect of postprocessing to tell the role of Matlab and Matlab in the image of postprocessing's application practice analysis.

Key words: matlab; image postprocessing; Effect

1 Matlab在图像后处理方面的简要介绍

1.1 Matlab图像文件格式简介

随着数学技术的不断发展,Matlab也发展迅猛,从早期单一的文件格式的Matlab,1.0系统,到目前以前出版了Matlab,8.1系统,其中在图像文件格式上发生了很大的转变,新版本几乎能使用所有文件格式的图像。

1.2 图像处理工具箱

Matlab是一种向量性的高级语言,而不是标量。由于Matlab这种本质上的特点,它在图像后处理技术上起到了非常重要的作用。从图像的后处理过程中我们可以知道,要想对离散型数据形成的矩阵进行一次性处理,就必须得用到Matlab。而Matlab在处理图像时,图像处理工具箱至关重要,尤其是图像后处理。在图像后处理过程中,Matlab为图像数据处理提供了可以使用的函数,这些函数的作用就是帮助我们在进行图像后处理过程中分析图像的细节和数据,根据这些细节和数据设计相应的滤波算子,从而清除图像数据内所包含的噪声。图像处理工具箱还可以重构图像,离散余弦变换。还有一些数学形态学函数,这些形态学函数则可用于处理灰度图像和二值图像,可以快速实现边缘检测、图像去噪、骨架提取好恶力度测定等算法。此外还可以用图像处理工具箱对图像进行裁剪和图像的尺寸变换等操作。

1.3 图像分类

1)灰度图像。一个灰度图像对应在在Matlab中就是一个数据矩阵,这些矩阵的每个元素和电脑中需要处理的图像像素一一对应,元素值(像素值)代表像素的亮度或者灰度级。

2)二值图像。同样的一个二值图像,它的数据矩阵中像素元素值有且只有“0”和“1”两个逻辑数,其中“0”代表黑色,“1”代表白色,所以二值图像只代表黑白两种颜色。

3)索引图像。一幅索引图像包含一个图像数据矩阵和一个预先定义的色图(Colormap)矩阵。色图矩阵是一个m×3的double型数组,矩阵的元素值介于[01]之间。色图矩阵的每一行代表一种彩色,色图矩阵的列数m代表颜色的种类。索引图像的各种颜色都是提前在电脑中设计好的,但是这些颜色在电脑是有限存在的,每种颜色都是固定的,索引颜色的图像最多只能显示256种颜色。当用Matlab接受这些索引图像文件时,必须同时读入其数据矩阵和色图矩阵,即绘图用的颜色表。

4)RGB图像。RGB图像在Matlab中分别用红、绿、蓝三个颜色亮度值为一组,通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的其他颜色。RGB图像的作用是对一组图像进行颜色的调整与修改,与索引图像不同的是,这些代表颜色的数值在Matlab图像数据组中储存着,而不是存放在那些有各种各样的颜色的图片中。图像数组表示该图像像素的行列数,分别用M*N*3,M,N表示图像数组。

2 Matlab在图像后处理技术上的应用

Matlab在图像后处理过程中应用十分广泛,一些精确图片的修剪、美化过程基本上都需要Matlab才能够顺利完成。Matlab在图像后处理技术的第一步就是彩色图像的灰度化。在RGB模型中,如果R=G=B,则它代表着彩色图像的灰度化,其中R=G=B的值就是灰度值。Matlab软件中既有颜色信息也有亮点信息,灰度图像的形成是因为电脑中录入图像时只接受亮度而没有颜色信息。灰度值的取值范围不同时就代表着亮度的不同,因此灰度值也可称作亮度值。当灰度值在电脑软件中显示为0时,图片就是黑色,灰度值在电脑软件中显示为1时,对应图片为白色。灰度值的数据能够直接地反映了该图片的后处理效果和视觉反应。

2.1 Matlab在图像增强中的应用

在图像处理过程中遇到的问题很多,例如亮度不足造成图像灰度偏低,图像传感器在线路传送过程中产生噪声污染等等。受到这些因素的影响,使得图像质量降低,轻者图像清晰度不够、细节地方处置不当,重则造成图像模糊不清。要想解决这些问题就必须使用Matlab图像后处理技术在对图像进行增强处理。

1)Matlab对直方图的操作

Matlab直方图是对图像中通个灰度值的统计特性与灰度值的函数,Matlab直方图能明确地表示图像中各个灰度级出现的概率和频率,通常被运用于图像分割、图像灰度变换等处理过程中。灰度直方图均衡化就是对直方图操作的重要技术,均匀量化的自然图像的灰度直方图在低灰度区间的出现频率较大,结果就是电脑中比较暗的图片细节根本无法看清。为了解决这一问题,才用灰度直方图均匀化可是图像中灰度低区间分散开或者是灰度均匀化,使得各个细节区域都能用肉眼分辨。

2)平滑与锐化滤波

上文中提到,图像在处理后会在线路传送过程产生噪声污染,Matlab图像后处理中的平滑技术刚好能消除图像中的噪声,处理方法是在频率上使用低通滤波。在图片后处理的过程中,会出现有些图像中灰度值不稳定,处于不断跳跃变化的状态,这就造成了图像后处理过程遇到了问题,一般把噪声的起点定义为与临界图像灰度相差很明显的地方。这种噪声同时也是一直高频率的物理量。低通滤波的作用就是削弱图像中这些高频率成分,从而达到平滑图像信号的效果,进而能够消除噪音的。但是平滑技术也会带来另外一个负面影响,低通滤波在消除噪音的过程中会对图片的后处理产生干扰,也就是使图片的边界地点变得模糊不清。而锐化技术刚好可以解决这一缺陷,锐化技术采用的是频率上的高通滤波,因为高频率成分能够减少图像中的模糊,这就是所谓的锐化作用。所以,平滑与锐化技术的共同作用,使得在MATLAB图像后处理过程中既能消除噪声污染,又能减少图像中的模糊,达到了对图像增强处理的效果。

3)灰度变换法

一般的图像在Matlab图像后处理过程都会遇到整个图像偏亮或偏暗的问题,处理这一问题的关键是扩大图像的灰度值范围,使其变得亮度合理自然,这一操作的主要是对图片的灰度等级进行标度变换。采用灰度变换法能有效解决这类问题,灰度变换发可用imadjust()函数实现,在Matlab程序中读入imadjust()函数,即可解决。

2.2 MATLAB的边缘检测功能

在Matlab后处理过程中,如果某个图片落在Matlab软件操作屏幕的边界上时,那么在它相邻的区域就会出现一个灰度级变化的区域带。通过对个灰度点的灰度值进行计算和分析,可以判断该点是否为边缘点。这一方法有效避免了在边缘检测的数学计算过程中噪声的干扰,甚至导致损坏屏幕边缘的原图像。这种边缘检测的方法也叫做阈值分割处理,图像分割技术就是将图像中有意义的东西和它的背景分离开,然后再用区域描述将分离的对象进行数值表达,使计算机能够准确的进行下一步操作,这种处理的作用就是既能增强了图像的目标与背景的对比,增强了边缘的显示程度,又能准确提取细胞区域。

2.3 图像变换功能

图像变换功能是Matlab在图像后处理过程中的必不可却的一部分,在图像压缩、滤波、编码和后续的特征抽取或数据分析处理过程中发挥着极其重要的作用,它提供了图像后处理常用的一些函数数据,为Matlab图像后处理技术提供了方便。Matlab在图像变换上基本都是图像的几何变换,图像的几何变换分为5种类型:

1) 平移和剪裁,使用translate函数和movesult对图像进行平移,通过改变程序中的参数可以控制平移的方式。

2)图像的扭曲变换,扭曲变换可用Maketform函数进行,利用给定的参量建立变换结构,根据得到的结构体变量T,调用imtransform函数进行变换。

3)镜像变换,镜像变换是对一些水平、垂直等位置关系的图像进行几何变换,利用双精度取点就可实现这一操作。

4) 缩放与旋转变换,就是通过电脑Matlab函数对图像进行缩小、放大以及旋转三种几何变换。

5)错切和二维投影

3 Matlab图像后处理技术在教学过程中的实践

“数字图像处理”作为电信类专业的核心专业课,其目标是使学生掌握数字图像处理的理论、方法 和技巧,以便解决相关领域的实际问题。由于该门课程理论与实践、原理和应用结合紧密,故“重理 论、轻实践”的传统教学方法很难满足实际应用的 需求。因此,为激发学生的学习兴趣,提升理论认知 水平,实现课程理论讲解与实践操作的有机结合,在 教学过程中可采用以 Matlab 软件为载体的多重辅 助教学手段。通过编程、建模和仿真分析等方式,使 学生深刻理解基本原理的内涵,同时也提高了学生动手实践和分析与解决问题的能力,实际授课中取到了较好的教学效果。

1)图像处理的基本运算

在教会学生基本的图像文件格式读写和显示后,就要让他们进一步掌握图像处理的基本运算。Matlab图像处理技术提供了图像的和、差等线性运算,也提供了一维和二维离散傅立叶变换、离散余弦变换等等。

2)图像的分析和增强

图像的分析和增强是Matlab在图像处理技术上最全面也是最关键的一个步骤,在Matlab图像的统计计算上,该软件可以给学生提供改善图片的关键技术,例如校正、直方图均衡、调整对比度等等,这些技术是Matlab中最难的一部分,这一部分需要老师着重讲解和介绍,才能使学生运用自如。

3)Matlab提供了非常复杂的数学形态学函数,例如腐蚀、膨胀算子以及在此基础上的开、闭算子等等,这些算子不仅有助于图像的处理,还对学生的C语言水平有着极大的提高。

结语:实践证明,MATLAB软件功能强大。Matlab对于图像处理有很大的优势,在图像处理中应用Matlab会大大节约实验事件并有很好的效果。Matlab图像后处理技术几乎包括所有经典的图像处理方法,它能有效应对各种劣质或者损坏图像,在图像精确处理方面发挥着不可替代的作用。Matlab功能十分强大,界面简洁,易学易用,不仅仅能够为图片后处理提供强大的支持,还可与C语言等计算机程序结合使用,为工程性操作提供了更多便利条件。因此,在图像处理技术中使用MATLAB语言可以快速实现对图片的精准处理和操作,提高了对图片处理的技术和质量。

参考文献:

[1] 杨烨,车立娟. Matlab在医学图像后处理中的应用[J]. 上海中医药大学学报,2009(2):40-42.

[2] 曾繁如,何政伟,李喆. MATLAB软件与ALOS遥感影像在震害建筑物自动识别中的应用——以都江堰市区为例[J]. 西北地震学报,2009(4):327-332.

[3] 自动化技术、计算机技术[J]. 中国无线电电子学文摘,2006(1):157-218.

猜你喜欢

效果
按摩效果确有理论依据
保湿喷雾大测评!效果最惊艳的才20块!
笑吧
迅速制造慢门虚化效果
创造逼真的长曝光虚化效果
四种去色效果超越传统黑白照
期末怎样复习效果好
模拟百种唇妆效果
3D—DSA与3D—CTA成像在颅内动脉瘤早期诊断中的应用效果比较
组合练习难度大,贴近实战效果佳