首页 > 其他分享 >数字图像处理《11、表示和描述》

数字图像处理《11、表示和描述》

时间:2023-06-27 20:33:10浏览次数:53  
标签:11 边界 数字图像处理 纹理 区域 归一化 链码 描述


 

第十一章:表示和描述

1、  表示的方法有:边界追踪、链码、多边形近似法等;

2、  边界的描绘子有:偏心率、形状数、傅立叶描绘子、统计矩等;

3、  区域的描绘子有:圆度率、拓扑描绘子、纹理、不变矩等;

4、  使用主分量进行的描述和关系描绘子适用于边界描述和区域描述;

5、  最后总结目标识别的学习情况。

 

表示一个区域:

(1)外部特征(如边界)来表示区域-->用特征对其描述(如长度,边界缺陷数量)

(2)内部特征(如像素)来表示区域-->内部表示(如颜色、纹理)

表示和描述应该是个递进的关系,表示旨在以更(精确/方便/高效)的方式组织数据,而描述旨在从表示中总结某种模式以便于任务的完成。前者更贴近数据,后者更贴近应用。

表示部分:边界表示

描述部分:边界描述、区域描述、关系描述、主分量描述

11.1 表示

主要分2个阶段:边界追踪(轮廓提取)、基于特定目标(精确/方便/高效)的边界表示。

边界追踪部分主要介绍Moore算法;边界表示部分主要介绍Freeman链码、边界的多边形近似、标记图、边界线段和骨架。

1)边界追踪

OpenCV对应的函数为findContours,可以指定只提取外轮廓,获得多个轮廓的层次关系,初级的近似方法。

应用边界追踪算法前应确保:图像已二值化;图像边界已用0扩展(假设边界为1)。此外基础的moore算法仅适用外轮廓,对于内轮廓,可用形态学方法将其转为外轮廓再查找。

Moore边界追踪算法:

step1: 找到图像左上角为1的点b0为边界起始点。b0左边的点为c0(显然值为0),从c0开始按顺时针方向考察b0的8邻域,找到的第一个值1的点为b1(边界的第2个点),令扫描到b1前的点为c1。

step2: 赋值b=b1,c=c1。

step3: 从c开始顺时针扫描b的8邻域,找到第一个值1的点n,其之前的点n'(背景点)。

step4: 赋值b=n,c=n'。

step5: 重复step3和step4,直到b=b0且下一个边界点为b1。

注:上述算法一次只能扫描一个边界,一个办法是将找到的点赋值为0再重复扫描。

 

2)Freeman链码

链码使用方向(4/8)和单位长度(对图像可以为一个像素)来替代坐标表示边界(图1-1a),考虑到链码长度的限制和噪声对边界表示的影响,可以对单位长度进行适当放大重采样(图1-1b)。

数字图像处理《11、表示和描述》_归一化

图1-1. 边界链码表示(《数字图像处理》)

链码表示首先要解决的问题是:旋转和起始位置的不变性。

旋转不变性可以用链码的一次差分解决(按图1-1a逆时针方向,链码的后一个方向与前一个方向的转换次数,链码的第一个值用某端的方向与其差分得到);之后对差分链码做循环右移,取号码序列整数值最小的那个(就是前面0最多的)为最终表示以保证起始位置的不变性。

实际中,如果以边界距离最远的两个点为长轴,与之垂直且距离最远的两个点为短轴。将图1-1a的0方向轴旋转到与长轴平行,再计算差分链码可以更好的归一化边界旋转的问题(图1-2)。

数字图像处理《11、表示和描述》_特征值_02

图1-2. 链码归一化(《数字图像处理》)

 

3)使用最小周长多边形的多边形近似

边界的多边形近似使得可以用尽可能少的线段来表达边界的基本形状。

此外可能更有用的处理是:边界的外接圆、外接矩形、凸包等(OpenCV有实现),不过这些属于边界描述了。

对于多边形近似,《数字图像处理》介绍了一种最小周长多边形(MPP)的方法,并附有MATLAB的实现。

DP算法:

OpenCV提供的函数approxPolyDP是基于Douglas-PeuckerWIKI)算法实现的。思路比MPP简单很多(图1-3)。

数字图像处理《11、表示和描述》_特征值_03

图1-3. DP算法(《数字图像处理》)

 

MPP算法

1、表示边界有明显优势;

2、可以进行边界平滑;

数字图像处理《11、表示和描述》_缩放_04

数字图像处理《11、表示和描述》_缩放_05

556x556的二值图

8连接边界(顶点数1900)

2的方形单元得到的MPP(顶点数206)

3的方形单元得到的MPP(顶点数160)

4的方形单元得到的MPP(顶点数127)

6的方形单元得到的MPP(顶点数92)

8的方形单元得到的MPP(顶点数66)

