文档库 最新最全的文档下载
当前位置:文档库 › 基于模糊聚类的人脸图像分类

基于模糊聚类的人脸图像分类

分类号

密级

编号

本科生毕业论文

(设计)

题目基于模糊聚类的人脸图像分类

作者姓名王丁宏

指导教师王三福

提交日期

原创性声明

本人郑重声明:本人所呈交的论文是在指导教师的指导下独立进行研究所取得的成果。学位论文中凡是引用他人已经发表或未经发表的成果、数据、观点等均已明确注明出处。除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的科研成果。

本声明的法律责任由本人承担。

论文作者签名:年月日

论文指导教师签名:

作者:王丁宏指导老师:王三福

作者个人信息:天水师范学院数学与统计学院,甘肃,天水,741000

摘要:本文通过运用模糊聚类的方法,对人脸图像进行了分类。在应用模糊聚类方法时,根据图像的相似度和图像的质量这两个参量自定义了模糊相似关系,通过模糊相似关系求出模糊相似矩阵,再运用传递闭包的方法计算出模糊相似关系的模糊等价关系,然后通过模糊等价关系对人脸图像进行动态分类,画出动态聚类图,最后根据动态聚类图对人脸图像进行分类。

关键词:数字图像;数字图像处理;模糊聚类;相似关系;传递闭包;人脸图像;分类;

Based on fuzzy clustering of face image classification Tutor : Wang Dinghong Guiding teacher : Wang Sanfu Mathematics and statistics institute, Tianshui Normal University , Tianshui 741000

Abstract :This article used fuzzy clustering method, the classification of facial image. In the application of fuzzy clustering method, according to the image similarity and image quality in these two parameters of fuzzy similar relations defined, through out the fuzzy similar relation of fuzzy similar matrix, then the transfer closure of fuzzy similar relation method is used to calculate the fuzzy equivalence relation, and then through the fuzzy equivalence relation dynamic classification of facial image, draw the dynamic clustering figure . Finally, according to the dynamic clustering figure of facial image classification.

Key words :Digital image Digital image processing Fuzzy clustering The similarity relation Relay closure Facial image Classification

作者:王丁宏指导老师:王三福

作者个人信息:天水师范学院数学与统计学院,甘肃,天水,741000

1.引言

人脸是人类最重要的生物特征之一,反映了很多重要的信息,在许多场合都需要进行可靠的人脸特征分类。比如在一些实用的实时监控系统中,人脸分类技术有助于从监控录像中找出符合某种指定特征的那些人,这在机场、海关、火车站、银行、饭店等出入系统中有很大的需求。另外,在公安刑侦破案系统中,人脸分类技术可以帮助目击者查询目标人像数据库中是否存在嫌疑人员。此外,人脸分类技术在人机交互系统中也有重要作用,如依据属性进行人脸搜索,以及个人相册的管理等。

传统的人脸识别的方法可以分为两类。一类是基于人脸几何特征的识别方法; 另一类是利用模板匹配的识别方法。

本文中所提出的方法是基于模糊聚类对人脸进行分类的。

2.数字图像及数字图像处理

2.1.数字图像

2.1.1 基本介绍

数字图像,又称数码图像或数位图像,是二维图像用有限数字数值像素的表示。通常,像素在计算机中保存为二维整数数阻的光栅图像,这些值经常用压缩格式进行传输和储存。数字图像可以许多不同的输入设备和技术生成,例如数码相机、扫描仪、坐标测量机、seismographic profiling、airborne radar等等,也可以从任意的非图像数据合成得到,例如数学函数或者三维几何模型,三维几何模型是计算机图形学的一个主要分支。数字图像处理领域就是研究它们的变换算法。

2.1.2 图像种类

每个图像的像素通常对应于二维空间中一个特定的'位置',并且有一个或者多个

与那个点相关的采样值组成数值。根据这些采样数目及特性的不同数字图像可以划分

为:

(1)、二值图像(Binary Image): 图像中每个像素的亮度值(Intensity)仅可以取自0到1的图像。

(2)、灰度图像(Gray Scale Image),也称为灰阶图像: 图像中每个像素可以由0(黑)到255(白)的亮度值表示。0-255之间表示不同的灰度级。

(3)、彩色图像(Color Image):每幅彩色图像是由三幅不同颜色的灰度图像组合而成,一个为红色,一个为绿色,另一个为蓝色。

