《Visual C++数字图像模式识别技术详解(第2版)》一3.3 几何特征

简介: 本节书摘来自华章出版社《Visual C++数字图像模式识别技术详解(第2版)》一 书中的第3章,第3.3节,作者:冯伟兴 贺波 王臣业,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.3 几何特征

图像的几何特征在图像分析中起着十分重要的作用,在许多图像应用系统中,经常使用区域的一些几何特征,如大小、位置和方向,来确定物体的位置并识别它们。为了特征提取方便,在提取图像的几何特征之前,需对图像进行二值化处理,即处理成只有0和1两种值的黑白图像。又由于二值图像便于获取、存取和处理,且能给出物体的轮廓信息,因此适宜用于图像几何特征的提取,故本节讨论的图像均为二值图像。
本节将从图像位置与方向、周长、面积、长轴与短轴和距离等几个基本方面介绍图像的几何特征及其计算方法。

3.3.1 位置与方向

  1. 位置
    在图像分析中,通常关心的不仅是图像中的像素的情况,而且关心图像区域几何情况,因此,作为图像区域的几何特征,常采用区域面积的中心点作为表示区域的位置。

由于是二值图像,因此区域中心位置与物体的质心相同,若图像中的物体对应的像素位置坐标为(xi, yj)(i=1, 2, …, M; j=1, 2, …, N),则可用下式计算质心位置坐标:

    (3-15)

物体的位置确定对许多应用有着重要意义,如在工业应用中,物体通常出现在表面(如工作台面)上,而且摄像机相对台面的位置也是知道的,在这种情况下,图像中物体的位置决定了它的空间位置。
2.方向
我们不仅要知道图像中物体的位置,而且还要知道物体在图像中的方向。确定物体的方向比计算物体的位置要复杂一些,某些形状(如圆)的方向不是唯一的。为了定义唯一的方向,一般假定物体是长形的,其较长方向的轴定为物体的方向,通常将图像主轴定义为较长物体的方向。

3.3.2 周长

区域的周长即区域的边界长度。这里考虑的区域是由内部点加边界点构成的情况。对区域R来说,它的每一个边界点P都应满足以下两个条件:
 P自身属于区域R。
 P的邻域中有像素不属于区域R。
区域R的边界B是由R的所有边界点按4-方向或8-方向连接组成的,区域的其他点称为区域的内部点。可以分别定义4-方向连通边界B4和8-方向连通边界B8如下:

    (3-16)

上面两式右侧第一个条件表明边界点本身属于区域,第二个条件表明边界点的邻域中有不属于区域的点。
一个形状简单的物体用相对较短的周长来包围它所占有面积内的像素,周长就是围绕所有这些像素的外边界的长度。通常,测量这个长度时包含了许多90度的转弯,从而夸大了周长值。区域的周长在区别具有简单或复杂形状物体时特别有用。
由于周长的表示方法不同,因而计算方法也不同。常用的简便方法如下:
1)当把图像的像素看做单位面积的小方块时,则图像中的区域和背景均由小方块组成。区域的周长为区域和背景缝隙的长度。
2)周长为边界所占面积,每个点占面积为1的一个小方块,则周长为边界点数之和。
周长的计算方法不同,会导致求得的周长结果不同。

3.3.3 面积

面积是物体尺寸的一个度量。面积与该物体的边界有关,最简单的面积计算方法是统计边界内部的像素的数目。在这个定义下,面积的计算非常简单,求出域边界内像素点的总和即可,计算公式如下:

    (3-17)

这里的f(x,y)为二值图像,其取值为1时表示物体,取值为0时表示背景,其面积就是统计f(x,y)=1像素点的个数。

3.3.4 长轴与短轴

边界的直径是指边界上相隔最远的两点之间的距离,即这两点之间的直连线段长度。这条直线称为边界的长轴或主轴,与长轴垂直且最长的边界的两个交点间的线段叫边界的短轴。它的长度和取向对描述边界很有用。
当物体的边界已知时,用其外接矩形的尺寸来刻画它的基本形状是最简单的方法。求物体在坐标系方向上的外接矩形,只需计算物体边界点的最大和最小坐标值,就可得到物体的水平和垂直跨度。但是对于任意朝向的物体,水平和垂直方向并非是人们感兴趣的方向。这时,就有必要确定物体的主轴,然后计算反映物体形状特征的主轴方向上的长度和与之垂直方向上的宽度,这样的外接矩形是物体的最小外接矩形。
计算最小外接矩形的一种方法是,将物体的边界以每次若干角度的增量在90度范围内旋转。每旋转一次记录一次其坐标系方向上的外接矩形边界点的最大和最小x,y值。旋转到某一个角度后,外接矩形的面积达到最小。取面积最小的外接矩形的参数为主轴意义下的长度和宽度。此外,主轴可以通过矩计算得到,也可以用求物体的最佳拟合直线的方法求出。

