本系统以STM32F103RBT6单片机为主控,控制OV7670摄像头(带FIFO)进行图像采集,通过模式识别、匹配,最后获得车牌的识别结果。为尽大可能的提高处理速度,STM32单片机进行了16倍频。识别主要过程包括图像采集、二值化分析、识别车牌区域、字符分割、字符匹配五过程。
![]() 系统框图
图像采集 图像通过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
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
小朋友,你是否有许多的问号❓