16的方形单元得到的MPP(顶点数32)

32的方形单元得到的MPP(顶点数13)

4)其他

聚合技术:

数字图像处理《11、表示和描述》_特征值_06

分裂技术:

数字图像处理《11、表示和描述》_缩放_07

5) 标记图

试图用一维函数表示边界。

一种简单的方法是以角度的函数形式记录质心到边界的距离(图1-4)。

数字图像处理《11、表示和描述》_归一化_08

图1-4. 一种标记图(《数字图像处理》)

图1-4的方法是平移不变的,但对旋转和缩放敏感。

为了实现旋转归一化,需要找到选取相同起始点的方法。类似链码里介绍的那样,选取距离长短轴最远的点即可。

为了实现缩放归一化,可以对每个值除以方差(简单的最大最小值归一化会因为噪声的影响而带来较大误差)。

6) 边界线段

通过将边界分段以简化描述过程。以进入和离开一个凸缺为依据,对边界分段(图1-5)。

一个任意集合S的凸壳H是包含S的最小凸集,H-S称为集合S的凸缺D.标记加入或离开一个凸缺的转变点(红色线段)

数字图像处理《11、表示和描述》_缩放_09

图1-5. 边界分段(《数字图像处理》)

7). 骨架抽取

这是种表示区域的方法。

一个区域的骨架可以用中轴变换(MAT)来定义。

数字图像处理《11、表示和描述》_特征值_10

在这里有形态学思路的骨架方法介绍。此外,还有Zhang提出的一种骨架抽取算法(A fast parallel algorithm for thinning digital patterns)。

数字图像处理《11、表示和描述》_特征值_11

图1-6. Zhang骨架抽取算法

11.3  边界描绘子

主要讨论边界的形状数描述、傅里叶描述和其他简单的描述。

1)基础描述

边界长度:边界的像素数粗略近似。

边界直径:相隔最远的两个点的距离(链码一节介绍的长短轴)

边界偏心率:长轴/短轴

其他规范化近似:外接圆、外接矩形、外接凸包

2)形状数描述

形状数:值最小的链码差分码;

这个概念的意义在于,你可以指定一个边界的阶(以4-方向为例,对于闭合边界,其阶为大于等于4的偶数),然后对边界做重采样。

如图1-2中指定形状数阶数为18,首先获得其基本矩形(左2),然后计算其最接近18的划分(6*3,左3)。

 

数字图像处理《11、表示和描述》_特征值_12

在轮廓匹配中,可以用形状数作为参考:以4-方向为例,依次取阶数K=4,6,8...2n(显然随着K的增大,边界描述越精确),对待匹配的两组边界生成形状数,比较两组形状数,取d为使得两者相同的最大阶。显然对于相同的两条边界,d=无穷大。

3)傅里叶描绘子

使用一个复数来描述一个点:s(k) = x(k) + jy(k),然后对其做离散傅里叶变换:

数字图像处理《11、表示和描述》_归一化_13

这里介绍频域的4种边界操作(图2-1):一种是通过忽略部分高频傅里叶系数获得边界的近似描述(低频决定边界形状,高频决定边界细节);另三种是旋转、平移、缩放。

a. 边界近似

取前P个傅里叶系数做逆变换:

数字图像处理《11、表示和描述》_归一化_14

方便起见,直接将后K-P个系数赋0做逆变换就可以了。

b. 边界旋转

数字图像处理《11、表示和描述》_归一化_15

需要注意的是这里的旋转是以序列中(0,0)为原点的,将序列减去质心就可以实现以质心为原点旋转了。

c. 边界平移

数字图像处理《11、表示和描述》_缩放_16

其中

数字图像处理《11、表示和描述》_特征值_17

,乘以冲激序列的傅里叶变换。

d. 边界缩放

数字图像处理《11、表示和描述》_归一化_18

,其中a为缩放系数

数字图像处理《11、表示和描述》_缩放_19

图2-1. 边界傅里叶描述

如图2-1所示,a为原始图像,b~e为使用Moore边界追踪算法后在频域做平移、旋转、缩放、近似。其中旋转部分做了中心平移,近似部分取前2/3的傅里叶系数做逆变换。

数字图像处理《11、表示和描述》_特征值_20

4)统计矩

数字图像处理《11、表示和描述》_缩放_21

11.3 区域描绘子

主要讨论区域的纹理描述、不变矩描述和其他简单描述

1)简单描绘子

区域面积、周长都是用相应像素数来粗略估计

区域致密性描绘子:(周长)^2 / 面积。显然圆形具有最小的致密性。

区域圆度率:区域面积 / 具有相同周长的圆的面积。(Rc=4πA/p^2)--A面积;p周长

其他:灰度级的中值、均值、最小灰度值、最大灰度值、高于和低于均值的像素数。

