数字图像处理-描述

边界描绘子

一些简单的描绘子

边界的长度是最简单的描绘子。4连接边界的长度定义为该边界上的像素数减一。8连接则将垂直和水平过度计为1,对角过度计为√2。

边界的直径定义为边界上两个距离最远的点之间的欧式距离。连接这些点的线段称为边界的长轴。边界的短轴定义为与长轴垂直的直线,由边界与两个轴相交的4个外部点所组成的方框,可以完全包围该边界。这个方块称为基本矩形,长轴与短轴之比称为边界的偏心率

函数diameter可以计算边界或区域的直径、长轴、短轴和基本矩形

s = diameter(L)

其中L是一个标记矩阵,s是一个结构

s.Diameter 一个标量,最大距离
s.MajorAxis 一个2* 2矩阵,包含长轴端点的行列坐标
s.MinorAxis 一个2* 2矩阵,包含短轴端点的行列坐标
s.BasicRectangle 一个4*2矩阵,它的每行包含基本矩形的一个角的行列坐标
形状数

通常基于4方向弗雷曼链码的边界的形状数定义为最小幅值的一阶差分。形状数的阶定义为其表示中的数字的个数。因此,一个边界的形状数可由函数fchcode的参数c.diffmm给出,且形状数的阶由length(c.diffmm)给出

函数fchcode使用语法
c = fchcode(b, conn, dir)
来计算一个储存在数组b中的有序边界点的np* 2集合的弗雷曼链码。输出c是包含以下字段的一个结构,其圆括号中的数字表示数组大小:
c.fcc = 弗雷曼链码(1* np)
c.diff = c.fcc的一阶差分链码(1* np)
c.mm = 最小幅度的整数(1* np)
c,difffmm = 链码c.mm的一阶差分(1* np)

对于任意旋转的一种归一化方法是将坐标轴之一与长轴对齐,然后基于旋转后的图形提取4链码。使用函数x2majoraxis可使x轴与一个区域或边界的长轴对齐。

[C, theta] = x2amjoraxis(A, B)

其中A = s.MajorAxis来自函数diameter,B是一幅输入(二值)图像或边界列表。输出C的形式与输入相同(即一幅二值图像或一个坐标序列)。因为可能会存在舍入误差,且旋转可能会产生一个不连接的边界序列,所以可能需要后处理来重新连接这些点,如使用bwmorph或connectpoly函数。

傅里叶描绘子

对边界坐标序列s(k) = x(k) +jy(k), 使用离散傅里叶变换(DFT), 可以得到边界的傅里叶描绘子,复系数a(u)。相应的,使用复系数a(u),也可以重建s(k)。
高频分量决定细节部分,低频分量决定总体形状。
函数frdescp可以计算边界s的傅里叶描绘子,函数ifrelescp则可根据给定描绘子计算其反变换,得到一条封闭的空间曲线。

描绘子应当尽可能对平移、旋转和尺度变化不敏感,并且描绘子对起点不敏感。傅里叶描绘子并非对这些几何变化不敏感,但这些参数的变化可能与描绘子的简单变换是相

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值