图像处理ASIC设计方法 笔记18 轮廓跟踪算法的硬件加速方案

目录

  • 1排除伪孤立点(断裂链表)
    • [方法1 限制链表的长度](#方法1 限制链表的长度)
    • [方法2 增加判断条件排除断裂链表](#方法2 增加判断条件排除断裂链表)
    • [方法3 排除不必要跟踪的轮廓(推荐用这个方法)](#方法3 排除不必要跟踪的轮廓(推荐用这个方法))

P129

轮廓跟踪算法的硬件加速方案

1排除伪孤立点(断裂链表)

如果图像中某区域存在相邻像素之间仅有对角连接的部位,则对包围该区域的像素进行跟踪时,在对角连接部位,轮廓跟踪方向可能发生转移,跨越目标区域,最终生成断裂链表或者伪孤立点链表。伪孤立点是指与相邻像素仅存在对角连通的像素点,而非真正的孤立像素。

这些断裂链表不反映区域的真实形状,不仅消耗了算法处理时间和链表存储空间,而且对于后续图像处理造成干扰。

方法1 限制链表的长度

限制链表的长度的方法,是排除节点个数在某限定值以下的链表。

优点:简单。缺点:不严谨,在检测较小目标时是不可行的。

方法2 增加判断条件排除断裂链表

增加判断条件排除断裂链表的方法,需要通过实际的算法设计和针对不同情况进行实验。

优点:可行,严谨。缺点:不普适,不同类型的图像要针对性设计;错误率高,有些情况不能正确跟踪轮廓;算法设计复杂,轮廓跟踪速度减慢。

方法3 排除不必要跟踪的轮廓(推荐用这个方法)

该方法是在轮廓跟踪之前,通过排除不必要跟踪的轮廓而减少断裂链表生成。

缺点:有前提,适用于只跟踪区域外边界轮廓的情况。(因为断裂列表通常产生于跟踪内边界,只跟踪外边界对于目标识别这个最主要的应用是够用的)

优点:可达目标,速度快(仿真结果表明,在给定轮廓起点的情况下执行轮廓跟踪算法,与原始算法相比,加速比达到数十万倍)。利用标记算法的扫描过程,得到轮廓起点信息,从而避免轮廓跟踪算法中的逐像素扫描过程。以该坐标为起点跟踪区域边界,可以得到围绕该区域的外边界。大多数情况下,图像中位于区域边界的像素数量远远小于图像像素的总数,因此,免除逐像素扫描过程将可以显著减少轮廓跟踪算法的执行时间。

轮廓起点可以在标记代换过程中,检测到新的连通域时获得。这样,以很小的硬件代价,借助硬件与软件进行合理功能分割,实现了极高的轮廓跟踪算法加速比。

相关推荐
垆边人似月.11 分钟前
幻兽防御战(贪心算法)
数据结构·算法
DongQiShanRen12 分钟前
六根硬件映射(下):物理闭环五步法,抽一条已实装的看
大数据·jvm·人工智能·算法·rust·哈希算法·集成学习
Code_Solitude16 分钟前
c语言:指针(3)+冒泡排序
java·c语言·算法
yuehuaxin0118 分钟前
LS8011C 快充协议芯片|SOT‑23‑6L 内置 431,PD3.2 SPR/PPS 适配器物料备选评估调试笔记
笔记·智能家居·适配器模式·智能硬件
FPGA信号处理22 分钟前
【模式识别】第四节课:支持向量机
算法·机器学习·支持向量机
碧海银沙音频科技研究院33 分钟前
面向长尾音频分类的知识蒸馏研究
人工智能·算法·音视频
巴巴媛66641 分钟前
【Debug1】程序死机,while(1)循环,怎么办?
c语言·笔记·stm32·嵌入式硬件·bug
alphaTao1 小时前
LeetCode 每日一题 2026/10/12-2026/10/18
算法·leetcode
xian_wwq1 小时前
【学习笔记】Milvus 是什么?为什么 RAG 系统经常使用它?-14
笔记·学习·milvus
青岚_Nox1 小时前
# C语言实战:函数完全指南——从基础概念到static/extern深度解析
算法