条纹图像的特征检测方法与程序设计
图像纹理特征表示方法研究与应用共3篇
图像纹理特征表示方法研究与应用共3篇图像纹理特征表示方法研究与应用1随着计算机技术的发展和计算机图像的广泛应用,图像纹理特征表示方法成为了图像处理领域中的一个重要研究方向。
在这篇文章中,我将介绍图像纹理特征表示方法的研究现状及其应用。
一、图像纹理特征表示方法的背景图像纹理是指像素之间相互作用的规律,是由频繁地出现并相互关联的像素区域所构成的。
在计算机视觉领域中,图像纹理特征是评价图像局部细节特征的一种代表性方法,能够描述图像局部区域的空间结构特征、颜色分布等。
这对于图像分类、目标识别等任务都是非常重要的。
图像纹理特征可以通过不同的方法进行表示和提取,其中比较经典的方法包括灰度共生矩阵法、局部二值模式法、小波变换法、Gabor滤波器法等。
这些方法可以用来提取纹理信息,使得我们可以通过这些信息来识别和分类不同的物体。
二、图像纹理特征表示方法的研究现状(一)灰度共生矩阵法灰度共生矩阵法(Gray Level Co-occurrence Matrix,GLCM)是比较经典的图像纹理特征表示方法之一,它是用来描述局部图像灰度级别之间的二元统计关系的。
通过计算灰度共生矩阵中的统计特征,如能量、对比度、熵等,可以获得与图像纹理信息相关的特征。
(二)局部二值模式法局部二值模式法(Local Binary Pattern,LBP)是一种用来描述图像纹理的方法。
该方法将像素点周围的像素值与中心像素进行比较,并将比较结果编码成二进制码。
通过统计不同像素点的二进制编码,可以得到与图像纹理相关的特征。
(三)小波变换法小波变换法是通过将图像分解成多个不同尺度的子图像,然后对每个子图像进行小波变换,进而获得与不同频率的纹理信息相关的特征。
小波变换法可以对图像进行分析和处理,并且可以提取出与图像纹理情况相关的特征。
(四)Gabor滤波器法Gabor滤波器法是通过一组基于正弦波的复数核函数对图像进行滤波,获得和人类视觉系统感知图像相似的特征。
颜色、形状、纹理特征提取算法及应用wtt
颜⾊、形状、纹理特征提取算法及应⽤wtt ⼀、颜⾊特征1 颜⾊空间1.1 RGB 颜⾊空间是⼀种根据⼈眼对不同波长的红、绿、蓝光做出锥状体细胞的敏感度描述的基础彩⾊模式,R 、G 、B 分别为图像红、绿、蓝的亮度值,⼤⼩限定在 0~1 或者在0~255。
1.2 HIS 颜⾊空间是指颜⾊的⾊调、亮度和饱和度,H 表⽰⾊调,描述颜⾊的属性,如黄、红、绿,⽤⾓度 0~360度来表⽰;S 是饱和度,即纯⾊程度的量度,反映彩⾊的浓淡,如深红、浅红,⼤⼩限定在 0~1;I 是亮度,反映可见光对⼈眼刺激的程度,它表征彩⾊各波长的总能量,⼤⼩限定在 0~1。
1.3 HSV 颜⾊模型HSV 颜⾊模型依据⼈类对于⾊泽、明暗和⾊调的直观感觉来定义颜⾊, 其中H(Hue)代表⾊度, S (Saturat i on)代表⾊饱和度,V (V alue)代表亮度, 该颜⾊系统⽐RGB 系统更接近于⼈们的经验和对彩⾊的感知, 因⽽被⼴泛应⽤于计算机视觉领域。
已知RGB 颜⾊模型, 令M A X = max {R , G , B },M IN =m in{R , G ,B }, 分别为RGB 颜⾊模型中R 、 G 、 B 三分量的最⼤和最⼩值, RGB 颜⾊模型到HSV颜⾊模型的转换公式为:S =(M A X - M IN)/M A XH =60*(G- B)/(M A X - M IN) R = M A X120+ 60*(B – R)/(M A X - M IN) G= M A X240+ 60*(R – G)/(M A X - M IN) B = M A XV = M A X2 颜⾊特征提取算法2.1 ⼀般直⽅图法颜⾊直⽅图是最基本的颜⾊特征表⽰⽅法,它反映的是图像中颜⾊的组成分布,即出现了哪些颜⾊以及各种颜⾊出现的概率。
其函数表达式如下:H(k)= k n N(k=0,1,…,L-1) (1) 其中,k 代表图像的特征取值,L 是特征可取值的个数, k n 是图像中具有特征值为 k 的象素的个数,N 是图像象素的总数。
图像纹理特征提取方法
安徽大学本科毕业论文(设计、创作)题目:图像纹理特征提取方法研究学生姓名:朱邵成学号:Z01114175院(系):电气工程与自动化学院专业:自动化入学时间:2011 年9 月导师姓名:寻丽娜职称/学位:讲师/博士导师所在单位:安徽大学电气工程与自动化学院完成时间:2015 年 5 月图像纹理特征提取方法研究摘要近年来,随着信息多媒体时代的到来,以及网络在世界范围内的日益流行、云计算的风行,人们在日常生活工作接触的信息量越来越大。
图像作为信息的一种载体,具有直观、信息量大、便于不同国家间交流的特点,是网络多媒体的重要组成部分。
基于文本的图像检索是基于内容图像检索的基础,用人工方式解释图像信息,其工作量我们难以想象,可行性也值得商榷。
因此CBIR方法有效解决了这一个难题。
基于内容的图像检索(CBIR)包括四个阶段,分别是:获取图像、提取特征、分类图像、检索图像。
图像检索主要是一个核心问题:选取何种算法提取哪一种图像特征,快速有效的进行图像的区分与检测。
纹理特征的提取是CBIR 的关键问题之一,本论文也是基于图像纹理特征的提取为基础。
首先,本文使用基于纹理基元的共生矩阵分析方法,用来提取纹理特征向量。
此方法中,采用局部二进制模式(Local Binary Pattern,LBP)来进行图像的基本纹理基元的提取,并用灰度共生矩阵(Gray Level Co.occurrence Matrix,GLCM)中共生矩阵的分析方法来对纹理基元图像进行分析。
其次文中深入研究了基于灰度共生矩阵( GLCM) 的纹理特征提取方法,给出了基于Matlab 的简便实现代码,分析了共生矩阵各个构造参数对构造共生矩阵的影响。
分析结果对优化灰度共生矩阵的构造、实现基于灰度共生矩阵( GLCM) 的特定图像的纹理特征提取等都具有重要参考意义。
关键词:纹理特征;灰度共生矩阵;基于内容的图像检索;MatlabStudy on the extraction method of image texture featureAbstractIn recent years, along with information multimedia time arrival, as well as network in worldwide scale day by day popular, cloud computation being in fashion, the people are more and more bigger in the daily life work contact information content. The image took the information one kind of carrier, has, the information content intuitively big, is advantageous for the characteristic which between the different country exchanges, is the network multimedia important constituent. Based on the text image retrieval is based on the content image retrieval foundation, with the artificial way explanation pictorial information, its work load we imagines with difficulty, the feasibility is also worth discussing. Therefore CBIR method effective addressing this difficult problem . Based on content image retrieval (CBIR) including four stages, respectively is: Gain image, extraction characteristic, classified image, retrieval image. The image retrieval mainly is a core question: Which one kind of image characteristic selects what algorithm to withdraw, fast effective carries on the image the discrimination and the examination. The texture characteristic extraction is one of CBIR key question, the present paper also is based on the image texture characteristic extraction is a foundation. First, this paper used the co-occurrence matrix based on texture primitive to extract texture feature of image.In this method,it extracted basic texture primitive of image by Local Binary Pattem(LBP), and used co-ccurrence matrix of gray level co-occurrence matrix(GLCM) to analyze the texture primitive image. The method of texture feature extraction based on gray level co-occurrence matrix ( GLCM) was studied. Analyzed the effect of each parameter on constructing the co-occurrence matrix and implemented the feature extraction using Matlab. The analytical results provide valuable reference for creating GLCM better and extracting texture features of specific kinds of images.Keywords: texture feature;gray level co-occurrence matrix;based on content image retrieval;Matlab目录第1章绪论 01.1 前言 01.2 研究背景和意义 01.3 国内外研究现状 01.4 研究方法 (1)第2章纹理的概念和表达方式 (2)2.1 纹理的概念和特征 (2)2.2 纹理特征的描述方法 (3)2.2.1 统计分析法 (3)2.2.1.1 自相关函数 (4)2.2.1.2 边界频率 (4)2.2.1.3 灰度共生矩阵法 (4)2.2.2 频谱法 (5)2.2.3 结构法 (5)第3章灰度共生距阵算法的具体分析与实现 (6)3.1 灰度共生矩阵基本原理和特征 (6)3.2 灰度共生矩阵的二次统计特征量 (6)3.3 灰度共生矩阵的Matlab实现 (7)3.3.1 图像的前期处理 (7)3.3.2 Matlab实验获取二次统计特征量 (8)3.4 试验结果分析 (8)第4章结束语 (10)主要参考文献 (11)致谢 (11)第1章绪论1.1 前言随着多媒体技术和互联网的迅速发展,数字图像的容量正以惊人的速度增长,无论是军用还是民用,无论是静态还是动态的,每天都会产生海量的图像信息。
条纹投影三维测量相位展开方法
一维空间相位展开的过程
时间相位展开
其基本思想是使光栅条纹的频 率随着时间而变化。光栅投影图 像可以认为是一个时间轴上的序 列,记录下的一系列的相位图形 成测量空间内的一个三维的相位 分布,每一像素点的相位沿着时 间轴进行相位展开。 由于时间相位展开方法并不在 二维相位图中寻找展开路径,而 是沿着时间轴分别对每一个像素 进行相位展开,从而实现了各像 素点相互独立的相位展开,因此, 边界以及信噪比较低区域不会影 响其它较好的数据点,也即从算 法上避免了空间相位展开中误差 传播的发生。
时间相位展开方法
3. 郝煌栋和李达成等提出的非线性小数重合法,采用 了两套不同频率的光栅,增加了系统的复杂性,但提 高了条纹图像的信噪比。 4. Nadebonr等人提出的绝对相位测量法,是投影几对 倾斜光栅,每一对光栅形成一个有效的不同空间频率 的莫尔条纹,因此该方法也可以归类为时间相位展开 方法。 5. BurtonnadLalor提出的多频傅里叶条纹分析法要求 向物体表面基于时间相位展开的三维轮廓测量研究投 射多于一种频率的条纹,这些频率条纹的不同空间频 率带宽可使它们在傅里叶变换的频域中完全分开,因 此从本质上来说,它也是时间相位展开方法。
φ u(m,n,s)-φ u(m,n,0)φ u(m,n,s)-φ u(m,n,0)-2 υ (m, n, s)
(m, n)表示坐标点,每一套条纹投影后, 其折叠相位可由普通相位检测方法得 到(傅里叶变换、小波变换、相移等)。
线性时间相位展开
时间相位展开方法
1. Zhao等人采用的双频光栅法,将两种不同周期的光 栅(其中一个光栅只有一个条纹)分别投影到物体表面, 即测量两套不同灵敏度的相位图;在Li提出的双频光 栅的相位展开方法中,两种不同周期的条纹做在同一 块光栅上,使投影系统简化,当然这种空域复用的办 法是以降低条纹的对比为代价的。 2. Xie等人先后提出的绝对莫尔法和交叉光栅法,绝对 莫尔法是通过改变光栅的旋转角度来进行测量的,选 择不同光栅周期和不同的旋转角度可达到不同的测量 范围。交叉光栅法是将交又光栅(两个成一定角度的光 栅交叉形成)投影到物体上,经傅里叶变换和频域分离 后可得到两个图像,这和采用两套不同频率的光栅是 得到的效果一样的,但该方法可使投影系统简化。
干涉条纹图相位特征提取的方法研究
位。但是相移法对条纹图中的噪声非常敏感且需 要多幅图像,这就阻碍了该方法在高速动态测量中 的应用。小波变换的优点是能够提供一个随频率 改变的“时间-频率”窗口,即具有多尺度缩放能力, 这也是它比傅里叶变换法的强大之处。通过伸缩 尺度因子,它可以充分突出某些方面的特征 。 [7] 一 维连续小波变换法已经成功在分析单幅干涉条纹 中应用。对于处理一些比较复杂的条纹图,容易出 现相位模糊的情况,要想准确获取其相位信息还是
机器视觉测量技术5条纹图像处理
1. 干涉条纹数学形式与特性
机器视觉测量技术
各种干涉条纹图的光强分布可用数学形式表达为:
I(x,y)=I0(x,y)+I1(x,y)cosφ(x,y)+In(x,y)
其中,I0(x,y)为背景光强 I1(x,y)为条纹幅值
φ(x,y)为相位场 In(x,y)为可加性随机噪声
机器视觉测量技术
条纹图分布特征:
⑨由于余弦的偶函数性 cosφ=cos(-φ),若没有其它光验信 息,则无法从图像灰度信息中 确定相位的符号
⑩相位场的物理意义取决于所用的 实验技术。即是那种实验干涉条纹 图(距离、位移、振幅、变形等)
二. 数字条纹倍增法 ①双幅图条纹倍增法
机器视觉测量技术
条纹等差线中,有明场和 暗场等差线之分,互为相反
即在切线上,相位场与灰度变化大约为零 所以 条纹等值线对应于相位等值线
在条纹的法线方向n 上:
dI(x, dn
y)
max
dI(x, dp
y)
p为某个求导方向 在法线上,相位场与灰度梯度变化最大
机器视觉测量技术
⑦由于cosφ的周期性,只能测量出相位场的2π主值
⑧若只考虑cosφ的周期性的影响,条纹的中心线点的 相位为n π.
暗场ID=Id 1 cos(x, y)
暗场IL=Il 1 cos(x, y)
Il=Id
IR(x,y)=
2(IL ID )2 Il
2Il2cos2(x, y)
Il
Il
Ilcos2(x, y)
②任意相移双图条纹倍增法
机器视觉测量技术
一幅条纹图使其相位场平移 △φ
I(x, y) I0 (x, y) I1(x, y)cos[(x, y) ]
综合颜色和纹理特征的图像检索算法
h 6 h , s -' mi (g ) : 0 ・ -v - r ,一 n ,b
,
则
征 。灰 度 共 生 矩 阵 目前 已 总 结 的纹 理 特 征 有 1 4个 , Gol b和 K esi 过 实 验 得 出 , 量 、 、 性 矩 和 相 te i ryzg通 能 熵 惯
Ya n u li n-a
( e at n o C mp t , a z iu nvri Dpr me t f o ue P nhh aU i st r e y
【 bt c 】 ot tae ae e ia(BR i n e otcv tptit rnr er l f uieirrv1 c rn e A s t C n nBsdm g t vl I) e f s t h o e uet sa he l d t a Ac d goh a r e- I Rr C e s ot m i os snh c r o h a e e c f d m t aei . o i tt i o m e
其和 方 差 。 r i
经 过 上 式 对 特 征 向 量 进 行 归 一 化 后 , 量 中 的 某 个 分 量 向
落在 区 间[ 1范 围中 的概率 约为 9 %, 0,] 9 对于 大 于 1的数 值 可以简 单地 对应 到 1 。 上
1 . RGB空 间到 HS 1 V空 问的 转换
通 过非 线 性变 换 可 将 R B颜 色 空 间 的 rg b值 转 G ,, 换 到 HS 空间 的 h Sv值 。设 v - xrg b , 义 r , V ,, ’ma(, ,)定 ’
g .’ ’b 为
v' -r
r
.
d) , =— 0
综合颜色和纹理特征的图像检索-2019年文档
综合颜色和纹理特征的图像检索1、引言近年来,随着信息技术的迅猛发展,图像处理在各个领域的应用越来越广泛。
如何快速的组织、管理和检索图像数据库已成为近年来研究的热点研究课题[1]。
图像特征可以从各个方面描述图像的内在语义。
根据对不同特征定义的相似度来表示图像之间的相似度,可以实现对图像的精细、快速检索。
基于内容的图像检索(CBIR)[2]得到学术界和应用领域的青睐。
本文在颜色的特征提取方面,利用文献[4]提出的基于HVS 加权颜色特征的方法,对不同分块的主色进行加权处理,形成基于主色特征加权的颜色特征;在纹理特征提取方面,对传统共生矩阵进行改进,结合结构分析方法中的共生矩阵的优点,提取更丰富的纹理特征。
最后利用高斯归一化方法将图像颜色和纹理特征结合,形成最终的检索特征。
实验结果验证了该方法的高效性。
2、基于颜色特征的图像检索2.1颜色空间选取HSV颜色表示色相、饱和度和亮度三个分量组成,该颜色空间可以用一个圆锥来表示。
每个分量都与人的视觉有一定的关联。
由于HSV空间是高维,需进一步进行量化,才可以使运算得到简化。
对于色调H、饱和度S和亮度V的权重分别取15、4、1,由于色调包含图像的大多数信息,减少亮度和饱和度对检索图像的影响,进行量化后[5],合成为一维颜色:L=15H+4S+V2.2 颜色特征的提取采用分块和圆环结合的方式进行颜色特征的提取,首先对图像进行分块,将图像看成为矩阵,用行列号进行分块,对每个分块的像素进行量化合成后,都可以获得一个具有64(假设划分为8×8)的一维颜色分量的矢量,提取其中像素点数多的作为该分块颜色的主色,最后获得图像的综合主色颜色向量。
采用熵的图像分块边缘检测[6],然后采用圆环分割分割图像,图像被划分为N个圆形。
上述两种方法的结合,克服传统只是通过单一的分块或圆环的方式来检索图像的颜色特征。
此外,可以根据实际需要,解决图像的标准化、单一的问题。
采用直方图有时候会出现零值,影响检索的效果和标准。
基于LabVIEW的条纹图像处理技术_侯宏录
科技信息SCIENCE &TECHNOLOGY INFORMATION2010年第5期0引言条纹相机是超快诊断技术的关键诊断设备之一,在国家基础科学研究以及国防尖端技术研究中具有不可取代的重要作用,它主要应用于核聚变、爆炸物理、光化学、光生物学等尖端科技领域的研究[1]。
它是把超快现象(作用时间<10的过程)过程中产生的光脉冲转换为电子的脉冲经过扫描电路将电子扫描成条纹状图像在像增强器的图像输出屏上,通过对这些条纹图像的分析处理从而得出输入激光重要信息的超快诊断仪器。
这些超快激光的重要参数包括:激光脉冲的能量、激光脉冲的半宽时间、激光脉冲的上升时间、激光脉冲的下降时间和脉冲间距时间。
LabVIEW 是美国国家仪器公司(National Instruments )推出的一种基于图形化编程语言(Graphical Programming Language )的软件开发环境。
它具有功能强大、编程灵活、人机界面友好的特点,因而在测量技术和仪器工程科学领域中得到了广泛的应用[2,3]。
分析条纹相机CCD 图像读出系统输出的条纹图像特点后,本文提出了针对条纹图像处理的算法,并在LabVIEW 环境下开发出条纹相机条纹图像处理的应用软件[4,5]。
1条纹图像处理算法条纹相机获取的两条纹典型图像,如图1.1所示。
横向表示时间,纵向表示空间。
图1条纹相机的输出图像图像处理总是去除影响真实信息的因素,通常采用的方法是图像去噪[6,7,8]。
条纹相机像增强器本身的噪声和外界杂光进入CCD 读出系统导致了条纹图像的背景灰度,背景灰度影响激光脉冲强度的精度;另外,为了消除采用单行灰度数据计算时间参数的误差,采用列灰度均值计算时间参数。
激光条纹图像处理需要计算出条纹相机诊断的激光脉冲的关键时间参数包括:激光脉冲的条纹间距[9]、激光脉冲上升时间、激光脉冲下降时间和半高宽时间。
检测出单条纹脉冲的灰度峰值及其对应的横坐标位置是计算时间参数的基础。
条纹图像的特征检测方法与程序设计模板
条纹图像的特征检测方法与程序设计实验报告七实验名称:条纹图像的特征检测方法与程序设计课程:图像检测与处理专业:测控技术与仪器实验日期: 12月4日1、实验目的经过图像处理算法的设计和程序编写调试,掌握采用数字图像处理技术实现工业目标对象特征检测的基本方法和过程。
2、实验原理在相对亮的背景下,对较暗的目标对象(线缆)进行检测,得到有一定对比度的数字图像。
首先,根据所采集的图像质量判断是否需要进行图像增强,根据图像增强原理分析和实验结果选用增强算法;为检测线缆的直径尺寸,方法之一是用行方向上线缆所覆盖的像素数来描述线径,为实现线缆覆盖像素数的度量,需要先将线缆目标从背景中分离出来,即进行二值化处理,选择二值化处理算法和门限值,对增强后的灰度图像进行二值化处理;然后,统计各个像素行线缆直径方向上所覆盖的像素数N,对各行覆盖像素数求平均,作为检测结果值(单位:像素)。
在检测系统的成像放大率不变的情况下,经过数字图像像素当量(毫米/像素)的标定,即对每个像素代表的实物尺寸的测定,则能够得到线径的实际尺寸:3、实验指标及要求自行设计图像处理程序和算法,实现给定条纹图像中的条纹中心线和条纹宽度的检测,并以像素为单位给出宽度检测结果。
4、实验设备PC计算机,MATLAB程序开发软件,PHOTOSHOP图像处理软件,被处理的数字图像文件等。
5、实验及结果分析(1)叙述实验设计过程中需要考虑的图像处理步骤;解:读取待处理图像;对图像进行中值滤波处理;采用最大类间方差法选取一个合理的二值化分割阈值;按照阈值进行二值化处理;闭运算处理;统计每一行含有目标对象的像素数目,并出其平均值,得到以像素为单位的条纹宽度检测结果;找到目标图像每一行的中心位置,将其连接起来,即得到了条纹中心线。
(2)简述在所设计的程序实现中所采用的图像处理算法及依据;解:中值滤波:消除图像中含有的噪声点,对噪声信号进行了有效的抑制;最大类间方差法:方差是表征数据分布不均衡性的统计量,经过阈值对目标和背景进行了分割,经过循环使得两类数据间的方差越大越好,把该结果对应的阈值作为最佳阈值;二值化处理:经过二值化处理,使图像的像素只有0和1,便于后续的处理;闭运算:选取了一个结构元素,进行闭运算处理,目的是填充目标内小空洞、连接断开的近邻目标、平滑边界;宽度检测:统计每行含有目标对象的像素数目,并求出其平均值,即得到了以像素为单位的条纹宽度检测结果;条纹中心线:找到目标图像中每一行的中心位置,将其连接起来,即得到了条纹中心线。
图像处理_条纹检测
1.图片”条纹.bmp”中包一定间隔的条纹,要求测量条纹的间隔(以像素为尺度)和方向(假设单个像元为方形,及长度和宽度一致)。
matlab程序% 条纹处理2010年6月25日%% 打开图片[FileName,PathName] = uigetfile({'*.bmp','BMP文件(*.bmp)';'*.*', ...'All Files (*.*)'}, 'Select the Target-file');file=[PathName,FileName];if isequal(FileName,0)return;elseg=imread (file);figure(1); %原图imshow(g);I=rgb2gray(g); %灰度化J=I;[row,col]=size(I);Bi=im2bw(J,graythresh(J)); %二值化graythresh(J):Otsu方法确定阈值[J8,n8]=bwlabel(Bi,8); %贴标签%% 去除边沿非整条纹for i = 1:rowif J8(i,1)~=0temp= J8(i,1);[r,c]=find(J8(i,:)==temp);J8(i,c)=0;endif J8(i,col)~=0temp= J8(i,col);[r,c]=find(J8(i,:)==temp);J8(i,c)=0;endendfigure(2);imshow(J8);%% 条纹中线JL=zeros(size(J8));for i = 1:rowfor j=1:n8[r,c]=find(J8(i,:)==j);if(~isempty(c))JL(i,round(sum(c)/length(c)))=j;endendendfigure(3);imshow(JL);%% 计算倾角间距i=1;for j=1:n8[r,c]=find(JL==j);if(~isempty(c))p(i,:)=polyfit(c,r,1); %拟合i=i+1;endendSlope=sum(p(:,1))/length(p(:,1)); %斜率if Slope<0Inclination=-atan(Slope)/pi*180; %倾角elseInclination=180-atan(Slope)/pi*180;endmyL=p(:,2);gap=0;lhalf=round(length(p(:,2))/2);for i=lhalf+1:length(p(:,2))gap=gap+myL(i)-myL(i-lhalf);endgap=(gap/(i*lhalf))*sin(Inclination/180*pi);str1=['条纹间隔:' num2str(gap) '像素\n'];str2=['条纹与水平夹角:' num2str(Inclination) '度']; msgbox([str1;str2]);end%% 保存图片% [file,path] = uiputfile({'*.bmp','BMP文件(*.bmp)';'*.*', ... % 'All Files (*.*)'},'Save file name');% PF=[path,file];% if isequal(file,0)% return;% else% imwrite(JL,PF,'bmp');% end。
提取图像纹理特征程序设计 小波变换
1.设计目的小波变换可以使得信号的低频长时特性和高频短时特性同时得到处理,具有良好的局部化性质,能有效地克服傅氏变换在处理非平稳复杂信号时存在的局限性,具有极强的自适应性,因此在图像处理中具有极好应用价值。
与Fourier 变换相比,小波变换是空间(时间)和频率的局部变换,因而能有效地从信号中提取信息。
通过伸缩和平移等运算功能可对函数或信号进行多尺度的细化分析,解决了Fourier变换不能解决的许多困难问题。
本设计主要分析了基于小波变换的图像分解和图像压缩技术,并运用Matlab软件对图像进行分解,然后提取其中与原图像近似的低频信息,达到对图像进行压缩的目的。
分别作第一层分解和第二层分解,并比较图像压缩的效果。
2.设计要求利用小波变换的基本原理在MATLAB环境下编写程序对静态图像处理并观察分析其处理效果,通过伸缩和平移等运算功能可对函数或信号进行多尺度的细化分析,解决了Fourier变换不能解决的许多困难问题。
并运用Matlab 软件对图像进行分解,然后提取其中与原图像近似的低频信息,达到对图像进行压缩的目的。
分别作第一层分解和第二层分解,并比较图像压缩的效果。
3.设计原理),(m n LLLHHLHH小波变换在图像压缩中的应用 二维离散小波变换后的系数分布构成了信号),(y x f 的二维正交小波分解系数(如图所示),二维正交小波分解系数它们每一个都可被看做一幅图像,),(1m n f W j 给出了),(y x f 垂直方向的高频分量的小波分解系数,),(3m n f W j 给出了),(y x f 水平方向的高频分量的小波分解系数,),(2m n f W j 给出了),(y x f 对角方向高频分量的小波分解系数,f S J 给出了),(y x f 的低频分量的小波分解系数。
由此可见,若用S J ,W j 1,W j 2,Wj3分别表示),(m n f S j ,),(1m n f W j ,),(2m n f W j ,),(3m n f W j 经2∶1亚抽样后的变换系数(简称为子图像),则任一图像都可以分解为j=-J ,…,-1之间的3J+1个离散子图像:S J ,W j 1,W j 2,W j 3其中S J 是原图像的一个近似,Wi j(i=1,2,3;j=-J ,…,-1)则是图像在不同方向、不同分辨率下的细节;ZZ j j j j j j m n f W m n f W m n f W m n f S m n ⨯∈--=})},(),,(),,(){,(3211,...,),(如果原图像有N2个像素,则子图像S J ,W j 1,W j 2,W j 3分别有N i2个像素,因而分解后总的像素数N T 为N N NN jj i JT 2212][344=+=∑--=-可见,分解后总的像素数不变。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告七实验名称:条纹图像的特征检测方法与程序设计课程:图像检测与处理专业:测控技术与仪器实验日期:2015年12月4日1、实验目的通过图像处理算法的设计和程序编写调试,掌握采用数字图像处理技术实现工业目标对象特征检测的基本方法和过程。
2、实验原理在相对亮的背景下,对较暗的目标对象(线缆)进行检测,得到有一定对比度的数字图像。
首先,根据所采集的图像质量判断是否需要进行图像增强,根据图像增强原理分析和实验结果选用增强算法;为检测线缆的直径尺寸,方法之一是用行方向上线缆所覆盖的像素数来描述线径,为实现线缆覆盖像素数的度量,需要先将线缆目标从背景中分离出来,即进行二值化处理,选择二值化处理算法和门限值,对增强后的灰度图像进行二值化处理;然后,统计各个像素行线缆直径方向上所覆盖的像素数N,对各行覆盖像素数求平均,作为检测结果值(单位:像素)。
在检测系统的成像放大率不变的情况下,通过数字图像像素当量(毫米/像素)的标定,即对每个像素代表的实物尺寸的测定,则可以得到线径的实际尺寸:3、实验指标及要求自行设计图像处理程序和算法,实现给定条纹图像中的条纹中心线和条纹宽度的检测,并以像素为单位给出宽度检测结果。
4、实验设备PC计算机,MATLAB程序开发软件,PHOTOSHOP图像处理软件,被处理的数字图像文件等。
5、实验及结果分析(1)叙述实验设计过程中需要考虑的图像处理步骤;解:读取待处理图像;对图像进行中值滤波处理;采用最大类间方差法选取一个合理的二值化分割阈值;按照阈值进行二值化处理;闭运算处理;统计每一行含有目标对象的像素数目,并出其平均值,得到以像素为单位的条纹宽度检测结果;找到目标图像每一行的中心位置,将其连接起来,即得到了条纹中心线。
(2)简述在所设计的程序实现中所采用的图像处理算法及依据;解:中值滤波:消除图像中含有的噪声点,对噪声信号进行了有效的抑制;最大类间方差法:方差是表征数据分布不均衡性的统计量,通过阈值对目标和背景进行了分割,通过循环使得两类数据间的方差越大越好,把该结果对应的阈值作为最佳阈值;二值化处理:通过二值化处理,使图像的像素只有0和1,便于后续的处理;闭运算:选取了一个结构元素,进行闭运算处理,目的是填充目标内小空洞、连接断开的近邻目标、平滑边界;宽度检测:统计每行含有目标对象的像素数目,并求出其平均值,即得到了以像素为单位的条纹宽度检测结果;条纹中心线:找到目标图像中每一行的中心位置,将其连接起来,即得到了条纹中心线。
(3)写出提取图像中条纹中心线检测的程序流程和程序代码;解:条纹中心线检测的程序代码:% --- Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles)aa=handles.aa;[m,n]=size(aa);for i=1:m %逐行扫描z0=find(aa(i,:)==0);k=length(z0);fz(i)=z0(1); %找出目标对象每行的第一个元素的坐标lz(i)=z0(k); %找出目标对象每行的最后一个元素的坐标y=round((lz+fz)/2); %求每行第一个和最后一个元素坐标平均值,即得到每行的中心位置endx=1:m;plot(y,x,'r','LineWidth',1) %画出中心线axes(handles.axes3);图1:条纹中心线检测的程序流程图图2:条纹宽度的程序流程图(4)写出检测图像中条纹宽度的程序流程和程序代码;解:条纹宽度的程序代码% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)aa=handles.aa;one_count=sum(aa,2); %统计图像背景中每行所包含的像素数目zero_count=size(aa,2)-one_count; %计算统计出目标图像中每行所包含的像素数目handles.zero=zero_count;dia=mean(zero_count); %计算像素平均值,得到以像素为单位的条纹宽度检测结果dstr=['检测结果:' num2str(dia) ' pixels']; %将检测结果在GUI中显示出来set(handles.text3,'String',dstr);guidata(hObject, handles);(5)给出以像素为单位的条纹宽度检测结果,用不同的颜色标记出条纹中心线。
(见图3)图3:检测结果及中心线6、实验总结与体会(1)分析总结实现工业目标对象特征检测的基本图像处理环节;解:首先,读取观察图像,判断图像的质量;然后,在对图像滤波处理和图像增强,使图像噪声得到抑制,对比度增强;选取合适的方法,进行二值化处理;去除伪目标,通过贴标签的方法区分不同的目标对象;最后,对目标对象进行检测处理,获取我们想要的特征。
(2)分析并提出提高条纹宽度检测精度的方法(至少一种方法);解:①图像进行锐化处理,使目标图像的边界信息突出,避免其在滤波时损失部分信息②采用区域提取的方法,将研究的目标图像从图像中分割出来,进行宽度检测,这样就会避免对不是目标对象的像素点进行统计了,提高了检测的精度。
(3)分析并绘出工业图像检测应用系统的基本组成系统框图。
(见图4)图4:工业图像检测应用系统基本组成7、参考文献[1] 章毓晋编著.图象分析与处理.北京:清华大学出版社,1999年[2] 何锦平.基于小波分辨的图像增强及其应用研究[D].西北工业大学硕士学位论文,2003.4[3] 孔祥刚,诸静.基于PCI总线和DSP芯片的图像处理平台的硬件设计[J].电子技术应用,2003(12):70~73[4] 孙小鹏,孔玲君.基于图像处理的数字印刷线条质量检测方法研究[J].包装工程,2013年7期[5] 闫敬文,《数字图像处理MA TLAB版》,国防工业出版社,2007.28、程序代码及程序流程图function varargout = exp5(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', m, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @exp5_OpeningFcn, ...'gui_OutputFcn', @exp5_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});endfunction exp5_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = exp5_OutputFcn(hObject, eventdata, handles)varargout{1} = handles.output;% --- Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)a=imread('line2.bmp');axes(handles.axes1);imshow(a);handles.a=a;guidata(hObject, handles);% --- Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)a=handles.a;a=a(:,:,1);J=medfilt2(a);axes(handles.axes2);imshow(J);handles.J=J;guidata(hObject, handles);% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles) J=handles.J;bw=im2bw(J,graythresh(J));bw=bwareaopen(bw,100);axes(handles.axes3);imshow(bw);se=strel('square',10);aa=imclose(bw,se);imshow(aa);hold onhandles.aa=aa;guidata(hObject, handles);% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles) aa=handles.aa;one_count=sum(aa,2);zero_count=size(aa,2)-one_count;handles.zero=zero_count;dia=mean(zero_count);dstr=['检测结果:' num2str(dia) ' pixels'];set(handles.text3,'String',dstr);guidata(hObject, handles);% --- Executes on button press in pushbutton5.function pushbutton5_Callback(hObject, eventdata, handles) aa=handles.aa;[m,n]=size(aa);for i=1:mz0=find(aa(i,:)==0);k=length(z0);fz(i)=z0(1);lz(i)=z0(k);y=round((lz+fz)/2);endx=1:m;plot(y,x,'r','LineWidth',1)axes(handles.axes3);% --- Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles) close;图5:程序流程图。