主权项 |
一种基于FPGA多核的车牌识别系统,其特征在于,包括至少五个软核,所有软核挂载在FPGA共享缓冲上,并通过共享缓冲实现数据交互,相邻软核之间通过FSL实现命令交互;依据所实现的功能不同,所有软核被划分归类为五个模块,分别为:图像预处理模块,对输入的图像进行增强、二值化及灰度化处理;并将整个图像分为四个区域,将处理后的图像放置在共享缓冲区,同时通过FSL发送消息到车牌定位模块;车牌定位模块,首先根据写入到每个共享缓冲中的结果对其进行水平定位、垂直定位操作以获取车牌大致的区域位置;接下来进行车牌的颜色判断操作;根据识别出的颜色结果进行车牌细定位,从而获取车牌精准的区域位置,最终定位出结果;然后将定位结果放置在共享缓冲区,并通过FSL发送消息到车牌分割模块;车牌分割模块,首先根据写入到每个共享缓冲中的定位结果进行垂直投影并根据投影的波谷确定分割的位置;去除分割位置中不是字符的位置,然后判断分割结果的对错,正确即对车牌中的字符进行归一化操作,否则加大二值化阈值进行二次分割;二次分割成功后则进行归一化处理,否则分割结束;最后将归一化的结果放置在共享缓冲区,同时通过FSL发送消息到字符识别模块;字符识别模块,接收到FSL发送的消息后,分别对车牌分割模块分割所得的子区域的字符利用神经网络进行识别,首先通过同时读入data文件和共享缓冲中字符的归一化结果,对字符所属汉字、英文字母或阿拉伯数字的分类结果进行计算并设置置信度,将得到的置信度排序并利用识别函数进行识别;取出其中最大置信度所对应的字符,从而确定最终的识别结果;将识别结果通过FSL发送消息到同步合成模块;同步合成模块,对识别结果进行统一处理,将单个车牌所在区域的字符排列串联,输出车牌号码。 |