(4)、伪彩色图像(false-color):伪彩色图像的含义是,每个像素的颜色不是由每个基色分量的数值直接决定,而是把像素值当作彩色查找表(color look-up table,CLUT)的表项入口地址,去查找一个显示图像时使用的R,G,B强度值,用查找出的R,G,B强度值产生的彩色称为伪彩色。而彩色查找表CLUT是一个事先做好的表,表项入口地址也称为索引号。例如16种颜色的查找表,0号索引对应黑色,... ,15号索引对应白色。彩色图像本身的像素数值和彩色查找表的索引号有一个变换关系,这个关系可以使用Windows 95/98定义的变换关系,也可以使用你自己定义的变换关系。使用查找得到的数值显示的彩色是真的,但不是图像本身真正的颜色,它没有完全反映原图的彩色。

(5)、立体图像(Stereo Image):立体图像是一物体由不同角度拍摄的一对图像,通常情况下我们可以用立体像计算出图像的深度信息。

(6)、三维图像(3D Image):三维图像是由一组堆栈的二位图像组成。每一幅图像表示该物体的一个横截面。数字图像也用于表示在一个三维空间分布点的数据,例如计算机断层扫描(:en:tomographic,CT)设备生成的图像,在这种情况下,每个数据都称作一个体素。

2.1.3 图像显示

目前比较流行的图像格式包括光栅图像格式BMP、GIF、JPEG、PNG等,以及矢量图像格式WMF、SVG等。大多数浏览器都支持GIF、JPG以及PNG图像的直接显示。SVG 格式作为W3C的标准格式在网络上的应用越来越广。一些图片察看工具提供幻灯片显示工具,能够自动地一张一张察看图片。

2.2数字图像处理

2.2.1 基本介绍

数字图像处理(DigitalImageProcessing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。

2.2.2主要目的

一般来讲,对图像进行处理(或加工、分析)的主要目的有三个方面:

(1)提高图像的视感质量,如进行图像的亮度、彩色变换,增强、抑制某些成分,对图像进行几何变换等,以改善图像的质量。

(2)提取图像中所包含的某些特征或特殊信息,这些被提取的特征或信息往往为计算机分析图像提供便利。提取特征或信息的过程是模式识别或计算机视觉的预处理。提取的特征可以包括很多方面,如频域特征、灰度或颜色特征、边界特征、区域特征、纹理特征、形状特征、拓扑特征和关系结构等。

(3)图像数据的变换、编码和压缩,以便于图像的存储和传输。不管是何种目的的图像处

理,都需要由计算机和图像专用设备组成的图像处理系统对图像数据进行输入、加工和输出。

2.2.3主要内容

数字图像处理主要研究的内容有以下几个方面:

1) 图像变换由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。

2) 图像编码压缩图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。

3) 图像增强和复原图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影响。图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立"降质模型",再采用某种滤波方法,恢复或重建原来的图像。

4) 图像分割图像分割是数字图像处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。

5) 图像描述图像描述是图像识别和理解的必要前提。作为最简单的二值图像可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,它有边界描述和区域描述两类方法。对于特殊的纹理图像可采用二维纹理特征描述。随着图像处理研究的深入发展,已经开始进行三维物体描述的研究,提出了体积描述、表面描述、广义圆柱体描述等方法。

6) 图像分类(识别)图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。

2.2.4 常用方法

1)图像变换:由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大。因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。

2 )图像编码压缩:图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许的失真条件下进行。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。

3 )图像增强和复原:图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。如强化图像高频分量,可使图像中物体轮廓清晰,细节明显;如强化低频分量可减少图像中噪声影

响。图像复原要求对图像降质的原因有一定的了解,一般讲应根据降质过程建立“降质模型”,再采用某种滤波方法,恢复或重建原来的图像。

4 )图像分割:图像分割是数字图像处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。

5 )图像描述:图像描述是图像识别和理解的必要前提。作为最简单的二值图像可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,它有边界描述和区域描述两类方法。对于特殊的纹理图像可采用二维纹理特征描述。随着图像处理研究的深入发展,已经开始进行三维物体描述的研究,提出了体积描述、表面描述、广义圆柱体描述等方法。

6 )图像分类(识别):图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中也越来越受到重视。

