本文地址:http://blog.csdn.net/shanglianlm/article/details/78005815

本文主要处理汽车车牌的识别过程,包括三个步骤,一:车牌区域检测,本文利用车牌的颜色和形状特征确认并获取汽车的车牌位置,二:字符分割,将获取到的汽车车牌按不同字符进行切割,三:车牌识别,最后利用神经网络对切割的字符进行识别达到最终的车牌识别。

一 车牌区域检测
1 首先读入我们要识别的车辆图片,灰度化后,我们使用robert算子对其进行边缘检测;如下图

代码如下:

file='2.jpg';
I=imread(file);
I1=rgb2gray(I);
I2=edge(I1,'roberts',0.08,'both');

2 接着我们对图像进行腐蚀,除去图像中一些不必要的信息,然后我们再对图像进行闭合操作使其区域平滑。


代码如下:

se=[1;1;1];
I3=imerode(I2,se);
se=strel('rectangle',[40,40]);%生成一个矩阵
I4=imclose(I3,se);  %闭运算

由此,我们根据图像的形状可以获取到这些信息。
3 这里我们主要处理小型汽车,即车牌规格为: 440×140 蓝底白字白框线,因此我们获取图像中的蓝色区域,同时腐蚀再闭合,与我们第二步中得到的图像求并,但是我们可以还留存一些小的无用区域,我们还需要对获得的图像进行过滤,去掉小的结构,即得到我们所要获取的车牌区域,如下图

代码如下:

I5=removeByColor(I4,I,'12');
I6=bwareaopen(I5,2000);

4 最终获得的车牌区域如下

代码如下:

[a,b]=find(I6>0);
I7 = I1(unique(a),unique(b));
I8 = I(unique(a),unique(b),:);

5 获取到的图像可能会有一定的倾斜,我们还需要对其校正,我们可以使用Radon transform在0-180度上找到图像可能最大的倾斜角度, 然后对图像校正,如上图。

其他代码如下:
获取颜色线索

 function im = removeByColor(image,I,removedColor)% image: 灰度图 x*y% I: 原始图像 x*y*3% removedColor:要移除的颜色 1 蓝色、2 黄色、3 白色、4 黑色 默认蓝黄 12if nargin < 3removedColor = '12';end%大型汽车 440×140 黄底黑字黑框线 %小型汽车 440×140 蓝底白字白框线diff_Y=0; diff_B=0;%获取蓝色Image_B=I;IR = Image_B(:,:,1);IG = Image_B(:,:,2);IB = Image_B(:,:,3);XYB=~((IB-IR)>diff_B&(IB-IG)>diff_B);  % 提取蓝色条件是B分量与G、R分量差值大于设定IR(XYB)=255; IG(XYB)=255; IB(XYB)=255;  % 使得非蓝色区域变为灰色Image_B(:,:,1)=IR; Image_B(:,:,2)=IG; Image_B(:,:,3)=IB;Image_B_gray=rgb2gray(Image_B);stre=[1;1;1];Image_B_erode=imerode(Image_B_gray,stre);stre=strel('rectangle',[20,20]);%生成一个矩阵Image_B_new=imclose(Image_B_erode,stre);  %闭运算thresh = graythresh(Image_B_new);     %自动确定二值化阈值bw_Image_B = im2bw(Image_B_new,thresh);       %对图像二值化im = (~bw_Image_B)&image;end

最后显示

figure(1),
subplot(3,3,1),imshow(I),title('原图');hold on;
subplot(3,3,2),imshow(I1),title('灰度图');hold on;
subplot(3,3,3),imshow(I2),title('robert算子边缘检测');hold on;
subplot(3,3,4),imshow(I3),title('腐蚀后图像');hold on;
subplot(3,3,5),imshow(I4),title('平滑图像的轮廓');hold on;
subplot(3,3,6),imshow(I5),title('加入颜色线索');hold on;
subplot(3,3,7),imshow(I6),title('从对象中移除小对象');hold on;
subplot(3,3,8),imshow(I7),title('车牌对象');hold on;
subplot(3,3,9),imshow(I8),title('获取到的车牌');hold on;

