【车牌识别】基于模板匹配实现车牌识别含Matlab源码

简介: 【车牌识别】基于模板匹配实现车牌识别含Matlab源码

1 简介

车牌识别系统是计算机视觉与模式识别技术在智能交通里的重要研究课题之一.其功能是将运动中的汽车牌照从复杂背景中提取出来,并识别出车牌号码.车牌识别技术广泛应用于高速公路上的电子收费,日常的停车场管理以及交通违章监控等场景.它的出现对于维护交通安全和日常治安,防止交通拥塞,实现交通管理自动化有着很现实的意义.车牌识别技术一般由车牌定位,定位图像中的车牌位置;牌照字符分割,把车牌中的每个字符分割出来;字符识别,对分割出来的字符进行识别,最终给出识别结果组成.本文在研究了一系列车牌识别的算法的基础上,通过彩色图像灰度化,再进行边缘检测,形态学的膨胀腐蚀操作成功实现对背景的过滤,并通过水平和垂直投影法实现了对车牌的定位;在字符分割的实现上,本文通过先对车牌区域的彩色图像进行灰度化以及阀值处理,将图像转换为黑白图像,再进行中值滤波,最终结合字符水平和垂直投影的特性,成功完成对车牌字符的分割;在字符识别方面,首先将字符归一化,然后和建立好的模板字符库进行逐一比对,通过找差值绝对值的最小值来实现字符的匹配.本文的算法在MATLAB上进行了仿真和测试,可以较好的识别出车牌号码.

2 部分代码

function [ word, result ] = getword( img )%UNTITLED 此处显示有关此函数的摘要%   此处显示详细说明    word = [];    flag = 0;    y1 = 8;    y2 = 0.5;        while flag == 0        [m, n] = size(img);        width = 0;        while sum(img(:, width+1)) ~= 0 && width <= n-2            width = width + 1;        end        temp = my_imsplit(imcrop(img, [1,1,width,m]));        [m1, n1] = size(temp);        if width < y1 && n1/m1>y2            img(:, [1, width]) = 0;            if sum(sum(img)) ~= 0                img = my_imsplit(img);            else                word = [];                flag = 1;            end        else            word = my_imsplit(imcrop(img, [1, 1, width, m]));            img(:, [1: width]) = 0;            if sum(sum(img)) ~= 0                img = my_imsplit(img);                flag = 1;            else                img = [];            end           end    end    result = img;end% function [word,result]=getword(d)% word=[];flag=0;y1=8;y2=0.5;%     while flag==0%         [m,n]=size(d);%         wide=0;%         while sum(d(:,wide+1))~=0 && wide<=n-2%             wide=wide+1;%         end%         temp=my_imsplit(imcrop(d,[1 1 wide m]));%         [m1,n1]=size(temp);%         if wide<y1 && n1/m1>y2%             d(:,[1:wide])=0;%             if sum(sum(d))~=0%                 d=qiege(d);  % 切割出最小范围%             else word=[];flag=1;%             end%         else%             word=my_imsplit(imcrop(d,[1 1 wide m]));%             d(:,[1:wide])=0;%             if sum(sum(d))~=0;%                 d=my_imsplit(d);flag=1;%             else d=[];%             end%         end%     end% %end%           result=d;

3 仿真结果

4 参考文献

[1]尹肖波. 基于MATLAB实现的车牌识别系统[D]. 浙江工业大学.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


相关文章
|
7月前
|
机器学习/深度学习 传感器 存储
【车牌识别】基于模板匹配的汽车停车场出入库Matlab实现
【车牌识别】基于模板匹配的汽车停车场出入库Matlab实现
|
7月前
|
机器学习/深度学习 传感器 算法
【特征提取】语音信号端点检测+倒谱法+自相关法特征提取附Matlab源码
【特征提取】语音信号端点检测+倒谱法+自相关法特征提取附Matlab源码
|
19天前
|
存储 人工智能 机器人
【Matlab】Matlab 汉/英语(A/a)声学特征比较与基音频率分析(源码+音频文件)【独一无二】
【Matlab】Matlab 汉/英语(A/a)声学特征比较与基音频率分析(源码+音频文件)【独一无二】
|
7月前
|
算法 计算机视觉
基于方向编码的模板匹配算法matlab仿真
基于方向编码的模板匹配算法matlab仿真
|
7月前
|
机器学习/深度学习 传感器 算法
【SVM分类】基于布谷鸟算法优化实现SVM数据分类matlab源码
【SVM分类】基于布谷鸟算法优化实现SVM数据分类matlab源码
|
8月前
|
机器学习/深度学习 传感器 算法
【图像去噪】基于自适应小波阈值算法实现图像去噪附matlab源码
【图像去噪】基于自适应小波阈值算法实现图像去噪附matlab源码
|
7月前
|
机器学习/深度学习 传感器 算法
【语音处理】语音信号特技处理(延时、混响、滤波)附Matlab源码
【语音处理】语音信号特技处理(延时、混响、滤波)附Matlab源码
|
8月前
|
机器学习/深度学习 传感器 算法
【DBN时序预测】基于深度置信网络DBN实现风速预测附Matlab源码
【DBN时序预测】基于深度置信网络DBN实现风速预测附Matlab源码
|
3月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
3月前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)

热门文章

最新文章