2)拓扑描绘子

与距离或基于距离度量概念的任何特性无关。

孔洞数量、连通分量的数量、欧拉数、

数字图像处理《11、表示和描述》_归一化_22

欧拉公式:

V-Q+F=C-H=E

顶点数-边数+面=连通区域-孔洞=欧拉数

3)纹理

纹理描述主要有三种方法:统计方法、结构方法、频谱方法。

 

  • 统计方法考察纹理的平滑、粗糙、粒状等特征;
  • 结构方法考察纹理的排列描述;处理图像像元的排列;
  • 频谱方法考察纹理的周期性。基于傅里叶频谱的特性。

以下主要讨论统计方法的几种指标

a. 统计方法

对一个区域,统计其归一直方图,计算其均值的z的第n阶矩为

数字图像处理《11、表示和描述》_归一化_23


其中m是平均灰度

数字图像处理《11、表示和描述》_特征值_24

数字图像处理《11、表示和描述》_特征值_25

描述区域的灰度对比变化。由其构成的归一化R度量对粗糙的区域有较大响应

数字图像处理《11、表示和描述》_缩放_26

数字图像处理《11、表示和描述》_归一化_27

数字图像处理《11、表示和描述》_缩放_28

数字图像处理《11、表示和描述》_特征值_29

灰度共生矩阵(GLCM)

GLCM不仅考察灰度分布,还考虑了像素的相对位置

数字图像处理《11、表示和描述》_归一化_30

数字图像处理《11、表示和描述》_归一化_31

图3-1. 灰度共生矩阵(《数字图像处理》)


数字图像处理《11、表示和描述》_归一化_32

,由GLCM可得到以下统计量最大概率

数字图像处理《11、表示和描述》_缩放_33

,度量G的最强响应,值域为[0,1]对比度:

数字图像处理《11、表示和描述》_归一化_34

,纹理越深,该值越大相关性

数字图像处理《11、表示和描述》_归一化_35

,其中

数字图像处理《11、表示和描述》_缩放_36


数字图像处理《11、表示和描述》_缩放_37

。邻域变化越小,相关性值越大。能量:

数字图像处理《11、表示和描述》_归一化_38

,能量越大表示当前纹理越规则熵:

数字图像处理《11、表示和描述》_缩放_39

,熵越大表示当前纹理越复杂

b. 结构方法

一个简单的“纹理基元”可以借助一些规则用于形成更复杂的纹理模式。

数字图像处理《11、表示和描述》_归一化_40

c.频谱方法

非常适合描述图像中的二维周期或近似二维周期模式的方向性。

3个特点:

(1)频谱中突出的尖峰给出纹理模式的主要方向;

(2)频谱中突出的尖峰的位置给出模式的基本空间周期;

(3)采用滤波方法消除任何周期分量而留下的非周期性图像元素;

数字图像处理《11、表示和描述》_归一化_41

4)不变矩描述

令图像f(x,y)尺寸M*N,其二维(p+q)阶矩

数字图像处理《11、表示和描述》_特征值_42


相应的(p+q)阶中心矩

数字图像处理《11、表示和描述》_特征值_43

其中

数字图像处理《11、表示和描述》_归一化_44

。由以上定义获得其归一化中心矩:

数字图像处理《11、表示和描述》_缩放_45

,其中

数字图像处理《11、表示和描述》_归一化_46


根据归一化中心矩可获得7个不变矩(hu不变矩),其对同一区域的平移、缩放、旋转、镜像能保持一致描述

数字图像处理《11、表示和描述》_特征值_47

11.4 使用主分量进行描述

主分量描述适用于边界和区域。用在区域(图像)上可以抽取方差最大的分量(主分量),用在边界上可以对其做缩放、平移和旋转的归一化。

主分量变换,又叫霍特林变换。

主分量(PCA)一般用于数据降维,因为大特征值对应图像细节(高频)。

主分量的计算过程可归纳为(具体分析参考):由多组特征向量计算均值向量m,由此得到协方差矩阵,计算该矩阵(实对称)的特征值,按从大到小排列,选择前n个特征值对应的特征向量,按行组成变换矩阵A,这样,对原来的每一条向量x,其映射得到的向量y=A(x-m)。

数字图像处理《11、表示和描述》_归一化_48

 

1)使用主分量描述图像

考虑一系列M*N大小的6波段遥感图,将其数据组织为(M*N)*6的二维矩阵,每一行即为一个特征向量。

图3-1为取前4个特征值恢复得到的第6波段图像,可以看到,原始图比较模糊,但恢复的图像很清晰,因为模糊的部分(对应小特征值)已被丢弃

数字图像处理《11、表示和描述》_缩放_49

图3-1. 左为原图,右为PCA后的图

 

2)使用主分量对尺度、平移、旋转变换归一化

