STM32识别车牌

  • 系统概要

本系统以STM32F103RBT6单片机为主控,控制OV7670摄像头(带FIFO)进行图像采集,通过模式识别、匹配,最后获得车牌的识别结果。为尽大可能的提高处理速度,STM32单片机进行了16倍频。识别主要过程包括图像采集二值化分析识别车牌区域字符分割字符匹配五过程。

  • 系统框图
STM32识别车牌_第1张图片 系统框图
  • 识别原理

           图像采集

图像通过OV7670摄像头进行数据采集,采集的图像大小为320*240像素,像素格式为RGB565。每个像素由两字节组成,第一字节的高五位是R,第一字节的低三位和第二字节的高三位组成G,第二字节的低五位是B。图像通过STM32单片机读取,并将数据进行特殊处理后,显示于TFT显示屏上。

         二值化分析

摄像头的数据在采集过程中,对每个像素进行二值化处理,即设定R、G、B的阈值。通过二值化处理,将像素值分为全黑0x0000和全白0xffff两种。同时通过程序分析出每行的跳变点。分析跳变点的目的是识别出车牌区域。

          识别车牌区域

通过二值化分析出各行的跳变点,车牌区域处由于字符,导致跳变点明显较多,约大于15个,通过跳变点的分析和判断,即可识别出车牌区域位置。本系统程序中设定跳变点大于15个,在连续行存在多个跳变点大于15的位置处,将起始位置设定为车牌区域的上边边界Y_up,结束位置设定为车牌区域的下边边界Y_down。再通过RGB-HSV颜色转换,识别出车牌区域的左边边界X_left和右边边界X-right。这样既可获取车牌区域的准确边界,如下图蓝色边框范围。

            字符分割

车牌区域识别后,再次通过二值化进行字符的分割处理。处理过程中,获取各个字符的左边边界kk和右边边界k,若分割出来的字符数为8,则分割比较准确。

          字符匹配

字符分割后,进行归一化处理,再逐一对各个字符进行字符匹配。字符模板通过取模软件先提取出,存放于程序中,其大小为24*50的单一像素。匹配后,将相似性最大值的对应字符作为输出结果,并予以显示。

 

 

 

你可能感兴趣的:(STM32识别车牌)