3.3.5 距离

在许多应用中,需要计算一幅图像中两个像素点之间的距离。在距离的定义中,欧式距离是广为人知的,但在距离获取中,考虑到计算的容易性以及距离值为整数等要求,还经常使用街区距离(又称4邻域距离)和棋盘距离(又称8邻域距离)。设P点的坐标为(m,n),Q的坐标为(k,l),具体计算如下。
(1)欧式距离

    (3-18)

(2)街区距离

    (3-19)

(3)棋盘距离

    (3-20)

图3-4表示了以中心像素为原点到周围像素的距离。从离开一个像素的等距离线可以看出,在欧式距离中呈圆形,在街区距离中呈倾斜45度的正方形,在棋盘距离中呈方形。
screenshot

相关文章
|
8月前
|
编译器 开发工具 C++
【Python】已解决error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build
【Python】已解决error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build
4841 0
|
9月前
|
存储 分布式数据库 API
技术好文:VisualC++查看文件被哪个进程占用
技术好文:VisualC++查看文件被哪个进程占用
|
6月前
|
存储 算法 C++
C++提高篇:泛型编程和STL技术详解,探讨C++更深层的使用
文章详细探讨了C++中的泛型编程与STL技术,重点讲解了如何使用模板来创建通用的函数和类,以及模板在提高代码复用性和灵活性方面的作用。
107 2
C++提高篇:泛型编程和STL技术详解,探讨C++更深层的使用
|
6月前
|
C++ 内存技术
[转]Visual C++内嵌swf文件并播放
[转]Visual C++内嵌swf文件并播放
|
7月前
|
安全 编译器 C++
Microsoft Visual C++ Redistributable的作用主要体现以及可以删除吗?
这些是Microsoft Visual C++不同版本的Redistributable安装包,用于32位系统,确保相关应用正常运行。它们提供C++运行时环境,简化部署流程,支持第三方库及框架,并确保应用兼容性。定期更新可修复问题并引入新功能。在空间有限或需解决程序冲突时可考虑删除,但需谨慎操作以防影响应用稳定性和兼容性。删除前请确认无应用依赖,并通过控制面板安全卸载。
646 1
Microsoft Visual C++ Redistributable的作用主要体现以及可以删除吗?
|
7月前
|
人工智能 Anolis
聚焦C++20 最新标准!技术 Workshop 精彩亮点一览 | 2024 龙蜥大会
多场技术 Workshop、多位领域专家亲自授课,分享独家洞察与宝贵经验。
|
7月前
|
算法 C# 开发工具
《黑神话:悟空》背后的编程语言揭秘——超越C++的多元技术融合
【8月更文挑战第27天】在游戏开发领域,一款游戏的成功往往离不开其背后强大的技术支持和编程语言的精妙运用。《黑神话:悟空》作为备受瞩目的国产单机动作游戏,其开发过程不仅涉及了多种编程语言,更是一次技术创新的集中展现。然而,当我们深入探讨其开发语言时,会发现它并非仅依赖于单一的C++,而是融合了多种编程语言的优势,共同铸就了这款游戏的辉煌。
381 0
|
8月前
|
C++ Windows
FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
在Windows上使用Visual Studio 2022进行FFmpeg和SDL2集成开发,首先安装FFmpeg至E:\msys64\usr\local\ffmpeg,然后新建C++控制台项目。在项目属性中,添加FFmpeg和SDL2的头文件及库文件目录。接着配置链接器的附加依赖项,包括多个FFmpeg及SDL2的lib文件。在代码中引入FFmpeg的`av_log`函数输出"Hello World",编译并运行,若看到"Hello World",即表示集成成功。详细步骤可参考《FFmpeg开发实战:从零基础到短视频上线》。
357 0
FFmpeg开发笔记(三十九)给Visual Studio的C++工程集成FFmpeg
|
7月前
|
缓存 C++ Windows
Inno setup 脚本判断 Microsoft Visual C++ Redistributable 不同版本区别
Inno setup 脚本判断 Microsoft Visual C++ Redistributable 不同版本区别
|
7月前
|
编译器 C++ 开发者
Visual Studio属性表:在新项目中加入已配置好的C++库
通过以上步骤可以确保Visual Studio中新项目成功地加入了之前已配置好的C++库。这个过程帮助开发者有效地管理多个项目中共享的库文件,提升开发效率。
234 0

热门文章

最新文章