细化和骨架化
• thin(M, b) - 返回由阈值 b 二值化的矩阵 M 的细化形式。
• skeleton(B,[b]) - 返回一个腐蚀到最内层级别的二元矩阵 B。
这些函数可将图像中的对象变换为一组线,这组线大体上沿每个对象的中心行进。
thin 和 skeleton 函数首先对图像进行二值化处理,然后再对其进行细化或骨架化处理。这可在图像分析中用于图形识别,例如,光学字符识别 (OCR)。
细化和骨架化是形态学处理的极端形式,可在仅对图像中对象的基本形状感兴趣的时候使用。与细化操作不同,骨架化会保持输入对象的尺寸。骨架的端点一直延伸至输入对象的边界。
细化可将二值图像中的对象转变为一组简单的数字线 (或弧),这些线 (或弧) 大体上沿对象的中轴 (中心线) 行进。所获得的结构不受图像对象上小拐点的影响。该算法将递归删除具有多个邻点的简单边界点。使用此算法,不会删除细弧的端点。
|
• 如果未提供可选自变量 b,则 skeleton 函数会执行简单骨架化操作 - 对二值化图像的边界进行腐蚀,直到只剩下中心线。骨架函数最适合处理背景为黑色的白色图像。
• 如果未提供可选自变量 b,则 skeleton 函数会使用更高级的骨架化算法,此算法会将对象的骨架定义为一组点,这些点距最近边界的距离为局部最大值。可以恢复给定其骨架和每个骨架点与其轮廓间距离的原始二值图像,方法是取以骨架点为中心的其圆形邻域的并集,该圆的半径为关联的轮廓距离。此时,骨架为图像对象的再生表示。
|
自变量
• M 为灰度图像矩阵。
• B 为二值化图像矩阵。
• b 为表示二值化强度阈值的实数。
b 为 skeleton 函数的可选项。