新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > SPCA563B实现图像识别系统

SPCA563B实现图像识别系统

作者: 时间:2011-09-27 来源:网络 收藏

2 系统软件设计

  本系统的识别功能主要通过软件系统来实现。为了提高程序的可移植性,为将来该系统功能扩展预留空间,整个软件系统采用分模块、分层次的方法编写程序,采用汇编语言实现对寄存器的读/写以及对中断的控制,并为上层的开发提供灵活的接口。上层采用C语言编写,通过调用底层函数来间接对硬件资源进行操作。这样编写程序使整个系统结构清晰,程序可移植性和可扩展性增强,而且占用硬件资源少,为系统功能的扩展和进一步开发预留充分的空间。

  整个软件系统由主程序、功能模块子程序、中断服务子程序和语音输出子程序等组成。主程序负责整个系统的协调和控制工作,通过调用不同的子程序来实现不同的功能。主程序流程如图7所示。

  

SPCA563B实现图像识别系统

  为突出系统的特点,下面通过手势识别的实例来重点描述原理。手势识别包含两个步骤:手形的轮廓跟踪,提取其轮廓的相关数据;手势的识别,在上一步得到的数据的基础上进行分析判断而得到结果。

  2.1 轮廓跟踪算法实现

  轮廓跟踪的目的是获得图像的外部轮廓特征(包括目标物体边缘点的坐标和方向),为图像的形状分析做准备。的DSP针对肤色有一系列的颜色处理,这样系统就可以方便图像转化为肤色与非肤色的二值图像。通过对暂存在SRAM中的二值图像进行数据分析,来提取手形的边缘轮廓。

  轮廓跟踪算法步骤如下:

  ①按从上到下、从左到右的顺序扫描图像,寻找第一个非白像素作为边界起始点A[0],记录A[0]点的坐标(A[0].x,A[0].y)。A[0]是具有最小行和列值的边界点。再定义一个扫描方向变量dir,该变量用于记录上一步中沿着前一个边界点到当前边界点的移动方向。其初始化取值为A[0].dir=7;扫描方向定义如图8所示。

  

SPCA563B实现图像识别系统

  假设当前的坐标为(x,y),则其8个邻域坐标如下:

  

SPCA563B实现图像识别系统



关键词: SPCA563B 图像识别

评论


相关推荐

技术专区

关闭