3.模糊聚类

3.1模糊集合

3.1.1模糊子集的概念

定义3.1.1 给定论域U ,如果对任意的u U ∈,都却定了一个数()[]1,0~∈u A μ,

表示μ属于A ~的程度,则称A ~

为论域U 上的一个模糊子集;称映射

()[]1,0:~→U u A

μ 为A ~的隶属函数;称()u A ~μ为u 对A ~

的隶属度。

3.2模糊关系

定义3.2.1 设U 、V 是两个论域,记

(){}

,|,U V x y x U y V ?=∈∈

V U ?成为U 与V 的笛卡尔乘积。

定义 3.2.2 称论域V U ?上的一个模糊子集R ~

为从U 到V 的一个模糊关

系,记作V U R ?→?

。模糊关系R ~

的隶属函数R ~μ为 []1,0:~→?V U R

μ, ()y x R

,~μ称为()y x ,具有关系R ~的程度。进一步,若V U =,则称R ~

为论域U 上的一个模糊关系。

定义 3.2.3 设()U U F R ?∈~

,若U x ∈?有()1,~=x x R μ,则称R ~满足自反性。若

()0,~=x x R

μ,则称R ~

具有非自反性。 定义3.2.4 设()U U F R ?∈~

,若()U U y x ?∈?,有()()x y y x R R ,,~~μμ=(即R R T ~~=,其相应的模糊矩阵满足R R Τ =),则称R ~满足对称性。

若()()()()0,,,,~~~~==?=x y y x x y y x R

R R R

μμμμ,则称R ~

具有非对称性。 定义 3.2.5 设()U U F R ?∈~

,若?()y x ,,()z y ,,()z x ,∈U U ?,均有

()()()[]{}z y y x z x R

R

U

y R ,,,min max ,~~~μμμ∈≥(即R R R ~

~~? ,其相应的模糊矩阵满足R R R ?),则称R ~满足传递性。

定义 3.2.6 若模糊关系()U U F R ?∈~

仅满足自反性与对称性,则称R ~是相似关

系。

定义3.2.7 若模糊关系()U U F R ?∈~

满足自反性、对称性与传递性,则称R ~是等

价关系。

3.3运用传递闭包法进行模糊聚类

模糊聚类往往是基于等价关系的分类方法,而在很多实际应用,模糊关系具有自反性和对称性,但不满足传递性。也就是说,模糊关系仅仅是模糊相似关系。此

时,可以对模糊相似关系R ~进行改造,寻找一个包含R ~

的传递闭包,将其转化为

模糊等价关系,进而进行模式分类。 3.3.1模糊相似矩阵

用数[]1,0∈ij r 来刻划对象i x ,j x 之间的相关程度,由定义3.2.2.6知,模糊矩阵

()()n j i r r r r R ii ji ij n n n n ij ,2,1,1,:~

===∈=??μ,这样,R ~是一个模糊相似矩阵。在

实际中,关键是如何确定ij r 的值。

3.3.2 传递闭包法

定义3.3.2.1 设R ~是论域U 上的模糊关系,包含R ~的最小模糊传递关系为R ~

传递闭包,记为()

R t ~

对于R ~的传递闭包()

R t ~

,有如下结论:

(1) 对于任意模糊传递关系R Q ~~?,有()

R t Q ~

~?。

(2) 模糊关系R ~的传递闭包()

R t ~

()

∑∞

===1

2~~~~~k k m R R R R R t

(3)R ~

的传递闭包()

n k i R R t 1~~==,当且仅当11

~~+=?n n

k i R R 。

(4)若R ~

是有限论域U 上的模糊相似关系,U 包含n 个元素,对应的模糊矩阵

是n n ?的模糊相似矩阵,则存在自然数n k ≤,使得()

k R R t ~

~=,且对于k i >,有k i R R ~~=。此时,()

R t ~

是一个等价关系,对应的模糊矩阵是模糊等价矩阵。

(5)若R 为n 阶方阵,我们定义R R R =2,R R R 23=, ,R R R k k 1-=。 其定义是根据模糊矩阵的合成运算:设()s m ik a A ?=,()n s kj b B ?=,定义A 与B 的合成为:()n m ij c B A ?= ,其中(){}s k b a c kj ik ij ≤≤∧∨=1|。

