OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6573|回复: 3

【超值干货】揭秘车牌识别算法

[复制链接]

17

主题

23

帖子

1

精华

高级会员

Rank: 4

积分
614
金钱
614
注册时间
2016-1-16
在线时间
18 小时
发表于 2017-5-25 20:57:08 | 显示全部楼层 |阅读模式
本帖最后由 Kevin·Deng 于 2017-5-28 11:29 编辑

图像处理早已被广泛应用于机器视觉、深度学习等热门领域,奈何由于某些局限性,导致我们对于图像处理的相关算法知道得少之又少。


今天给大家分享的车牌识别案例,其实在我们生活中已经很常见了。各大停车场早就配备了这种车牌自动识别的设备。


车牌识别,其中基本上已经包含了图像处理中基本的常用算法。像边缘检测,腐蚀膨胀等。


所以,分享车牌识别中的相关算法,是可以帮助到我们对于这种数字图像处理的过程有一个比较全面的认识。

下面我将结合Matlab代码给大家进行讲解:


第一步:RGB转灰度


这一步,基本是大多数图像处理系统的必经之路。


对于Matlab来讲,RGB转灰度,可以直接调用rgb2gray函数,非常简单,如果要用FPGA进行RGB转灰度,该怎么处理呢?


哈哈,原理很简单。


Gray = R*0.299 + G*0.587 + B*0.114


不过,用FPGA实现起来还是要几句代码的。


第二步:边缘检测


边缘检测,使用的是sobel算法。


Sobel,是的,就是Sobel,就是我们即将推出的Sobel教程的这个Sobel。



上图是Sobel算子在X方向和Y方向两个分量的计算方法。



第三步:图像填充


对了,在图像填充之前还图像腐蚀这个操作,其实腐蚀和填充这两步的目的,就是扩大边缘检测的战果。


第四步:形态学滤波


形态学滤波这步的目的,是为了滤除掉不相干的图像,其实说白了就是去除噪声。


也就是只找到车牌的那个区域。


第五步:车牌提取


其实车牌提取这一步相对而言,要简单一些。在第四步中,相当于已经确定了车牌的大致区域,车牌提取就是在把车牌从这个区域拿出来。



第六步:字符分割与识别


车牌已经提取出来了,那剩下的肯定就是把整个车牌的汉字、字母一个一个的分割出来,分割出来后,与车牌的字符库进行比较,怎么比较呢?


比较提取出来的车牌字符与车牌字符库的两个特征值,进行配对。


这,就是车牌识别的整个流程了。


特别提醒#1


关注【开源骚客(微信号:OpenSOc)】公众号,,回复“车牌识别”,就可以马上获取该车牌识别案例的Matlab源代码。


特别提醒#2


开源骚客即将推出Sobel教程,带你走入FPGA图像处理的殿堂!!!


                               开源骚客,分享超值的FPGA干货              

             erweima.jpg



个人FPGA博客:http://dengkanwen.com  欢迎批评指导
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

107

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1313
金钱
1313
注册时间
2017-3-18
在线时间
306 小时
发表于 2017-6-1 16:50:50 | 显示全部楼层
这个仅限于微型电脑上操作,对于单片机而言算法太复杂,不适用。
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
37
金钱
37
注册时间
2015-12-27
在线时间
8 小时
发表于 2017-11-29 22:57:01 | 显示全部楼层
不错,谢谢分享
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2018-6-3
在线时间
3 小时
发表于 2018-6-3 09:46:21 | 显示全部楼层
蟹蟹分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-7-5 06:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表