4.3 算法分析
4.3.1 数字图像文件操作和图像显示
图像显示函数不仅包括显示函数,也包括与其相关的读写函数、颜色空间变换函数,以及图像类型转换函数等等,其中imread()为图像文件读入函数,可用来读入BMP、HDF、JPG、PCX、TIFF等格式的图像文件;imwrite()为图像写出函数,仅仅用这一个语句就可以实现将一个矩阵存储为jpg、bmp、tif等格式的图像文件;inshow()、image()为图像显示函数。除此之外,还提供了rgb2bsv等颜色空间变换函数和rgb2gray()、rgb2ind()等图像类型转换函数。
4.3.2 图像运算函数
MATLAB在进行图像处理时,都是以向量、矩阵、数组的形式表示图像并进行各种运算的。它提供了图像的和、差等线性运算,比如,conv2(i,j)实现两幅图像i、j的卷积。
4.3.3 图像增强
图像增强时数字图像处理过程中常用的一种方法,目的是采用一系列技术改善图像的视觉效果或将图像转换车工一种更合适与人眼观察和机器自动分析的形式。常用的图像增强方法有灰度直方图均衡化、灰度变换、平滑及锐化滤波。MATLAB中都提供了相应的函数来是想相应的功能,比如hsteq()、medfilt2()可以分别实现灰度直方图均衡化和中值滤波。MATLAB直接提供的函数大多数是针对灰度图像的,但是通过将这些函数应用到彩色图像的每个通道,最后再合成的方法可以实现彩色图像的增强。对于某些应用这种方法是非常简单易用的。
4.3.4 图像变换
图像变换技术室图像处理的重要工具,常应用与图像压缩、滤波、编码和后续的特征抽取或信息分析过程。MATLAB提供了常用的变换函数,如filt2()与ifft2()函数分别实现二文快速傅里叶变换及其逆变换,dct2()与idct()函数实现离散余弦变换及其逆变换,Randon()与iradon()函数实现Radon变换与其逆变换。
4.3.5 图像的边缘检测与图像分割
边缘检测是一种重要的区域处理方法,边缘时所要提取目标和背景的分界线,提取出边缘才能将目标和背景分开来。MATLAB中提供了基本的一些边缘检测函数,如Sobel、Robert、Canny等等。另外还提供了分水岭(water-shed)分割方法以及某些区域的一些分割方法。另外还提供了大量的二值数学形态的函数,如腐蚀、膨胀、开操作、比操作等[6]。
5 设计
系统的程序设计采用MATLAB编程语言来实现。利用MATLAB的图像用户界面(GUI)来设计程序运行的界面。整体系统由若干各运行揭秘昂和相应的M文件所组成,每一个运行界面对应的程序构成一个M文件。同一个M文件中又包含若干个M函数,界面中每一个空间及菜单项对应的程序都有放在相应的M函数内。各个功能对应的M函数文件,有一个主文件将它们练成一个整体,最终形成处理系统。
在程序设计中,对处理功能的M文件,其共同之处有以下几个方面:
(1)使用菜单项实现各功能窗口的转换,起导航作用。对菜单的编程主要是调用系统中的其他M函数文件。
(2)打开文件操作可以调用的图像文件格式丰富,除了常用的*.jpg、*.gif外,还包括*.bmp、*.hdf等等格式不同的文件
(3)文本框主要用于接收用户输入的数据。程序基本上是先从文本框中接收数据,然后对接收的数据进行处理的。
系统的各种处理功能的实现基本上是四个过程。其一是打开原始图像,其二是接收用户参数,其三是把接收的参数带入后台进行处理,第四十将图像处理后的结果显示到界面上。
5.1 系统总体设计框架 基于MATLAB的图像编辑软件开发(11):http://www.751com.cn/jisuanji/lunwen_541.html