对于模糊方阵来说是同一个矩阵,即A 与B 是同一个矩阵,那么式

(){}s k b a c kj ik ij ≤≤∧∨=1|可以写为:

(){}s k a a r kj ik ij ≤≤∧∨=1|

其中i 和j 的变化为从1~0-n ,k 的变化从1~1-n 。 3.3.3分类

定义3.3.3.1 对任意[]1,0∈λ,记()ij R λλ=,其中

()

()

??

?<≥=λλλij

ij ij r

r 0

1

称λR 为R 的λ截矩阵,它所对应的关系称为R ~

的截关系。

根据定义3.3.3.1我们适当选取λ截割传递闭包R

?,对被分类对象进行动态聚类。其中λ是R ~

中的隶属度,选择不同的隶属度是样本分为不同的C 类。

4.基于模糊聚类的人脸图分类

我们通常在人脸相似度判别中采用均方误差(Mean Squared Error ,简称MSE )来判定两个图像的相似程度,两图片的均方误差定义为:

()()∑∑==-=m i n

j j i K j i I n m MSE 11

22||,,||*1

其中,m 和n 为图像像素大小,I(i ,j)为原始图像像素值,K(i ,j)为掩密图像的像素值。

而峰值信噪比(简称PSNR ),PSNR 是“Peak Signal to Noise Ratio”的缩写,它是一种评价图像的客观标准。它具有局限性。peak 的中文意思是顶点。而ratio 的意思是比率或比列的。整个意思就是到达噪音比率的顶点信号,psnr 是一般是用于最大值信号和背景噪音之间的一个工程项目。通常在经过影像压缩之后,输出的影像通常都会有某种程度与原始影像不一样。为了衡量经过处理后的影像品质,我们通常会参考PSNR 值来认定某个处理程序够不够令人满意。图像峰值信噪比的定义为:

???

?

???=MSE MAX PSNR I 210log 10

其中,MSE 为均方误差,I MAX 为原始图像的最大像素值。

下面,我们定义模糊相似矩阵,在有限图片集中,记所有图片为论域U ,那么在U U ?中,

定义

???

??≠==?j

i PSNR

MSE j i r ij n n ,*,1:ρμ

……………………(4.1)

其中MSE 为均方误差,PSNR 为图像峰值信噪比,λ为实数,并且取值要使得[]1,0∈ij r 。

由定义3.2.2.6知,模糊矩阵()()n j i r r r r R ii ji ij n n n n ij ,2,1,1,:~

===∈=??μ,这样,

R ~

是一个模糊相似矩阵。

由3.2.3.2 的传递闭包法知,()n n ij r R ?=~

的传递闭包为

(){}s k a a r R kj ik ij

≤≤∧∨==1|? ……………………(4.2)

其中i 和j 的变化为从1~0-n ,k 的变化从1~1-n 。

取不同的λ截取R

?,得出R ?的λ截矩阵λR ,根据不同的λR 把图片分类,画出动态聚类图,最后根据动态聚类图对图像进行分类。

5.基于模糊聚类的人脸分类算法设计 模糊聚类的人脸图像分类算法:

(1)、在有限图片集中,读入所要分类的人脸图像;

(2)、根据MSE 、PSNR 计算两两图像的MSE 和PSNR ;

(3)、根据(4.1)式求R ~

(4)、根据(4.2)式计算R R R ~~~2 =,R R R ~~~23 =,……;如果1

~~-=k k R

R ,转到(5)、

否则继续(4);

(5)、记k

R R ~?=,取不同的λ截取R

?,得出R ?的λ截矩阵λR ; (6)、根据不同的λR 把图片分类,画出动态聚类图; (7)、根据动态聚类图把人脸图进行分类;

6.实验仿真

我们从yale 人脸图库中取出具有不同相似度和不同质量的14张图片(如下图),

1 2 3 4 5 6 7

8 9 10

11

12 13 14

原图

那么当ρ取 3.2500=ρ时,模糊相似矩阵为:

