【matlab】车牌识别实现探讨

这个是去年完成一个课程大作业时利用课余时间完成的matlab车牌识别程序,虽然本科阶段也接触过《数字图像处理》这门课,但是当时的学习也停留在了比较浅的阶段,又一直对这个课题挺感兴趣的,于是提交题目时就报了车牌识别。

很早之前的东西了,相对于现在的智能算法以及计算机视觉相关方面的研究,肯定是不够看的,不过这样接触一下也是挺有意思的。

正文

什么背景了意义了就不多说了,网上一大堆,这里直接进入正题:

首先,当初一开始也没想从头开始,先在网上找了相关的资料,其中也参考了csdn上的以下资源:

以及一个开源的中文车牌识别系统 EasyPR,一开始的时候想尝试来着,车牌搜集资料时,用了接近两天的时间,尝试在64维WIN10以及Visual Studio 2019 –OpenCV 3.48环境下,调试前面第一个具有学习网络的中文车牌识别系统。

从配置OpenCV编程环境→用小程序测试→下载开源项目→学习手册→载入项目→配置参数→消错补缺→回溯OpenCV版本→配置调试→回溯VS版本→交叉变量调试→陷入调试死循环。其间不断查资料调bug,不断地尝试,最后还是放弃深入学习了。不过作者本身的意思路是没有问题的,在matlab上也可以实现准确率较高的测试。

基本步骤

大体上,车牌识别可以分为以下几个基本环节:

  1. 图像预处理
  2. 车牌初步定位
  3. 图像水平、垂直倾斜角度调整
  4. 字符分割及归一化
  5. 字符识别显示结果

具体内容

要是需要上面相关文字叙述的话,也可以在网上找到很多例子,这里直接讲我觉得还比较实用的算法思想,完整的代码会在最后给出。

1.准备工作

搜集整理了不同样式共50张车牌图片,统一编号存放待用:

在程序中实现手动选择测试样本,使得在程序运行后,能够主动打开窗口要求选取需要测试的图片,并且生成对应的展示窗口,具体的语句不再详细描述,原本的注释加上我后来学习时的看懂问题应该不大

%景象匹配与目标识别大作业程序
%2019年12月13日
%Jonny Su
%根据hsv色彩定位法定位车牌,将图像转为HSV模型,获取每个像素点的HSV值,判断是否为蓝色像素点,统计每行每列蓝色像素点的个数,从而获取车牌位置
%根据该位置对原始彩色图像进行剪裁,并进行二值化,滤波、去点处理,为字符分割做准备
%按顺序切割出7个字符,并保存为7张图片
%分别提取图片和模板进行比较,将比较结果最接近的确定为对应模板,并最终显示车牌识别结果
cd D:\AEEEE\Course\图像处理&景象匹配\大作业\program\景象匹配\测试图片	%转换到自己的路径下
% path(path,'测试图片')   %修改文件的搜索路径
[pictureName] = uigetfile('*.jpg', '请选择图片');    %手动选取,更直观
tic;            %开始计时
I=imread(pictureName);                      %读入车牌照片
A=isstrprop(pictureName,'digit');   %存储具有编号信息的位置
B=pictureName(A);   %提取编号信息
C=str2double(B);    %将编号转换为字符串
figure(1),imshow(I),title(['这是',num2str(C),'号样本的原图']);  %绘图,并且标注是几号测试对象

代码效果:
在这里插入图片描述

2.根据HSV色彩定位法定位车牌

将图像转为HSV模型,获

  • 3
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值