图像处理圆度率_图像处理拟合圆 - CSDN
精华内容
参与话题
  • 常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。 一 颜色特征 (一)特点:颜色特征是一种全局特征,描 述了图像图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于...

    常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。

    一 颜色特征

    (一)特点:颜色特征是一种全局特征,描 述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区 域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。另外,仅使用颜色特征查询时,如果数据库很大,常会将许多不需要的图像也 检索出来。颜色直方图是最常用的表达颜色特征的方法,其优点是不受图像旋转和平移变化的影响,进一步借助归一化还可不受图像尺度变化的影响,基缺点是没有 表达出颜色空间分布的信息。

    (二)常用的特征提取与匹配方法

    (1)              颜色直方图

    其 优点在于:它能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的 图像。其缺点在于:它无法描述图像中颜色的局部分布及每种色彩所处的空间位置,即无法描述图像中的某一具体的对象或物体。

    最常用的颜色空间:RGB颜色空间、HSV颜色空间。

    颜色直方图特征匹配方法:直方图相交法、距离法、中心距法、参考颜色表法、累加颜色直方图法。

    (2)            颜色集

    颜色直方图法是一种全局颜色特征提取与匹配方法,无法区分局部颜色信息。颜色集是对颜色直方图的一种近似首先将图像从 RGB颜色空间转化成视觉均衡的颜色空间(如 HSV 空间),并将颜色空间量化成若干个柄。然后,用色彩自动分割技术将图像分为若干区域,每个区域用量化颜色空间的某个颜色分量来索引,从而将图像表达为一个二进制的颜色索引集。在图像匹配中,比较不同图像颜色集之间的距离和色彩区域的空间关系

    (3)            颜色矩

    这种方法的数学基础在于:图像中任何的颜色分布均可以用它的矩来表示。此外,由于颜色分布信息主要集中在低阶矩中,因此,仅采用颜色的一阶矩(mean)、二阶矩(variance)和三阶矩(skewness)就足以表达图像的颜色分布。

    (4)            颜色聚合向量

    其核心思想是:将属于直方图每一个柄的像素分成两部分,如果该柄内的某些像素所占据的连续区域的面积大于给定的阈值,则该区域内的像素作为聚合像素,否则作为非聚合像素。

    (5)            颜色相关图

    二 纹理特征

    (一) 特点:纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性, 所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。在模式 匹配中,这种区域性的特征具有较大的优越性,不会由于局部的偏差而无法匹配成功。作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗 能力。但是,纹理特征也有其缺点,一个很明显的缺点是当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差。另外,由于有可能受到光照、反射情况 的影响,从2-D图像中反映出来的纹理不一定是3-D物体表面真实的纹理。

    例如,水中的倒影,光滑的金属面互相反射造成的影响等都会导致纹理的变化。由于这些不是物体本身的特性,因而将纹理信息应用于检索时,有时这些虚假的纹理会对检索造成“误导”。

    在检索具有粗细、疏密等方面较大差别的纹理图像时,利用纹理特征是一种有效的方法。但当纹理之间的粗细、疏密等易于分辨的信息之间相差不大的时候,通常的纹理特征很难准确地反映出人的视觉感觉不同的纹理之间的差别。

    (二)常用的特征提取与匹配方法

    纹理特征描述方法分类

    (1)统计方法统计方法的典型代表是一种称为灰度共生矩阵的纹理特征分析方法Gotlieb 和 Kreyszig 等人在研究共生矩阵中各种统计特征基础上,通过实验,得出灰度共生矩阵的四个关键特征:能量、惯量、熵和相关性。统计方法中另一种典型方法,则是从图像的自相关函数(即图像的能量谱函数)提取纹理特征,即通过对图像的能量谱函数的计算,提取纹理的粗细度及方向性等特征参数

    (2)几何法

    所谓几何法,是建立在纹理基元(基本的纹理元素)理论基础上的一种纹理特征分析方法。纹理基元理论认为,复杂的纹理可以由若干简单的纹理基元以一定的有规律的形式重复排列构成。在几何法中,比较有影响的算法有两种:Voronio 棋盘格特征法和结构法。

    (3)模型法

    模型法以图像的构造模型为基础,采用模型的参数作为纹理特征。典型的方法是随机场模型法,如马尔可夫(Markov)随机场(MRF)模型法和 Gibbs 随机场模型法

    (4)信号处理法

    纹理特征的提取与匹配主要有:灰度共生矩阵、Tamura 纹理特征、自回归纹理模型、小波变换等。

    灰度共生矩阵特征提取与匹配主要依赖于能量、惯量、熵和相关性四个参数。Tamura 纹理特征基于人类对纹理的视觉感知心理学研究,提出6种属性,即:粗糙度、对比度、方向度、线像度、规整度和粗略度。自回归纹理模型(simultaneous auto-regressive, SAR)是马尔可夫随机场(MRF)模型的一种应用实例。

    三 形状特征

      (一) 特点:各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们也有一些共同的问题,包括:①目前基于形状的检索方法还缺乏 比较完善的数学模型;②如果目标有变形时检索结果往往不太可靠;③许多形状特征仅描述了目标局部的性质,要全面描述目标常对计算时间和存储量有较高的要 求;④许多形状特征所反映的目标形状信息与人的直观感觉不完全一致,或者说,特征空间的相似性与人视觉系统感受到的相似性有差别。另外,从 2-D 图像中表现的 3-D 物体实际上只是物体在空间某一平面的投影,从 2-D 图像中反映出来的形状常不是 3-D 物体真实的形状,由于视点的变化,可能会产生各种失真。

    (二)常用的特征提取与匹配方法

    Ⅰ几种典型的形状特征描述方法

    通常情况下,形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征。图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域。

    几种典型的形状特征描述方法:

    (1)边界特征法该方法通过对边界特征的描述来获取图像的形状参数。其中Hough 变换检测平行直线方法和边界方向直方图方法是经典方法。Hough 变换是利用图像全局特性而将边缘像素连接起来组成区域封闭边界的一种方法,其基本思想是点-线的对偶性;边界方向直方图法首先微分图像求得图像边缘,然后,做出关于边缘大小和方向的直方图,通常的方法是构造图像灰度梯度方向矩阵。

    (2)傅里叶形状描述符法

    傅里叶形状描述符(Fourier shape descriptors)基本思想是用物体边界的傅里叶变换作为形状描述,利用区域边界的封闭性和周期性,将二维问题转化为一维问题。

    由边界点导出三种形状表达,分别是曲率函数、质心距离、复坐标函数。

    (3)几何参数法

    形状的表达和匹配采用更为简单的区域特征描述方法,例如采用有关形状定量测度(如矩、面积、周长等)的形状参数法(shape factor)。在 QBIC 系统中,便是利用圆度、偏心率、主轴方向和代数不变矩等几何参数,进行基于形状特征的图像检索。

    需要说明的是,形状参数的提取,必须以图像处理及图像分割为前提,参数的准确性必然受到分割效果的影响,对分割效果很差的图像,形状参数甚至无法提取。

    (4)形状不变矩法

    利用目标所占区域的矩作为形状描述参数。

    (5)其它方法

    近年来,在形状的表示和匹配方面的工作还包括有限元法(Finite Element Method 或 FEM)、旋转函数(Turning Function)和小波描述符(Wavelet Descriptor)等方法。

    Ⅱ 基于小波和相对矩的形状特征提取与匹配

        该方法先用小波变换模极大值得到多尺度边缘图像,然后计算每一尺度的 7个不变矩,再转化为 10 个相对矩,将所有尺度上的相对矩作为图像特征向量,从而统一了区域和封闭、不封闭结构。

    四 空间关系特征

      (一)特点:所谓空间关系,是指图像中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包 容关系等。通常空间位置信息可以分为两类:相对空间位置信息和绝对空间位置信息。前一种关系强调的是目标之间的相对情况,如上下左右关系等,后一种关系强 调的是目标之间的距离大小以及方位。显而易见,由绝对空间位置可推出相对空间位置,但表达相对空间位置信息常比较简单。

    空间关系特征的使用可加强对图像内容的描述区分能力,但空间关系特征常对图像或目标的旋转、反转、尺度变化等比较敏感。另外,实际应用中,仅仅利用空间信息往往是不够的,不能有效准确地表达场景信息。为了检索,除使用空间关系特征外,还需要其它特征来配合。

    (二)常用的特征提取与匹配方法

    提取图像空间关系特征可以有两种方法:一种方法是首先对图像进行自动分割,划分出图像中所包含的对象或颜色区域,然后根据这些区域提取图像特征,并建立索引;另一种方法则简单地将图像均匀地划分为若干规则子块,然后对每个图像子块提取特征,并建立索引。

     

    http://blog.csdn.net/djh512/article/details/7293563

    转载于:https://www.cnblogs.com/pengkunfan/p/3944697.html

    展开全文
  • 数字图像处理知识体系小结

    万次阅读 多人点赞 2012-12-13 21:26:22
    花了点时间整理了一下数字图像处理知识体系,从宏观上把握图像处理,使自己的学习思路就更加清晰。 1.本文大部分内容来自:http://blog.csdn.net/byxdaz/article/details/4375228 2.有些内容待添加,特别是opencv...

    站得高,才能看得远!

    花了点时间整理了一下数字图像处理知识体系,从宏观上把握图像处理,使自己的学习思路就更加清晰。

    1.本文大部分内容来自:http://blog.csdn.net/byxdaz/article/details/4375228

    2.有些内容待添加,特别是opencv相关的算法实现。

    目录

    一、数字图像基础... 3

    二、数字图像存储与显示... 3

    三、图像变换... 4

    1.卷积... 4

    2.梯度和Sobel导数... 5

    3.拉普拉斯变换... 5

    4.Canny算子... 5

    5.霍夫变换... 5

    6.重映射... 5

    7.几何操作:拉伸、收缩、扭曲和旋转... 5

    8.离散傅里叶变换(DFT)... 5

    9.离散余弦变换(DCT)... 5

    四、形态学图像处理... 5

    1.平滑处理... 5

    2.膨胀与腐蚀... 5

    3.开操作与闭操作... 5

    4.漫水填充算法... 5

    5.尺寸调整... 5

    6.图像金字塔... 6

    7.阈值化... 6

    五、图像边缘检测... 6

    六、图像增强和复原... 8

    1.图像增强... 8

    (1)空间域增强处理... 8

    (2)频率域增强处理... 9

    2.图像复原... 11

    七、图像压缩... 11

    八、图像分割... 12

    九、图像特征提取与匹配... 13

    十、图像分类(识别)... 15

     

    数字图像处理[wq1] 是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。此外,基于光学理论的处理方法依然占有重要的地位。 数字图像处理是信号处理的子类, 另外与计算机科学、人工智能等领域也有密切的关系。 传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等。然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。大多数用于一维信号处理的概念都有其在二维图像信号领域的延伸,它们中的一部分在二维情形下变得十分复杂。同时图像处理也具有自身一些新的概念,例如,连通性、旋转不变性,等等。这些概念仅对二维或更高维的情况下才有非平凡的意义。图像处理中常用到快速傅立叶变换,因为它可以减小数据处理量和处理时间。

    数字图像处理应用在以下方面 :

    摄影及印刷 (Photography and printing)

    卫星图像处理 (Satellite imageprocessing)

    医学图像处理 (Medical image processing)

    面孔识别, 特征识别 (Face detection,feature detection, face identification)

    显微图像处理 (Microscope imageprocessing)

    汽车障碍识别 (Car barrier detection)

    一、数字图像基础

    图像的基本概念、图像取样和量化、数字图像表示、空间和灰度级分辨率、图像纹理、像素间的一些基本关系(相邻像素、邻接性、连通性、区域和边界、距离度量)[wq2] 、线性和非线性变换操作。[wq3] 

        常用色彩空间分类:

    二、数字图像存储与显示

    在计算机中,有两种类型的图:矢量图(vector graphics)和位映象图(bitmappedgraphics)。矢量图是用数学方法描述的一系列点、线、弧和其他几何形状,如图(a)所示。因此存放这种图使用的格式称为矢量图格式,存储的数据主要是绘制图形的数学描述;位映象图(bitmappedgraphics)也称光栅图(raster graphics),这种图就像电视图像一样,由象点组成的,如图(b),因此存放这种图使用的格式称为位映象图格式,经常简称为位图格式,存储的数据是描述像素的数值。

        图像格式目前包括bmp格式、gif格式、jpeg格式、jpeg2000格式、tiff格式、psd格式、Png格式、swf格式、svg格式、pcx格式、dxf格式、wmf格式、emf格式、LIC格式、eps格式、TGA格式等。

    目前比较出名的图像处理库有很多,比如LEADTOOLS、OPENCV,LEADTOOLS这个是功能非常强大的图像多媒体库,但是这个是收费注册的。OpenCV 是一个跨平台的中、高层 API 构成,目前包括 300 多个 C 函数。它不依赖与其它的外部库,尽管也可以使用某些外部库。OpenCV 对非商业用途和商业用途都是免费(FREE)的。开源的图像库也有不少,比如:ImageStone、GIMP、CxImage等,虽然它们的功能没有LEADTOOLS强大[wq4] ,但是一般的图像处理是可以应付的。

    三、图像变换

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

    图像变换,也认为是将一副图像转变成图像数据。

    1.    卷积

     

    2.    梯度和Sobel导数[wq6] 

     

    3.    拉普拉斯变换[wq7] 

     

    4.    Canny算子

     

    5.    霍夫变换

     

    6.    重映射

     

    7.    几何操作:拉伸、收缩、扭曲和旋转[wq8] 

     

    8.    离散傅里叶变换(DFT)

     

    9.    离散余弦变换(DCT)

     

    四、形态学图像处理

    1.    平滑处理

     

    2.    膨胀与腐蚀

     

    3.    开操作与闭操作

     

    4.    漫水填充算法

     

    5.    尺寸调整

     

    6.    图像金字塔

     

    7.    阈值化

     

    五、图像边缘检测

    数字图像的边缘检测是图像分割、目标区域的识别、区域形状提取等图像分析领域十分重要的基础,图像理解和分析的第一步往往就是边缘检测,目前它以成为机器视觉研究领域最活跃的课题之一,在工程应用中占有十分重要的地位。所谓边缘就是指图像局部亮度变化最显著的部分,它是检测图像局部变化显著变化的最基本的运算。边缘的记录有链码表和线段表2种,链码表适合计算周长,线段表容易计算面积以及相关的,他们之间可以相互的转换。

    迄今为止,已经出现了许多成熟的算法。例如微分算法,掩模算法等。在微分算法中,常使用N*N的像素块,例如3*3或者4*4。3*3的像素块如下,

    f(i-1,j-1)  f(i-1,j)  f(i-1,j+1)

    f(i,j-1)     f(i,j)    f(i,j+1)

    f(i+1,j-1)  f(i+1,j)   f(i+1,j+1)

    我们不妨设f(i,j)为待处理的像素,而g(i, j)为处理后的像素。

    常见的边缘检测算法:

    A. Roberts边缘算子

    g(i, j) = sqrt( (f(i, j) - f(i + 1, j))^2 + (f(i + 1, j) - f(i, j +1))^2 )

    或者

    g(i, j) = |f(i,j) - f(i + 1,j)| + |f(i+1,j) - f(i,j+1)|

    B. Sobel边缘算子

    对数字图像的每一个像素f(i,j),考察它的上、下、左、右邻域灰度的加权值,把各方向上(0度、45度、90度、135度)的灰度值加权之和作为输出,可以达到提取图像边缘的效果。

    即 g(i,j) = fxr + fyr, 其中

    fxr = f(i-1,j-1)+2*f(i-1,j)+f(i-1,j+1)-f(i+1,j-1)-2*f(i+1,j)-f(i+1,j+1)

    fyr = f(i-1,j-1)+2*f(i,j-1)+f(i+1,j-1)-f(i-1,j+1)-2*f(i,j+1)-f(i+1,j+1)

    C. Laplace算子

    Laplace算子是一种二阶微分算子。它有两种形式:4邻域微分算子和8邻域微分算子。

     ⊙   4邻域微分

    g(i,j)=|4*f(i,j)-f(i,j-1)-f(i-1,j)-f(i+1,j)-f(i,j+1)|

     ⊙   8邻域微分

    g(i,j)=|8*f(i,j)-f(i,j-1)-f(i-1,j)-f(i+1,j)-f(i,j+1)-f(i-1,j-1)-f(i-1,j+1)-f(i+1,j-1)-f(i+1,j+1)|

    D. Prewitt边缘算子

    prewitt算子是一个边缘模板算子,由八个方向的样板组成,能够在0度,45度,90度,135度,180度,225度角

    等八个方向检测边缘。8个3*3边缘模板及方向如下:

    90度角:            45度角:

    1   1   1          -1  -1  -1

    1  -2   1           1  -2   1

    -1 -1 -1            1   1   1

    0度角:             315度角:

    -1   1   1         1   1   -1

    -1  -2   1        1  -2   -1

    -1   1   1        1   1   -1

    270度角:       225度角:

    1   1   1         -1   -1  1

    -1  -2 1         -1  -2   1

    -1 -1  1           1   1   1

    180度角:      135度角:

    1   1   1          1   -1   -1

    1  -2  -1         1   -2   -1

    1  -1  -1         1    1     1

    3*3时表达式如下:

    A1*f(i-1,j-1)    A8*f(i,j-1)      A7*f(i+1,j-1)

    A2*f(i-1,j)        -2*f(i,j)         A6*f(i+1, j)

    A3*f(i-1,j+1)     A4*f(i,j+1)     A5*f(i+1,j+1)

    g(i,j)=|-2*f(i,j)+A8*f(i,j-1)+A1*f(i-1,j-1)+A2*f(i-1,j)+A3*f(i-1,j+1)+A4*f(i,j+1)+A5*f(i+1,j+1)+A6*f(i+1,j)+A7*f(i+1,j-1)|

    在程序设计中,依次用样板去检测图像,与被检测区域最为相似的样板给出最大值,用该最大值作为算子的输出值。

    E.Kirsch边缘算子

    Kirsch算子是一个模板算子,由八个方向的边缘样板组成,能够在0度,45度,90度,135度,180度,225度角

    等八个方向检测边缘。8个3*3边缘模板及方向如下:

    90度角:            45度角:

    5   5   5          -3   5    5

    -3  0   -3         -3    0   5

    -3 -3 -3          -3   -3  -3

    0度角:             315度角:

    -3  -3   5        -3 -3   -3

    -3  0   5        -3  0   5

    -3   -3   5       -3  5   5

    270度角:       225度角:

    5   5  -3         -3   -3  -3

    5    0  -3        5   0   -3

    -3  -3   -3       5  5   -3

    180度角:      135度角:

    5   -3   -3       5   5   -3

    5   0  -3         5   0  -3

    5  -3  -3         -3  -3  3

    使用方法与prewitt算子一样。

    F.CANNY边缘检测

    六、图像增强和复原

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

    1.     图像增强

    图像增强的目的在于改善图像的显示质量,以利于信息的提取和识别。从方法上说,则是设法摒弃一些认为不必要或干扰的信息,而将所需要的信息得以突出出来,以利于分析判读或作进一步的处理。

    (1)  空间域增强处理

    空间域是指图像平面所在的二维空间,空间域图像增强是指在图像平面上应用某种数学模型,通过改变图像像元灰度值达到增强效果,这种增强并不改变像元的位置。空域增强包括空域变换增强与空域滤波增强两种。空域变换增强是基于点处理的增强方法、空域滤波增强是基于邻域处理的增强方法。

    1)  空域变换增强

    常用的空域变换增强方法包括:对比度增强、直方图增强和图像算术运算等。

    A.对比度增强

    对比度增强是一种通过改变图像像元的亮度分布态势,扩展灰度分布区间来改变图像像元对比度,从而改善图像质量的图像处理方法。因为亮度值是辐射强度的反映,所以也称为辐射增强。常用的方法有对比度线性变换和非线性变换。其关键是寻找到一个函数,以此函数对图像中每一个像元进行变换,使像元得到统一的重新分配,构成得到反差增强的图像。

    B.直方图增强

    直方图均衡化:

        直方图均衡化基本做法是将每个灰度区间等概率分布代替了原来的随机分布,即增强后的图象中每一灰度级的像元数目大致相同。直方图均衡化可使得面积最大的地物细节得以增强,而面积小的地物与其灰度接近的地物进行合并,形成综合地物。减少灰度等级换取对比度的增大。

    直方图归一化:

        直方图归一化是把原图像的直方图变换为某种指定形态的直方图或某一参考图像的直方图,然后按着已知的指定形态的直方图调整原图像各像元的灰级,最后得到一个直方图匹配的图像。这种方法主要应用在有一幅很好的图像作为标准的情况下,对另一幅不满意的图像用标准图像的直方图进行匹配处理,以改善被处理图像的质量。如在数字镶嵌时,重叠区影像色调由于时相等原因差异往往很大,利用直方图匹配这一方法后可以改善重叠区影像色调过度,如果镶嵌图像时相相差不大,完全可以作到无缝镶嵌。

    C.数字图像的算术运算

    两幅或多幅单波段影像,完成空间配准后,通过一系列运算,可以实现图像增强,达到提取某些信息或去掉某些不必要信息的目的。

    2)  空域滤波增强

    空域变换增强是按像元逐点运算的,从整体上改善图像的质量,并不考虑周围像元影响。空间滤波增强则是以重点突出图像上的某些特征为目的的(如突出边缘或纹理等),通过像元与周围相邻像元的关系,采取空间域中的邻域处理方法进行图像增强。邻域法处理用于去噪声、图像平滑、锐化和相关运算。

    图像卷积运算是在空间域上对图像作局部检测的运算,以实现平滑和锐化的目的。具体作法是选定一卷积函数,又称为“M×N窗口”或“模板”,如3×3或5×5等。然后从图像左上角开始开一与模板同样大小的活动窗口,图像窗口与模板像元的亮度值对应相乘再相加。将计算结果赋予中心像元作为其灰度值,然后待移动后重新计算,将计算结果赋予另一个中心像元,以此类推直到全幅图像扫描一遍结束生成新的图像。

    平滑是指图像中出现某些亮度变化过大的区域,或出现不该有的亮点(“噪声”)时,采用平滑方法可以减小变化,使亮度平缓或去掉不必要“噪声”点。它实际上是使图像中高频成分消退,即平滑图像的细节,降低其反差,保存低频成分,在频域中称为低通滤波。具体方法有:均值平滑、中值滤波、锐化。

    锐化的作用在于提高边缘灰度值的变化率,使界线更加清晰。它是增强图像中的高频成分,在频域处理中称为高通滤波,也就是使图像细节的反差提高,也称边缘增强。要突出图像的边缘、线状目标或亮度变化率大的部分常采用锐化方法。一般有三种实现方法:

    A.梯度法

    梯度反映了相邻像元的亮度变化率,即图像中如果存在边缘,如湖泊、河流的边界,山脉和道路等,则边缘处有较大的梯度值。对于亮度值较平滑的部分,亮度梯度值较小。因此,找到梯度较大的位置,也就找到边缘,然后再用不同的梯度计算值代替边缘处像元的值,也就突出了边缘,实现了图像的锐化。通常有罗伯特梯度和索伯尔梯度方法。

    B.拉普拉斯算法

    拉普拉斯算法的意义与梯度法不同,它不检测均匀的亮度变化,而是检测变化率的变化率,相当于二阶微分。计算出的图像更加突出亮度值突变的位置。

    C.定向检测

    当有目的地检测某一方向的边、线或纹理特征时,可选择特定的模板卷积运算作定向检测。可以检测垂直边界、水平边界和对角线边界等,各使用的模板不同。

    (2)  频率域增强处理

    频域增强指在图像的频率域内,对图像的变换系数(频率成分)直接进行运算,然后通过Fourier逆变换以获得图像的增强效果。一般来说,图像的边缘和噪声对应Fourier变换中的高频部分,所以低通滤波能够平滑图像、去除噪声。图像灰度发生聚变的部分与频谱的高频分量对应,所以采用高频滤波器衰减或抑制低频分量,能够对图像进行锐化处理。频域,就是由图像f(x,y)的二维傅立叶变换和相应的频率变量(u,v)的值所组成的空间。在空间域图像强度的变化模式(或规律)可以直接在该空间得到反应。F(0,0)是频域中的原点,反应图像的平均灰度级,即图像中的直流成分;低频反映图像灰度发生缓慢变化的部分;而高频对应图像中灰度发生更快速变化的部分,如边缘、噪声等。但频域不能反应图像的空间信息。

    空域和频域滤波间的对应关系,卷积定理是空域和频域滤波的最基本联系纽带。二维卷积定理:

    基本计算过程:

    取函数h(m,n)关于原点的镜像,得到h(-m,-n)

    对某个(x,y),使h(-m,-n)移动相应的距离,得到h(x-m,y-n)

    对积函数f(m,n)h(x-m,y-n)在(m,n)的取值范围内求和

    位移是整数增量,对所有的(x,y)重复上面的过程,直到两个函数:f(m,n)和h(x-m,y-n)不再有重叠的部分。

    傅立叶变换是空域和频域的桥梁,关于两个域滤波的傅立叶变换对:

    频域与空域滤波的比较:

    1. 对具有同样大小的空域和频率滤波器:h(x,y), H(u,v),频域计算(由于FFT)往往更有效(尤其是图像尺寸比较大时)。但对在空域中用尺寸较小的模板就能解决的问题,则往往在空域中直接操作。

    2. 频域滤波虽然更直接,但如果可以使用较小的滤波器,还是在空域计算为好。    因为省去了计算傅立叶变换及反变换等步骤。

    3. 由于更多的直观性,频率滤波器设计往往作为空域滤波器设计的向导。

    平滑的频率域滤波器类型:

    1 、理想低通滤波器

    2 、巴特沃思低通滤波器

    3 、高斯低通滤波器

    频率域锐化滤波器类型:

    1 理想高通滤波器

    2 巴特沃思高通滤波器

    3 高斯型高通滤波器

    4 频率域的拉普拉斯算子

    5 钝化模板、高频提升滤波和高频加强滤波

    频率域图像增强处理的过程:

    2.     图像复原

    试图利用退化过程的先验知识,去恢复已被退化图像的本来面目。图像复原[wq9] 的基本思路:先建立退化的数学模型,然后根据该模型对退化图像进行拟合。

    图像复原模型可以用连续数学和离散数学处理,处理项的实现可在空间域卷积,或在频域相乘。

    七、图像压缩

    图像压缩是数据压缩技术在数字图像上的应用,它的目的是减少图像数据中的冗余信息从而用更加高效的格式存储和传输数据。图像压缩可以是有损数据压缩也可以是无损数据压缩。对于如绘制的技术图、图表或者漫画优先使用无损压缩,这是因为有损压缩方法,尤其是在低的位速条件下将会带来压缩失真。如医疗图像或者用于存档的扫描图像等这些有价值的内容的压缩也尽量选择无损压缩方法。有损方法非常适合于自然的图像,例如一些应用中图像的微小损失是可以接受的(有时是无法感知的),这样就可以大幅度地减小位速。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。

    1.     无损图像压缩方法

    A.行程长度编码

    B.熵编码法

    C.LZW算法

    2.     有损压缩方法

    A.将色彩空间化减到图像中常用的颜色。所选择的颜色定义在压缩图像头的调色板中,图像中的每个像素都用调色板中颜色索引表示。这种方法可以与 抖动(en:dithering)一起使用以模糊颜色边界。

    B.色度抽样,这利用了人眼对于亮度变化的敏感性远大于颜色变化,这样就可以将图像中的颜色信息减少一半甚至更多。

    C.变换编码,这是最常用的方法。首先使用如离散余弦变换(DCT)或者小波变换这样的傅立叶相关变换,然后进行量化和用熵编码法压缩。

    D.分形压缩(en:Fractal compression)。

    八、图像分割

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

    通常图像分割的实现方法是,将图像分为“黑”、“白”两类,这两类分别代表了两个不同的对象。

    图像分割方法:阈值分割、区域分割、数学形态学、模式识别方法

    A.阈值分割包括以下几种:

    (1)由直方图灰度分布选择阈值

    (2)双峰法选择阈值

    (3)迭代法选取阈值

    原理如下,很好理解。

        迭代法是基于逼近的思想,其步骤如下:

        1.求出图像的最大灰度值和最小灰度值,分别记为ZMAX和ZMIN,令初始阈值T0=(ZMAX+ZMIN)/2;

        2.根据阈值TK将图象分割为前景和背景,分别求出两者的平均灰度值ZO和ZB;

        3.求出新阈值TK+1=(ZO+ZB)/2;

        4.若TK=TK+1,则所得即为阈值;否则转2,迭代计算。

    4)大津法选择阈值[wq10] 

    大津法是属于最大类间方差法,它是自适应计算单阈值的简单高效方法,或者叫(Otsu)。大津法由大津于1979年提出,对图像Image,记t为前景与背景的分割阈值,前景点数占图像比例为w0,平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1。图像的总平均灰度为:u=w0*u0+w1*u1。从最小灰度值到最大灰度值遍历t,当t使得值g=w0*(u0-u)2+w1*(u1-u)2最大时t即为分割的最佳阈值。对大津法可作如下理解:该式实际上就是类间方差值,阈值t分割出的前景和背景两部分构成了整幅图像,而前景取值u0,概率为 w0,背景取值u1,概率为w1,总均值为u,根据方差的定义即得该式。因方差是灰度分布均匀性的一种度量,方差值越大,说明构成图像的两部分差别越大, 当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小,因此使类间方差最大的分割意味着错分概率最小。直接应用大津法计算量较大,因此一般采用了等价的公式g=w0*w1*(u0-u1)2。

    (5)由灰度拉伸选择阈值

    大津法是较通用的方法,但是它对两群物体在灰度不明显的情况下会丢失一些整体信息。因此为了解决这种现象采用灰度拉伸的增强大津法。在大津法的思想上增加灰度的级数来增强前两群物体的灰度差。对于原来的灰度级乘上同一个系数,从而扩大了图像灰度的级数。试验结果表明不同的拉伸系数,分割效果差别比较大。

    B.区域的分割

    区域生长、区域分离与合并

    区域生长算法

    C.基于形态学分水岭的分割

    分水岭分割算法

    九、图像特征提取与匹配[wq11] 

    常用的图像特征有颜色特征、纹理特征、形状特征、空间关系特征。

    A.颜色特征

    特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都有各自的贡献。由于颜色对图像或图像区域的方向、大小等变化不敏感,所以颜色特征不能很好地捕捉图像中对象的局部特征。

    常用的特征提取与匹配方法:

    颜色直方图

    其优点在于:它能简单描述一幅图像中颜色的全局分布,即不同色彩在整幅图像中所占的比例,特别适用于描述那些难以自动分割的图像和不需要考虑物体空间位置的图像。其缺点在于:它无法描述图像中颜色的局部分布及每种色彩所处的空间位置,即无法描述图像中的某一具体的对象或物体。

    颜色直方图特征匹配方法:直方图相交法、距离法、中心距法、参考颜色表法、累加颜色直方图法。

    B.纹理特征

    纹理特征的提取方法比较简单,它是用一个活动的窗口在图像上连续滑动,分别计算出窗口中的方差、均值、最大值、最小值及二者之差和信息熵等,形成相应的纹理图像,当目标的光谱特性比较接近时,纹理特征对于区分目标可以起到积极的作用。选取适当的数据动态变化范围,进行纹理特征提取后,使影像的纹理特征得到突出,有利于提取构造信息。

    特点:纹理特征也是一种全局特征,它也描述了图像或图像区域所对应景物的表面性质。但由于纹理只是一种物体表面的特性,并不能完全反映出物体的本质属性,所以仅仅利用纹理特征是无法获得高层次图像内容的。与颜色特征不同,纹理特征不是基于像素点的特征,它需要在包含多个像素点的区域中进行统计计算。在模式匹配中,这种区域性的特征具有较大的优越性,不会由于局部的偏差而无法匹配成功。作为一种统计特征,纹理特征常具有旋转不变性,并且对于噪声有较强的抵抗能力。但是,纹理特征也有其缺点,一个很明显的缺点是当图像的分辨率变化的时候,所计算出来的纹理可能会有较大偏差。另外,由于有可能受到光照、反射情况的影响,从2-D图像中反映出来的纹理不一定是3-D物体表面真实的纹理。

    常用的特征提取与匹配方法:

    纹理特征描述方法分类

    (1)统计方法统计方法的典型代表是一种称为灰度共生矩阵的纹理特征分析方法Gotlieb 和 Kreyszig 等人在研究共生矩阵中各种统计特征基础上,通过实验,得出灰度共生矩阵的四个关键特征:能量、惯量、熵和相关性。统计方法中另一种典型方法,则是从图像的自相关函数(即图像的能量谱函数)提取纹理特征,即通过对图像的能量谱函数的计算,提取纹理的粗细度及方向性等特征参数

    (2)几何法

    所谓几何法,是建立在纹理基元(基本的纹理元素)理论基础上的一种纹理特征分析方法。纹理基元理论认为,复杂的纹理可以由若干简单的纹理基元以一定的有规律的形式重复排列构成。在几何法中,比较有影响的算法有两种:Voronio 棋盘格特征法和结构法。

    (3)模型法

    模型法以图像的构造模型为基础,采用模型的参数作为纹理特征。典型的方法是随机场模型法,如马尔可夫(Markov)随机场(MRF)模型法和 Gibbs 随机场模型法

    (4)信号处理法

    纹理特征的提取与匹配主要有:灰度共生矩阵、Tamura 纹理特征、自回归纹理模型、小波变换等。灰度共生矩阵特征提取与匹配主要依赖于能量、惯量、熵和相关性四个参数。Tamura 纹理特征基于人类对纹理的视觉感知心理学研究,提出6种属性,即:粗糙度、对比度、方向度、线像度、规整度和粗略度。自回归纹理模型(simultaneousauto-regressive, SAR)是马尔可夫随机场(MRF)模型的一种应用实例。

    C.形状特征

    特点:各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们也有一些共同的问题。

    常用的特征提取与匹配方法:

    通常情况下,形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征。图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域。

    几种典型的形状特征描述方法:

    (1)    边界特征法

    该方法通过对边界特征的描述来获取图像的形状参数。其中Hough 变换检测平行直线方法和边界方向直方图方法是经典方法。Hough 变换是利用图像全局特性而将边缘像素连接起来组成区域封闭边界的一种方法,其基本思想是点—线的对偶性;边界方向直方图法首先微分图像求得图像边缘,然后,做出关于边缘大小和方向的直方图,通常的方法是构造图像灰度梯度方向矩阵。

    (2)傅里叶形状描述符法

    傅里叶形状描述符(Fourier shapedescriptors)基本思想是用物体边界的傅里叶变换作为形状描述,利用区域边界的封闭性和周期性,将二维问题转化为一维问题。由边界点导出三种形状表达,分别是曲率函数、质心距离、复坐标函数。

    (3)几何参数法

    形状的表达和匹配采用更为简单的区域特征描述方法,例如采用有关形状定量测度(如矩、面积、周长等)的形状参数法(shape factor)。在 QBIC 系统中,便是利用圆度、偏心率、主轴方向和代数不变矩等几何参数,进行基于形状特征的图像检索。

    D.空间关系特征

    特点:所谓空间关系,是指图像中分割出来的多个目标之间的相互的空间位置或相对方向关系,这些关系也可分为连接/邻接关系、交叠/重叠关系和包含/包容关系等。通常空间位置信息可以分为两类:相对空间位置信息和绝对空间位置信息。前一种关系强调的是目标之间的相对情况,如上下左右关系等,后一种关系强调的是目标之间的距离大小以及方位。显而易见,由绝对空间位置可推出相对空间位置,但表达相对空间位置信息常比较简单。

    空间关系特征的使用可加强对图像内容的描述区分能力,但空间关系特征常对图像或目标的旋转、反转、尺度变化等比较敏感。另外,实际应用中,仅仅利用空间信息往往是不够的,不能有效准确地表达场景信息。为了检索,除使用空间关系特征外,还需要其它特征来配合。

    常用的特征提取与匹配方法:

    提取图像空间关系特征可以有两种方法:一种方法是首先对图像进行自动分割,划分出图像中所包含的对象或颜色区域,然后根据这些区域提取图像特征,并建立索引;另一种方法则简单地将图像均匀地划分为若干规则子块,然后对每个图像子块提取特征,并建立索引。

    十、图像分类(识别)

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

    模式识别是一种从大量信息和数据出发,在专家经验和已有认识的基础上,利用计算机和数学推理的方法对形状、模式、曲线、数字、字符格式和图形自动完成识别的过程。模式识别包括相互关联的两个阶段,即学习阶段和实现阶段,前者是对样本进行特征选择,寻找分类的规律,后者是根据分类规律对未知样本集进行分类和识别。广义的模式识别属计算机科学中智能模拟的研究范畴,内容非常广泛,包括声音和语言识别、文字识别、指纹识别、声纳信号和地震信号分析、照片图片分析、化学模式识别等等。计算机模式识别实现了部分脑力劳动自动化。

    模式识别--对表征事物或现象的各种形式的(数值的,文字的和逻辑关系的)信息进行处理和分析,以对事物或现象进行描述、辨认、分类和解释的过程,是信息科学和人工智能的重要组成部分。

    模式还可分成抽象的和具体的两种形式。前者如意识、思想、议论等,属于概念识别研究的范畴,是人工智能的另一研究分支。我们所指的模式识别主要是对语音波形、地震波、心电图、脑电图、图片、文字、符号、三位物体和景物以及各种可以用物理的、化学的、生物的传感器对对象进行测量的具体模式进行分类和辨识。

    模式识别问题指的是对一系列过程或事件的分类与描述,具有某些相类似的性质的过程或事件就分为一类。模式识别问题一般可以应用以下4种方法进行分析处理。

    模版比对:

    统计模式识别方法:统计模式识别方法是受数学中的决策理论的启发而产生的一种识别方法,它一般假定被识别的对象或经过特征提取向量是符合一定分布规律的随机变量。其基本思想是将特征提取阶段得到的特征向量定义在一个特征空间中,这个空间包含了所有的特征向量,不同的特征向量,或者说不同类别的对象都对应于空间中的一点。在分类阶段,则利用统计决策的原理对特征空间进行划分,从而达到识别不同特征的对象的目的。统计模式识别中个应用的统计决策分类理论相对比较成熟,研究的重点是特征提取。统计模式识别的基本原理是:有相似性的样本在模式空间中互相接近,并形成“集团”,即“物以类聚”。其分析方法是根据模式所测得的特征向量Xi=(xi1,xi2,…,xid)T(i=1,2,…,N),将一个给定的模式归入C个类ω1,ω2,…,ωc中,然后根据模式之间的距离函数来判别分类。其中,T表示转置;N为样本点数;d为样本特征数。

    统计模式识别的主要方法有:判别函数法,k近邻分类法,非线性映射法,特征分析法,主因子分析法等。

    在统计模式识别中,贝叶斯决策规则从理论上解决了最优分类器的设计问题,但其实施却必须首先解决更困难的概率密度估计问题。BP神经网络直接从观测数据(训练样本)学习,是更简便有效的方法,因而获得了广泛的应用,但它是一种启发式技术,缺乏指定工程实践的坚实理论基础。统计推断理论研究所取得的突破性成果导致现代统计学习理论——VC理论的建立,该理论不仅在严格的数学基础上圆满地回答了人工神经网络中出现的理论问题,而且导出了一种新的学习方法——支撑向量机。

    人工神经网络模式识别:人工神经网络的研究起源于对生物神经系统的研究。人工神经网络区别于其他识别方法的最大特点是它对待识别的对象不要求有太多的分析与了解,具有一定的智能化处理的特点。

    句法结构模式识别:又称结构方法或语言学方法。其基本思想是把一个模式描述为较简单的子模式的组合,子模式又可描述为更简单的子模式的组合,最终得到一个树形的结构描述,在底层的最简单的子模式称为模式基元。在句法方法中选取基元的问题相当于在决策理论方法中选取特征的问题。通常要求所选的基元能对模式提供一个紧凑的反映其结构关系的描述,又要易于用非句法方法加以抽取。显然,基元本身不应该含有重要的结构信息。模式以一组基元和它们的组合关系来描述,称为模式描述语句,这相当于在语言中,句子和短语用词组合,词用字符组合一样。基元组合成模式的规则,由所谓语法来指定。一旦基元被鉴别,识别过程可通过句法分析进行,即分析给定的模式语句是否符合指定的语法,满足某类语法的即被分入该类。

    在几种算法中,统计模式识别是最经典的分类识别方法,在图像模式识别中有着非常广泛的应用。


     [wq1]

    本文参考《数字图像处理》(第二版)

    作者:冈萨雷斯

     [wq2]

    参考第二章,掌握概念?

     [wq3]

    线性变换:如果变换函数是线性的或是分段线性,这种变换就是线性变换。以线性函数加大图像的对比度的效果是使整幅图像的质量改善。以分段线性函数加大图像中某个(或某几个)亮度区间的对比度的效果是使局部亮度区间的质量得到改善。

    非线性变换:当变换函数是非线性时,即为非线性变换。常用的有指数变换和对数变换。

     

     [wq4]

    参考《几种图像处理库的研究》:http://blog.csdn.net/byxdaz/article/details/3972293

     [wq5]

    以时间作为变量所进行的研究就是时域

    以频率作为变量所进行的研究就是频域

    以空间坐标作为变量进行的研究就是空间域

    以波数作为变量所进行的研究称为波数域

     [wq6]

    一阶微分

     [wq7]

    二次导数,其离散实现类似于二阶Sobel导数

     [wq8]

    1)  仿射变换

    2)  透视变换

     [wq10]

    OTSU

     [wq11]

    SIFT特征怎么用?




    展开全文
  • 图像处理 基本知识

    2019-03-09 15:30:13
    3、 图像处理主要可以分为空间域处理和频率域处理,包括:图像平滑、图像锐化、图像复原和重建、小波和多分辨率处理、图像压缩、形态学处理、图像分割、表示和描述以及图像的模式识别。 第三章:空间域处...

    第二章:基本知识
    1、 通过图像传感器获取图像的感知数据;
    2、 通过取样和量化把图像的感知数据转换成数字形式,以像素表示;数字形式又可分为二值图像、灰度图像、索引图像和真彩色RGB图像四种基本类型;
    3、 图像处理主要可以分为空间域处理和频率域处理,包括:图像平滑、图像锐化、图像复原和重建、小波和多分辨率处理、图像压缩、形态学处理、图像分割、表示和描述以及图像的模式识别。
    第三章:空间域处理
    1、 空间域处理是指在图像的像素上操作,主要分为灰度变换和空间滤波:灰度变换的主要目的是对比度处理和阀值处理;空间滤波的主要目的是改善图像的性能,如锐化图像;
    2、 基本的灰度变换函数:图像反转、对数变换、伽马变换、分段线性变换;
    3、 还有基于直方图的灰度变换:直方图的横坐标是灰度值,纵坐标是该灰度值的像素个数或者频率;直方图处理包括均衡、匹配、局部处理、局部增强等。
    4、 空间滤波:通过用空间滤波器模板对一个邻域里的象素进行操作而得到新的像素,总体可以分为线性和非线性空间滤波。包括:用于模糊处理和降低噪声的平滑空间滤波(线性的平滑线性滤波和非线性的统计排序滤波)、用于突出灰度过渡部分的锐化空间滤波;而在图像改善如图像增强的实际应用中,往往将多种图像增强方法结合起来使用。
    5、 使用模糊技术进行灰度变换和空间滤波,在某些情况下会得到很好的效果。
    6、 和空间域对应的是频率域,下面是频率域滤波的学习情况。
    第四章:频率域滤波
    1、 频率域滤波的数学基础,主要是傅里叶变换,包括一维傅立叶变换、二维傅立叶变换、离散傅立叶变换,还有卷积定理等;
    2、 简单来讲,就是通过傅立叶变换将图像的空间域变换为频域,在频域里进行滤波操作,再通过反变换得到处理后的图像空间域;
    3、 频域滤波有模糊图像或者说平滑图像用的低通滤波器,锐化图像用的高通滤波器,此外还有带通滤波、带阻滤波、陷波滤波等选择性滤波器;空间域滤波和频域滤波是有对应关系的。
    4、 通过以上的空间域滤波或者频率域滤波,不仅可以实现图像增强,还可以实现图像的复原和重建,下面是图像复原和重建的学习情况。
    第五章:图像复原和重建
    1、 图像复原的目的是以预先确定的目标来改善图像;
    2、 如果图像退化是因为有噪声,那么用空间域滤波就可以;如果是图像模糊,用频域滤波比较合适。
    3、 噪声的主要来源是图像的获取和传输过程,有高斯噪声、瑞利噪声、伽马噪声、指数噪声、均匀噪声、脉冲噪声,还有周期噪声。
    4、 空间滤波适合于只存在加性噪声的复原;包含均值滤波、统计排序滤波、自适应滤波。
    5、 频域滤波可以有效分析并滤除周期噪声,包含带通、带阻、陷波等选择性滤波器。
    6、 此外,通过观察法、试验法、建模法估计出退化函数或已知退化函数后,可以用逆滤波、最小均方误差滤波、约束最小二乘方滤波、几何均值滤波进行图像复原;
    7、 以上是图像复原,而图像重建可以通过一系列的投影来实现。主要包括使用平行射线束和扇形射线束滤波反投影进行图像重建。
    8、 图像的增强、复原和重建等操作,在彩色图像处理中也同样需要,下面介绍彩色图像处理的学习情况。
    第六章:彩色图像处理
    1、 在图像处理中,主要的彩色模型有RGB彩色模型、CMY(青、粉红、黄)、CMYK(青、粉红、黄、黑)和HSI(色调、饱和度、亮度)模型。
    2、 彩色图像处理的两个主要领域:全彩色处理和伪彩色处理;
    3、 伪彩色处理:基于某种规则对灰度值赋以颜色的处理,主要包括灰度分层和灰度到彩色的变换。
    4、 全彩色处理的处理方法分为两类:分别处理每一幅分量图像和直接处理彩色像素;
    5、 彩色变换:通过对各分量的处理,达到调整亮度、色调或彩色校正等目的。彩色分层:分离出目标物。
    6、 彩色图像处理也包括去噪声、直方图处理、平滑、锐化等。
    第七章:小波和多分辨率处理
    1、刚才所总结的频率域处理的数学基础是傅立叶变换,相比傅立叶变换,小波变换使得图像的压缩、传输和噪声去除、边缘检测等分析更为容易。(小波,频率不同、时间有限的小型波)。接下来总结的图像压缩就是使用的小波变换。
    第八章:图像压缩
    1、图像压缩的理论基础:数据和信息是不同的事情,可以理解为数据是信息的表示,因此相同的信息用不同的表示所占的数据空间是不同的,也就是存在冗余数据。冗余数据主要包括编码冗余、时间空间冗余、不相关信息冗余。
    2、压缩方法分为有损压缩和无损压缩,基本的压缩方法有:霍夫曼编码、Golomb(戈洛姆)编码、算术编码、LZW编码、行程编码等。
    3、以上的汇报,输入和输出都是图像,而接下来讨论的处理是输入图像而输出特征,也就是从图像中提取感兴趣的特征。首先,汇报形态学图像处理。
    第九章:形态学图像处理
    1、图像的腐蚀和膨胀是两个基本的形态学操作,利用一些基于腐蚀和膨胀的形态学算法如边界提取、孔洞填充、凸壳、细化、骨架、裁剪等,可以从输入的图像中,输出感兴趣的特征。
    第十章:分割
    1、 分割是指将图像细分为构成它的子区域。
    2、 多数分割算法基于灰度值的不连续性和相似性:基于不连续性的算法有边缘提取;基于相似性的算法有阀值处理、区域生长、区域分裂和聚合等。
    3、 下面介绍四种主要的分割算法:
    4、 边缘检测分割:(点检测、线检测、边缘检)首先寻找边缘线段,然后连接为边界,识别区域,进行图像的分割;
    5、 阀值处理分割:阀值处理是重要的分割算法,是基于灰度值来将图像直接划分区域;有全局阀值处理、可变阀值处理。
    6、 直接寻找区域的分割:区域生长,将像素或子区域根据预先定义的准则组合为更大区域的过程;区域分裂与聚合,将一幅图像细分为一组不相交的区域,然后聚合或分裂这些区域。
    7、 基于形态学分水岭的分割算法,提供了一种能有效使用先验知识的框架。
    8、 分割后的区域经常以一种适合于计算机进一步处理的形式来表示和描述;下面总结表示和描述的学习情况。
    第十一章:表示和描述
    1、 表示的方法有:边界追踪、链码、多边形近似法等;
    2、 边界的描绘子有:偏心率、形状数、傅立叶描绘子、统计矩等;
    3、 区域的描绘子有:圆度率、拓扑描绘子、纹理、不变矩等;
    4、 使用主分量进行的描述和关系描绘子适用于边界描述和区域描述;
    5、 最后总结目标识别的学习情况。
    第十二章:目标识别
    1、 根据识别任务的不同,选择合适的描绘子的组合,就也就是模式,进行图像的模式识别或目标识别;
    2、 目标识别的算法主要分为:使用定量描绘子的决策理论方法和使用定性描绘子的结构方法。
    3、 决策理论方法有:最小距离分类器、相关匹配、贝叶斯分类器和神经网络等算法。
    4、 结构方法是运用模式形状中的结构关系来实现模式识别,有匹配形状数、串匹配等算法。

    展开全文
  • 图像处理基本算法 形状特征

    千次阅读 2014-07-22 16:10:31
     (一)特点:各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们也有一些共同的问题,包括:①目前基于形状的检索方法还缺乏比较完善的数学模型;②如果目标有变形时检索结果...

    形状特征

      (一)特点:各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们也有一些共同的问题,包括:①目前基于形状的检索方法还缺乏比较完善的数学模型;②如果目标有变形时检索结果往往不太可靠;③许多形状特征仅描述了目标局部的性质,要全面描述目标常对计算时间和存储量有较高的要求;④许多形状特征所反映的目标形状信息与人的直观感觉不完全一致,或者说,特征空间的相似性与人视觉系统感受到的相似性有差别。另外,从 2-D 图像中表现的 3-D 物体实际上只是物体在空间某一平面的投影,从 2-D 图像中反映出来的形状常不是 3-D 物体真实的形状,由于视点的变化,可能会产生各种失真。

     

    (二)常用的特征提取与匹配方法

     

    Ⅰ几种典型的形状特征描述方法

     

    通常情况下,形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征。图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域。

     

    几种典型的形状特征描述方法:

     

    (1)边界特征法该方法通过对边界特征的描述来获取图像的形状参数。其中Hough 变换检测平行直线方法和边界方向直方图方法是经典方法。Hough 变换是利用图像全局特性而将边缘像素连接起来组成区域封闭边界的一种方法,其基本思想是点—线的对偶性;边界方向直方图法首先微分图像求得图像边缘,然后,做出关于边缘大小和方向的直方图,通常的方法是构造图像灰度梯度方向矩阵。

     

    (2)傅里叶形状描述符法

     

    傅里叶形状描述符(Fourier shape descriptors)基本思想是用物体边界的傅里叶变换作为形状描述,利用区域边界的封闭性和周期性,将二维问题转化为一维问题。

     

    由边界点导出三种形状表达,分别是曲率函数、质心距离、复坐标函数。

     

    (3)几何参数法

     

    形状的表达和匹配采用更为简单的区域特征描述方法,例如采用有关形状定量测度(如矩、面积、周长等)的形状参数法(shape factor)。在 QBIC 系统中,便是利用圆度、偏心率、主轴方向和代数不变矩等几何参数,进行基于形状特征的图像检索。

     

    需要说明的是,形状参数的提取,必须以图像处理及图像分割为前提,参数的准确性必然受到分割效果的影响,对分割效果很差的图像,形状参数甚至无法提取。

     

    (4)形状不变矩法

     

    利用目标所占区域的矩作为形状描述参数。

     

    (5)其它方法

     

    近年来,在形状的表示和匹配方面的工作还包括有限元法(Finite Element Method 或 FEM)、旋转函数(Turning Function)和小波描述符(Wavelet Descriptor)等方法。

     

    实际上,只是提取物体的形状,这并不难,最难的是这些特征该怎么用!

    特征嘛,自然是讲此物区分彼物的特点。

    那么假如,给出了一系列不同形状物体的轮廓该如何识别出他们呢?正方形,圆形,矩形,椭圆,不规则图形,再进一步,这些图形由于受到信号的干扰,有噪声存在时,该如何去识别他们呢?

    那就可以使用形状的特征了,我们定义一些参数,来描述这些形状。

    1 矩形度:R = A0/A; A0为区域面积,A为区域最小外接矩形面积。

    那么R = 1 时,为矩形的概率很大,R = PI/4时为圆的可能性最大

    2 体态比 T = a/b;

    a b 分别为区域最小外接矩形的长和宽。

    T = 1 为正方形或者圆形,

    T>1 为细长图形

    3 球状性 S = Ri/Rc

    Ri Rc分别为内切圆和外接圆半径,圆心都在中心上

    4 球状性 C = Ur/Pr

    Ur 为区域重心到轮廓点的平均距离

    Pr 为区域重心到轮廓点的均方差

    5 中心矩

    这一特征,使用颇为频繁,OpenCV有专门的函数求解(p,q)次矩

    6 长轴 短轴

    最小外接矩形的长轴和短轴

    7面积

    一般会作为阈值使用,判定某个区域的面积在两个阈值之间才判定有效

     

     下面给出各个形状特征的求法:

    1. //图像的形状特征分析  
    2. #include <cv.h>  
    3. #include <cxcore.h>  
    4. #include <highgui.h>  
    5. #include <iostream>  
    6. using namespace std;  
    7.   
    8. int main()  
    9. {  
    10.     IplImage *src = cvLoadImage("E:\\image\\mapleleaf.tif",0);  
    11.     IplImage *image = cvCreateImage(cvGetSize(src),8,3);   
    12.     image = cvCloneImage(src);  
    13.     cvNamedWindow("src",1);  
    14.     cvNamedWindow("dst",1);  
    15.     cvShowImage("src",src);  
    16.   
    17.     CvMemStorage *storage = cvCreateMemStorage(0);  
    18.     CvSeq * seq = cvCreateSeq(CV_SEQ_ELTYPE_POINT, sizeof(CvSeq), sizeof(CvPoint), storage);  
    19.     CvSeq * tempSeq = cvCreateSeq(CV_SEQ_ELTYPE_POINT, sizeof(CvSeq), sizeof(CvPoint), storage);  
    20.     //新图,将轮廓绘制到dst  
    21.     IplImage *dst = cvCreateImage(cvGetSize(src),8,3);   
    22.     cvZero(dst);//赋值为0  
    23.     double length,area;  
    24.   
    25.     //获取轮廓  
    26.     int cnt = cvFindContours(src,storage,&seq);//返回轮廓的数目  
    27.     cout<<"number of contours   "<<cnt<<endl;  
    28.       
    29.     //计算边界序列的参数 长度 面积 矩形 最小矩形   
    30.     //并输出每个边界的参数  
    31.     CvRect rect;  
    32.     CvBox2D box;  
    33.     double axislong,axisShort;//长轴和短轴  
    34.     double temp1= 0.0,temp2 = 0.0;  
    35.     double Rectangle_degree;//矩形度  
    36.     double long2short;//体态比  
    37.     double x0,y0;  
    38.     long sumX  = 0 ,sumY = 0;  
    39.     double sum =0.0;  
    40.     int i,j,m,n;  
    41.     unsigned char* ptr;  
    42.   
    43.     double UR;//区域重心到轮廓的平均距离  
    44.     double PR;//区域重心到轮廓点的均方差  
    45.     CvPoint * contourPoint;   
    46.     int count = 0;  
    47.     double CDegree;//圆形性  
    48.   
    49.     CvPoint *A,*B,*C;  
    50.     double AB,BC,AC;  
    51.     double cosA,sinA;  
    52.     double tempR,inscribedR;  
    53.       
    54.     for (tempSeq = seq;tempSeq != NULL; tempSeq = tempSeq->h_next)  
    55.     {  
    56.         //tempSeq = seq->h_next;  
    57.         length = cvArcLength(tempSeq);  
    58.         area = cvContourArea(tempSeq);  
    59.         cout<<"Length = "<<length<<endl;  
    60.         cout<<"Area = "<<area<<endl;  
    61.         cout<<"num of point "<<tempSeq->total<<endl;  
    62.         //外接矩形  
    63.         rect = cvBoundingRect(tempSeq,1);  
    64.           
    65.   
    66.         //绘制轮廓和外接矩形  
    67.         cvDrawContours(dst,tempSeq,CV_RGB(255,0,0),CV_RGB(255,0,0),0);  
    68.         cvRectangleR(dst,rect,CV_RGB(0,255,0));  
    69.         cvShowImage("dst",dst);  
    70.         //cvWaitKey();  
    71.   
    72.         //绘制轮廓的最小外接圆   
    73.         CvPoint2D32f center;//亚像素精度 因此需要使用浮点数  
    74.         float radius;  
    75.         cvMinEnclosingCircle(tempSeq,¢er,&radius);  
    76.         cvCircle(dst,cvPointFrom32f(center),cvRound(radius),CV_RGB(100,100,100));  
    77.         cvShowImage("dst",dst);  
    78.         //cvWaitKey();  
    79.   
    80.         //寻找近似的拟合椭圆 可以使斜椭圆  
    81.         CvBox2D ellipse = cvFitEllipse2(tempSeq);  
    82.         cvEllipseBox(dst,ellipse,CV_RGB(255,255,0));  
    83.         cvShowImage("dst",dst);  
    84.         //cvWaitKey();  
    85.   
    86.   
    87.         //绘制外接最小矩形  
    88.         CvPoint2D32f pt[4];  
    89.         box = cvMinAreaRect2(tempSeq,0);  
    90.         cvBoxPoints(box,pt);  
    91.         for(int i = 0;i<4;++i){  
    92.             cvLine(dst,cvPointFrom32f(pt[i]),cvPointFrom32f(pt[((i+1)%4)?(i+1):0]),CV_RGB(0,0,255));  
    93.         }  
    94.         cvShowImage("dst",dst);  
    95.         //cvWaitKey();  
    96.   
    97.   
    98.         //下面开始分析图形的形状特征   
    99.         //长轴 短轴  
    100.         temp1 = sqrt(pow(pt[1].x -pt[0].x,2) + pow(pt[1].y -pt[0].y,2));  
    101.         temp2 = sqrt(pow(pt[2].x -pt[1].x,2) + pow(pt[2].y -pt[1].y,2));  
    102.   
    103.         if (temp1 > temp2)  
    104.         {  
    105.             axislong = temp1;  
    106.             axisShort=temp2;  
    107.         }   
    108.         else  
    109.         {  
    110.             axislong = temp2;  
    111.             axisShort=temp1;  
    112.         }  
    113.           
    114.         cout<<"long axis: "<<axislong<<endl;  
    115.         cout<<"short axis: "<<axisShort<<endl;  
    116.         //矩形度 轮廓面积和最小外接矩形面积(可以是斜矩形)之比  
    117.         Rectangle_degree = (double)area/(axisShort*axislong);  
    118.   
    119.         cout<<"Rectangle degree :"<<Rectangle_degree<<endl;  
    120.         //体态比or长宽比 最下外接矩形的长轴和短轴的比值  
    121.         long2short = axislong/axisShort;  
    122.         cout<<"ratio of long axis to short axis: "<<long2short<<endl;  
    123.         //球状性 由于轮廓的内切圆暂时无法求出先搁置   
    124.         //先求内切圆半径 枚举任意轮廓上的三个点,半径最小的就是内切圆的半径  
    125.         //以下的最大内切圆半径求法有误 待改进  
    126.           
    127.         /* 
    128.         for (int i = 0 ; i< tempSeq->total -2;i++) 
    129.         { 
    130.             for (int j= i+1; j<tempSeq->total-1;j++) 
    131.             { 
    132.                 for (int m = j+1; m< tempSeq->total; m++) 
    133.                 { 
    134.                     //已知圆上三点,求半径 
    135.                     A = (CvPoint*)cvGetSeqElem(tempSeq ,i); 
    136.                     B = (CvPoint*)cvGetSeqElem(tempSeq ,j); 
    137.                     C = (CvPoint*)cvGetSeqElem(tempSeq,m); 
    138.                     AB = sqrt(pow((double)A->x - B->x,2)+ pow((double)A->y - B->y,2)); 
    139.                     AC =sqrt(pow((double)A->x - C->x,2) + pow((double)A->y - C->y,2)); 
    140.                     BC = sqrt(pow((double)B->x - C->x,2)+ pow((double)B->y - C->y,2)); 
    141.  
    142.                     cosA = ((B->x - A->x)*(C->x - A->x) + (B->y - A->y)*(C->y - A->y))/(AB*AC); 
    143.                     sinA = sqrt(1 - pow(cosA,2)); 
    144.                     tempR = BC/(2*sinA); 
    145.  
    146.                     if (m == 2) 
    147.                     { 
    148.                         inscribedR = tempR; 
    149.                     }  
    150.                     else 
    151.                     { 
    152.                         if (tempR < inscribedR) 
    153.                         { 
    154.                             inscribedR = tempR; 
    155.                         } 
    156.                     } 
    157.  
    158.  
    159.                 } 
    160.             } 
    161.         } 
    162.  
    163.         //输出最大内切圆半径 
    164.         cout<<"radius of max inscribed circle  "<<inscribedR<<endl; 
    165.         */  
    166.         //圆形性 假设轮廓内是实心的  
    167.         //球区域中心x0 y0  
    168.         sumX = 0;  
    169.         sumY = 0;  
    170.         src = cvCloneImage(image);  
    171.         for (int i = 0 ; i< src->height;i++)  
    172.         {  
    173.             for (int j = 0; j< src->width;j++)  
    174.             {  
    175.                 ptr = (unsigned char *)src->imageData + i*src->widthStep + j;  
    176.                 if ((*ptr) > 128)  
    177.                 {  
    178.                     sumX += (long)j;  
    179.                     sumY += (long)i;  
    180.                 }  
    181.   
    182.             }  
    183.         }  
    184.         x0 = sumX/area;  
    185.         y0 = sumY/area;  
    186.         cout<<"center of gravity "<<x0<<"   "<<y0<<endl;  
    187.      //求区域到重心的平均距离  
    188.         sum = 0;  
    189.         count = 0;  
    190.         for (m = 0 ; m< tempSeq->total;m++)  
    191.         {  
    192.             contourPoint = (CvPoint*)cvGetSeqElem(tempSeq,m);  
    193.             sum += sqrt(pow(contourPoint->x - x0,2)+ pow(contourPoint->y - y0,2));  
    194.             count++;  
    195.         }  
    196.         UR = sum/count;  
    197.         cout<<"mean distance to center of gravity"<<UR<<endl;  
    198.         //求区域重心到轮廓点的均方差  
    199.         sum = 0;  
    200.         for (m = 0 ; m< tempSeq->total;m++)  
    201.         {  
    202.             contourPoint = (CvPoint*)cvGetSeqElem(tempSeq,m);  
    203.             temp1 = sqrt(pow(contourPoint->x - x0,2)+ pow(contourPoint->y - y0,2));  
    204.             sum += pow(temp1 - UR,2);  
    205.         }  
    206.         PR = sum/count;  
    207.         cout<<"mean square error of distance to center of gravity"<<PR<<endl;  
    208.         //圆形性   
    209.         CDegree= UR/PR;  
    210.         cout<<"degree of circle "<<CDegree<<endl;  
    211.         //中心距  
    212.           
    213.         cvWaitKey(0);  
    214.     }  
    215.       
    216.       
    217.     cvReleaseImage(&src);  
    218.     cvReleaseImage(&dst);  
    219.     cvReleaseMemStorage(&storage);    
    220.       
    221.     return 0;  
    222. }  



     

    展开全文
  • a)找到图像左上角为1的点b0,c0表示b0的左侧,所以c0一定是一个背景,从c0开始顺时针找b0的八邻域,b1为遇到的第一个为1的点,此时c1为找到b1的上一个为0的点,存储b0,b1 b)令b=b1,c=c1 c)从c开始在进行顺时针...
  • 图像处理-椭圆检测

    千次阅读 2019-05-16 10:11:18
    边界聚类椭圆检测算法经典椭圆检测方法投票(聚类)方法随机hough变换椭圆检测算法最优化方法基于弧段的方法边界聚类算法流程预处理边界像素连接线段列提取线段列旋转方向统一凹点和角点检测圆弧聚类再配对直接最小...
  • 数字图像处理 物体测量与形状分析

    千次阅读 2017-02-23 18:17:21
    第十六章 物体测量与形状分析 目录 ...o 矩形 o 圆形 o 不变矩 o 轮廓的傅立叶描述子 3. 中轴变换与骨架提取 4. 曲线与表面的拟合 作业 1.物体测量  
  • 图像处理与识别学习小结

    万次阅读 热门讨论 2009-08-31 23:14:00
    图像处理与识别学习小结 数字图像处理是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多情况...
  • 数字图像处理期中学习报告

    千次阅读 2018-09-07 19:26:28
    数字图像处理数字图像处理 一学习内容总结 第一章 绪论 1 什么是数字图像处理 2 使用数字图像处理领域的实例 3 数字图像处理的基本步骤 4 图像处理系统的组成 第二章 数字图像处理基础 1 视觉感知要素 2 光和电磁...
  • 图像处理与识别

    千次阅读 2016-07-01 08:45:03
    图像处理与识别学习小结   数字图像处理是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多...
  • 图像处理(image processing),用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。图像处理一般指数字图像处理。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数组的...
  • 图像处理基本算法之形状特征

    千次阅读 2019-08-29 14:46:04
    Reference:图像处理基本算法之形状特征 下文是在原文基础上进行修改的,具体可以查看原文。 (一)形状特征 (一)特点:各种基于形状特征的检索方法都可以比较有效地利用图像中感兴趣的目标来进行检索,但它们...
  • 图像处理 形状特征相关概念

    千次阅读 2017-07-10 16:51:33
     链码:描述各边界点像素的坐标。...描述曲线方向的链码法用曲线的起始点...曲率:表示斜率的变化,用于描述轮廓上各点沿轮廓方向变化的情况。 曲率的局部极值点称为角点。 多边形主要特征参数:顶
  • 自《图像处理中的数学修炼》原书第一版于2017年2月上市以来,加印重印多次,在京东和当当等主流在线购书网站上已经累计有超过3200个有效购买评论,并且在这两个网站上的好评都超过99%。结合第一版书籍读者给出的...
  • 图像处理岗位面试题搜罗汇总

    万次阅读 多人点赞 2018-06-21 15:11:46
    原文...传统图像处理部分 图像处理基础知识 彩色图像、灰度图像、二...
  • 图像处理经典文献

    千次阅读 2018-01-29 10:43:26
    我们所说的图像处理实际上就是数字图像处理,是把真实世界中的连续三维随机信号投影到传感器的二维平面上,采样并量化后得到二维矩阵。数字图像处理就是二维矩阵的处理,而从二维图像中恢复出三维场景就是计算机视觉...
  • 特征提取是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者...
  • 在获得了人眼窗口的基础上进行虹膜检测,虹膜如下...下图是利用霍夫检测人眼图片获得的。 简单介绍一下霍夫园检测的方法以及如何调节参数. HoughCircles函数 void HoughCircles( InputArray image, Ou...
  • 基于python图像处理API

    万次阅读 2020-04-02 11:19:20
    1.图像处理库 import cv2 as cv from PIL import * 常用的图像处理技术有图像读取,写入,绘图,图像色彩空间转换,图像几何变换,图像形态学,图像梯度,图像边缘检测,图像轮廓,图像分割,图像去噪,图像加...
  • 医学图像处理综述

    千次阅读 2019-07-10 19:38:06
    医学图像处理的对象是各种不同成像机理的医学影像,临床广泛使用的医学成像种类主要有X-射线成像 (X-CT)、核磁共振成像(MRI)、核医学成像(NMI)和超声波成像(UI)四类。在目前的影像医疗诊断中,主要是通过...
1 2 3 4 5 ... 20
收藏数 13,668
精华内容 5,467
关键字:

图像处理圆度率