1.000000.758740.474190.416420.275640.997580.439310.697970.664940.420510.275640.978520.439310.670280.75874 1.000000.838540.823350.759920.943570.875370.284980.247280.827350.759920.953980.875370.453770R =.474190.83854 1.000000.164140.481890.774060.387740.781400.776040.180330.481890.744140.387740.708420.416420.823350.16414 1.000000.437030.805830.336410.792930.760880.052840.437030.776450.336410.717650.275640.759920.481890.43703 1.000000.973610.457430.703380.674010.437100.003070.943660.457430.659470.997580.943570.774060.805830.97361 1.000000.874370.934960.938450.805150.973610.140550.874370.929810.439310.875370.387740.336410.457430.87437 1.000000.834180.814430.336550.457430.828100.003070.736720.697970.284980.781400.792930.703380.934960.83418 1.000000.264400.795300.703380.941630.834180.384180.664940.247280.776040.760880.674010.938450.814430.26440 1.000000.759250.674010.950830.814430.418350.420510.827350.180330.052840.437100.805150.336550.795300.75925 1.000000.437100.776380.336550.720240.275640.759920.481890.437030.003070.973610.457430.703380.674010.43710 1.000000.943660.457430.659470.978520.953980.744140.776450.943660.140550.828100.941630.950830.776380.94366 1.000000.828100.931530.439310.875370.387740.336410.457430.874370.003070.834180.814430.336550.457430.82810 1.000000.736720.670280.45377

0.70842

0.71765

0.65947

0.92981

0.73672

0.38418

0.41835

0.72024

0.65947

0.93153

0.73672

1.00000??

?

?

?

??

?

??

?

??

?

????

?

??

?

?

?

求相似关系矩阵R ~

的传递闭包,根据模糊矩阵的合成算法

(){}s k a a r kj ik ij ≤≤∧∨=1|

可以计算出42?R R R

==,则

1.000000.953980.838540.823350.973610.997580.875370.941630.950830.827350.973610.978520.875370.931530.95398 1.000000.838540.823350.943660.943660.875370.941630.950830.827350.943660.953980.875370.931530?R

=.838540.83854 1.000000.823350.838540.838540.838540.838540.838540.827350.838540.838540.838540.838540.823350.823350.82335 1.000000.823350.823350.823350.823350.823350.823350.823350.823350.823350.823350.973610.943660.838540.82335 1.000000.973610.875370.941630.943660.827350.973610.943660.875370.931530.997580.943660.838540.823350.97361 1.000000.875370.941630.943660.827350.973610.943660.875370.931530.875370.875370.838540.823350.875370.87537 1.000000.875370.875370.827350.875370.875370.875370.875370.941630.941630.838540.823350.941630.941630.87537 1.000000.941630.827350.941630.941630.875370.931530.950830.950830.838540.823350.943660.943660.875370.94163 1.000000.827350.943660.950830.875370.931530.827350.827350.827350.823350.827350.827350.827350.827350.82735 1.000000.827350.827350.827350.827350.973610.943660.838540.823350.973610.973610.875370.941630.943660.82735 1.000000.943660.875370.931530.978520.953980.838540.823350.943660.943660.875370.941630.950830.827350.94366 1.000000.875370.931530.875370.875370.838540.823350.875370.875370.875370.875370.875370.827350.875370.87537 1.000000.875370.931530.931530.838540.823350.931530.931530.875370.931530.931530.827350.931530.931530.87537

1.00000??

?

?

?

??

?

??

?

??

?

????

?

??

?

?

?我们取不同的λ截取R

?得到R ?的截矩阵λR ,根据不同的λR 生成动态聚类图:

那么根据上述动态聚类图,我们取19736.01<≤λ,9736.09315.02<≤λ,

9315.08754.03<≤λ,8754.08234.04<≤λ,则得到人脸图像的五个分类为:

{}{}{}{}4,10,3,13,7,14,8,9,2,

11,5,12,6,1

图像分类显示为:

分类(一)

分类(二)

分类(三)

分类(四)

7.实验结果评价

8.结论

9.参考文献

[1] 彭丽英,董佳佳.模糊聚类算法分析及程序实现[J]. 信息系统工程,2009.10.8.

[2] [美] R.C.冈萨雷斯, P.温茨著, 李叔梁等译.数字图象处理[M].科学出版社,

1982.

[3]王花,黄晓霞. 模糊聚类分析及算法比较[J].现代计算机,2010.6.

[4]于瑞厚,李志明.基于差值图像分块均方差的图像质量评价方法[J].科技信息-博

士-专家论坛.

[5]李弼程,邵美珍,黄洁.模式识别原理与应用[M].西安电子科技大学出版社.2008.2.