假设共N个点,则组织数据为N*2

对所有特征向量,应用y=A(x-m)即获得归一化描述。

11.5 关系描绘子

关系描述旨在用一套模式来描述边界或区域。

关系描述首先定义一些基本描述元,如用a表示向右一个像素,b表示向下一个像素;然后定义一套规则,

 

数字图像处理《11、表示和描述》_缩放_50

图4-1. 关系描述(《数字图像处理》)

数字图像处理《11、表示和描述》_缩放_51

另一种是用树的形式描述每个边界或区域的从属关系。

数字图像处理《11、表示和描述》_特征值_52

 

标签:11,边界,数字图像处理,纹理,区域,归一化,链码,描述
From: https://blog.51cto.com/u_12667998/6565412

相关文章

  • Oracle 11.2.0.3 ORA-12012ORA-29280 ORA-06512
    Oracle11.2.0.3ORA-12012ORA-29280ORA-06512问题现象:dbalert日志中出现如下告警信息:Errorsinfile/app/oracle/diag/rdbms/cctv/CCTV2/trace/CCTV2_j000_1370.trc:ORA-12012:erroronautoexecuteofjob"ORACLE_OCM"."MGMT_CONFIG_JOB_2_2"ORA......
  • 题目集7~11的总结性blog
    一.前言这是这学期最后一次blog了,其中有7~11五次题目集题目集07:只有一道题,该题为菜单计价程序-5,是菜单计价程序-3的迭代,与菜单计价程序-4属于不同的迭代分支。 ......
  • 可一键上华为云阿里云网关BL110
    在工业自动化系统中,Modbus是一种非常常见的通信协议,而OPCUA则是近年来兴起的一种新型通信协议。由于各种设备之间使用的通信协议不尽相同,因此需要一种能够实现多种协议转换的网关产品。BL110网关就是一款能够实现Modbus到OPCUA转换的产品。BL110网关采用嵌入式Linux系统开发,具有......
  • 题目集7~11总结心得
    1.前言本次题目集为7~11。其中题目集7是由题目集5、6两次的迭代,对于前两次已经拿到很多分的人困难不大,只要在基础上进行部分修改即可。之后从第八次题目集开始就进行另一个较难程序的练习,课程成绩统计程序,这个练习与前面的菜单程序非常相似,主要考察我们不同类与对象的关系,用到了......
  • windows11+gcc安装-good
    MSYS2安装之后,在msys的terminal中执行,可以去安装目录下寻找 >pacman-Smingw-w64-ucrt-x86_64-gcc  GetStartedwithC++andMingw-w64inVisualStudioCode>pacman-S--neededbase-develmingw-w64-x86_64-toolchain选择默认参数(直接回车即可),会执行一系列的......
  • PROFINET设备描述文件说讲之三
    设备中的模块PROFINETIO设备的第一个槽给了DAP,其他的槽位就是各种不同模块的。模块列表的层次结构如下所示:ModuleList|+--ModuleItem|+--ModuleInfo|||+--Name|+--TextId|+--InfoText|+--OrderNumber|+--HardwareRelease|+--SoftwareRelease|+--Use......
  • Windows 11 22H2 中文版、英文版 (x64、ARM64) 下载 (updated Jun 2023)
    Windows1122H2中文版、英文版(x64、ARM64)下载(updatedJun2023)Windows11,version22H2,2023年6月更新请访问原文链接:https://sysin.org/blog/windows-11/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org全新推出Windows11全新Windows体验,让您与热......
  • Windows 11 绕过 TPM 方法总结,通用免 TPM 镜像下载 (2023 年 6 月更新)
    Windows11绕过TPM方法总结,通用免TPM镜像下载(2023年6月更新)在虚拟机、Mac电脑和TPM不符合要求的旧电脑上安装Windows11的通用方法总结请访问原文链接:https://sysin.org/blog/windows-11-no-tpm/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org本文......
  • FX110网:Refinitiv 5月外汇交易量下降6.25%
    全球主要机构平台2023年5月份的交易量已经公布,呈现出整体上升的趋势,只有Refinitiv的日均货币交易量有所下降。报告涵盖了六个主要场所的机构货币交易量的日均交易量(ADV),即CboeFX、CLS、EuronextFX、FxSpotStream、Refinitiv、360T,如下图所示。这六家公司中有五家公司在2023年5月的......
  • 南昌航空大学软件学院pta第三阶段总结22201116-廖振波
    22201116廖振波前言 这是我们这个学期最后一次blog作业,最后的pta作业还是比较多的,有五次的题目集,第题目集7和题目集8题目比较简单,题目集9是统计代码中java关键字的次数,第十次题目集是java实现学生成绩管理系统。第11次题目集是对题目集10的改进,还考察了hashmap的使用,第12次题......