车牌识别算法实现及其代码实现之一:车牌区域检测相关推荐

  1. 【最强最全车牌识别算法】支持13种中文车牌识别的云端API部署(可直接获取源码使用)

    项目简介 在城市交通管理.视频监控.车辆识别和停车场管理中车辆检测与车牌识别是一项富有挑战而重要的任务.利用深度学习识别不同条件下的车辆及其车牌信息.更具体地说,实时目标检测网络(Yolov5)用于从 ...

  2. 基于模板匹配的车牌识别算法,输出数字和英文字母

    目录 一.理论基础 二.核心程序 三.仿真结论 一.理论基础 车牌识别是计算机视觉领域中的一个重要问题,其目的是从图像中自动识别出车辆的车牌信息.基于模板匹配的车牌识别算法是一种常见的方法,其基本思想 ...

  3. python车牌识别算法_python实现车牌识别的示例代码

    某天回家之时,听到有个朋友说起他正在做一个车牌识别的项目 于是对其定位车牌的位置算法颇有兴趣,今日有空得以研究,事实上车牌识别算是比较成熟的技术了, 这里我只是简单实现. 我的思路为: 对图片进行一些 ...

  4. 快准狠!Intel论文揭示自家车牌识别算法:LPRNet

    (关注52CV--有价值有深度的公众号~) 来自工业界的最佳实践. 车牌识别是一个老生常谈的话题,在工业界已经得到广泛应用.当深度学习在各种视觉识别任务上刷新更高精度的时候,却常常被认为计算量远大于传 ...

  5. 智能驾驶 车牌检测和识别(三)《CRNN和LPRNet实现车牌识别(含车牌识别数据集和训练代码)》

    智能驾驶 车牌检测和识别(三)<CRNN和LPRNet实现车牌识别(含车牌识别数据集和训练代码)> 目录 智能驾驶 车牌检测和识别(三)<CRNN和LPRNet实现车牌识别(含车牌识 ...

  6. 寻找连通域算法_【车牌识别算法】

    车牌识别技术要求能够将运动中的汽车牌照从复杂背景中提取并识别出来,通过车牌提取.图像预处理.特征提取.车牌字符识别等技术,识别车辆牌号.颜色等信息. 目前车牌识别技术主要分为端到端识别与车牌分割识别两 ...

  7. 车牌识别算法_PC端车牌识别SDK融入好算法

    PC端车牌识别SDK介绍 易泊PC端车牌识别SDK融合了车牌定位.车牌字符切分.车牌字符识别等算法,使该系统具有识别效率高.速度快.适应性强.使用方便等优势,技术处于国际先进水平.大力发展机器人.人工 ...

  8. 车牌识别算法介绍与实践(转)

    源: 车牌识别算法介绍与实践 转载于:https://www.cnblogs.com/LittleTiger/p/10101820.html

  9. otsu算法_【车牌识别算法】

    车牌识别技术要求能够将运动中的汽车牌照从复杂背景中提取并识别出来,通过车牌提取.图像预处理.特征提取.车牌字符识别等技术,识别车辆牌号.颜色等信息. 目前车牌识别技术主要分为端到端识别与车牌分割识别两 ...

最新文章

  1. 【WebAPI No.5】Core WebAPI中的自定义格式化
  2. asio 异步demo
  3. 大数据技术分享:hive内部常用函数都有哪些?
  4. 网络15软工个人作业5——软件工程总结
  5. 如何不用BPM配置时间
  6. 关键字this、new;apply、call、bind方法的用法
  7. UFT开发代码实例:将Excel中的数据保存为数组
  8. QProcess解决无交互输入密码问题
  9. android切图双数,浅谈网页设计切图规范
  10. 常见的弱口令字典1000~一石三鸟
  11. 平衡车gazebo仿真
  12. 对于圆桌理论和经典概率判断算法的分析(转)
  13. 金庸武侠、四大名著的语言风格
  14. 799 - 背包问题VIII - LintCode
  15. 自动将Excel数据录入网页/ERP/CRM
  16. DxO PhotoLab 4.2Crack,使用独特的DxO本地调整工具
  17. 简单句的扩展----成分角度扩展-----非谓语动词作定语,状语 和 同位语 插入语
  18. 【模板】ACM Conference的Latex论文模板与说明
  19. 死亡搁浅 服务器不稳定,[收集]死亡搁浅现有bug临时解决方案
  20. 分布式数据库系统面临的问题和挑战

热门文章

  1. oracle 11g r1 RAC增加新节点
  2. 人工神经网络算法的应用,神经网络是机器算法吗
  3. idea重装以后打不开,双击没有反应
  4. 眼图——概念与测量(摘记)
  5. [19保研]中国科学院上海高等研究院“梦筑高研” 2018年大学生暑假夏令营活动通知...
  6. python制作手机壁纸_用Python生成自己专属的手机春节壁纸
  7. ipad怎么和mac分屏_iPad如何进行分屏多任务操作【详细介绍】
  8. Spring学习第6篇: 基于注解使用IOC
  9. 监督学习、无监督学习、半监督学习、自监督学习的区别与联系
  10. 手把手教你搭建OA服务器