(144-154)

[6]刘普寅,吴孟达.模糊理论及其应用.国防科技大学出版社.1998.11.

[7]浅居喜代治(日),赵汝怀(译).模糊系统理论入门[M].北京师范大学出版

社.1982.09.

10.附录

附录:

1.函数read():[文件名:read.m]

function K=read(m)

% 此函数返回一个1*m的元包数组

% 其格式为K=read(m),m为要读入的图片个数

% m为读入图片个数

% 图片格式为‘bmp’

% 图片命名格式为‘001……010……100……’

K=[];

for k=1:m

filename=sprintf('%d.bmp',k);

if k<10

filename=sprintf('00%d.bmp',k);

end

if k>=10 && k<100

filename=sprintf('0%d.bmp',k);

end

P=imread(filename);

P=double(P);

K{k}=[P];

end

clear filename;

clear P;

clear k;

2.函数mse():[文件名:mse.m]

function MSE = mse(f1, f2)

%计算f1和f2均方根误差

e =f1 - f2;

[m n] = size(e);

MSE= sqrt(sum(sum(e.^2))/(m*n));

3.函数psnr():[文件名:psnr.m]

function PSNR = psnr(f1, f2)

%计算两幅图像的峰值信噪比

% 返回值为PSNR

% 其中参数为两个double型的矩阵

PSNR = 10*log10((255^2)/mse(f1,f2));

4.函数transform():[文件名:transform.m]

function R1=transform(R)

% 此函数为求一个模糊关系的传递闭包.

% 返回值为R1=R。R.

% 函数参数为模糊关系R.

m=length(R);

R1=[];

for i=1:m

for j=1:m

if i==j

R1(i,j)=1;

else

a=0;

for k=2:m

b=min(R(i,k),R(k,j));

a=max(a,b);

end

R1(i,j)=a;

end

end

end

5.脚本distance:[文件名:distance.m]

clear all

%计算两图像的距离

K=read(10);

c=length(K);

figure;

for d=1:c

subplot(2,c/2,d),imshow(uint8(K{d}));

end

P=[];

M=[];

for k=1:10

for j=1:10

mse1=mse(K{k},K{j});

if mse1==0

mse1=1;

psnr1=100;

else

psnr1=psnr(K{k},K{j});

end

M(k,j)=mse1;

P(k,j)=psnr1;

end

cnt=1.00000;

Dis=M./(cnt*P);

while max(max(Dis))>1

cnt=cnt+0.01;

Dis=M./(cnt*P);

end

m=length(Dis);

for a=1:m

for b=1:m

if a==b

Dis(a,b)=1;

end

end

end

clear a;

clear b;

clear j;

clear k;

clear m;

clear mse1;

clear psnr1;

6.脚本tranresult:[文件名:tranresult.m]

Dis1=Dis;

m=length(Dis1);

R=transform(Dis1);

while max(max(Dis1~=R))

Dis1=R;

R=transform(Dis1);

end

R1=Dis1;

clear p;

clear q;

clear m;

7.脚本result:[文件名:result.m]

[m n]=size(Dis1);

r1=0.68;

c=1;

f=1;

A1=[];

A2=[];

for a=1:m

for b=a+1:n

if Dis1(a,b)>r1 & Dis1(a,b)

Dis1(a,b)=1;

else

Dis1(a,b)=0;

end

end

end

for d=1:m

for e=(d+1):n

if Dis1(d,e)==1

A1(c)=d;

c=c+1;

A1(c)=e;

end

end

end

j=1;

k=length(A1);

while j

while A1(j)==A1(j+1)

A1(j+1)=[];

k=k-1;

end

j=j+1;

end

A2(1,1)=3;A2(2,1)=6;A2(3,1)=8;A2(4,1)=10;

clear a;clear b;clear c;clear d;clear e;

clear j;clear k;clear m;clear n;

8.脚本display:[文件名:display.m]

a=length(A1);

for b=1:a

P1{b}=uint8(K{A1(b)});

end

c=length(A2);

for d=1:c

P2{d}=uint8(K{A2(d)}); end

figure(1);

for f=1:a

subplot(1,a,f);

imshow(P1{f});

end

for e=2:(c+1)

figure(e);

imshow(P2{e-1});

end

相关文档