MATLAB 车牌识别程序介绍 SVM、神经网络[毕业设计]

29 篇文章 11 订阅
订阅专栏

程序付费分享:

微信:1075933062

这个文章介绍使用matlab 识别车牌内的信息:

识别的步骤如下:

1、导入图片

2、定位到车牌矩形框的位置

3、进行畸形矫正

4、字符分割

5、生成字符库

6、SVM训练

7、基于SVM 车牌识别系统 的设计

由于需要进行SVM训练 所以需要建立一个对应的车牌字符库

下面建立一个生成字符库的APP ,来生成对应的库

然后会生成一个下面这样的字符库最后可以通过SVM 训练

关于SVM 的训练可以参考这篇博客
基于MATLAB,使用SVM和ANN实现车牌识别_weixin_42864037的博客-CSDN博客_matlab svm车牌识别

由于该程序的图片是灰度的所以需要对函数进行相应的更改 然后就可以进行训练了:

提取图片特征函数:

function [trainingFeatures,trainingLabels,testFeatures,testLabels]=extractFeature(trainingSet,testSet)
%% 确定特征向量尺寸
img = read(trainingSet(1),1);
%转化为灰度图像
% img=im2gray(img);
% %转化为2值图像
% lvl = graythresh(img);
% img = im2bw(img, lvl);
img=imresize(img,[256 256]);
cellSize = [4 4];
[hog_feature, vis_hog] = extractHOGFeatures(img,'CellSize',cellSize);
glcm_feature = getGLCMFeatures(img);
SizeOfFeature = length(hog_feature)+ length(glcm_feature);

trainingFeatures = [];
trainingLabels   = [];
for digit = 1:numel(trainingSet)       
    numImages = trainingSet(digit).Count;
    features  = zeros(numImages, SizeOfFeature, 'single');%初始化特征向量
    % 遍历每张图片
    for i = 1:numImages
        img = read(trainingSet(digit), i);% 取出第i张图片        
%         img=rgb2gray(img);                % 转化为灰度图像
%         glcm_feature = getGLCMFeatures(img);  % 提取GLCM特征       
%         lvl = graythresh(img);            % 阈值化
%         img = im2bw(img, lvl);            % 转化为2值图像
        img=imresize(img,[256 256]);
        % 提取HOG特征
        [hog_feature, vis_hog] = extractHOGFeatures(img,'CellSize',cellSize);       
        % 合并两个特征
        features(i, :) = [hog_feature glcm_feature];
    end
    % 使用图像描述作为训练标签
    labels = repmat(trainingSet(digit).Description, numImages, 1);  
    % 逐个添加每张训练图片的特征和标签
    trainingFeatures = [trainingFeatures; features];
    trainingLabels   = [trainingLabels; labels];       
end

testFeatures = [];
testLabels   = [];
for digit = 1:numel(testSet)           
    numImages = testSet(digit).Count;    %初始化特征向量
    features  = zeros(numImages, SizeOfFeature, 'single');    
    for i = 1:numImages        
        img = read(testSet(digit), i);        %转化为灰度图像
%         img=rgb2gray(img);
%         glcm_feature = getGLCMFeatures(img);        %转化为2值图像
%         lvl = graythresh(img);
%         img = im2bw(img, lvl);
        img=imresize(img,[256 256]);
        [hog_4x4, vis4x4] = extractHOGFeatures(img,'CellSize',cellSize);
        features(i, :) = [hog_4x4 glcm_feature];
    end    
    % 使用图像描述作为训练标签
    labels = repmat(testSet(digit).Description, numImages, 1);    
    testFeatures = [testFeatures; features];
    testLabels=[testLabels; labels];
        
end
end
function [features] = getGLCMFeatures(image)
features_all  = [];
for i = 1:10
    glcm = graycomatrix(image, 'Offset', [0,i]);
    stats = graycoprops(glcm);
    
    glcm45 = graycomatrix(image, 'Offset', [-i,i]);
    stats45 = graycoprops(glcm45);
    
    glcm90 = graycomatrix(image, 'Offset', [-i,0]);
    stats90 = graycoprops(glcm90);
    
    glcm135 = graycomatrix(image, 'Offset', [-i,-i]);
    stats135 = graycoprops(glcm135);
    
    stats7x4 = [stats.Contrast stats.Correlation stats.Energy stats.Homogeneity;
        stats45.Contrast stats45.Correlation stats45.Energy stats45.Homogeneity;
        stats90.Contrast stats90.Correlation stats90.Energy stats90.Homogeneity;
        stats135.Contrast stats135.Correlation stats135.Energy stats135.Homogeneity];
    features_all = [features_all mean(stats7x4,1) std(stats7x4,0,1)];
end
features = features_all;

clear;
dir=('\DataWork\车牌识别SVM\GUI\train');
testdir=('\DataWork\车牌识别SVM\GUI\train');
trainingSet = imageSet(dir,'recursive');
testSet = imageSet(testdir,'recursive');

[trainingFeatures,trainingLabels,testFeatures,testLabels]=extractFeature(trainingSet,testSet);

classifier = fitcecoc(trainingFeatures, trainingLabels);
save classifier.mat classifier -v7.3;
predictedLabels = predict(classifier, testFeatures);

confMat=confusionmat(testLabels, predictedLabels)
accuracy=(confMat(1,1)/sum(confMat(1,:))+confMat(2,2)/sum(confMat(2,:)))/2
          
load classifier.mat;     % 加载训练好的SVM模型            
             
img=imread("img034-00026.png");                
glcm_feature = getGLCMFeatures(img);     %提取GLCM特征                
% lvl = graythresh(img);                
% img = im2bw(img, lvl);                
img=imresize(img,[256 256]);                
[hog_4x4, ~] = extractHOGFeatures(img,'CellSize',[4 4]);      %提取HOG特征                
testFeature = [hog_4x4 glcm_feature];       %合并特征                                
predictedLabel = predict(classifier, testFeature) %使用predict函数进行分类                
                

基于SVM车牌识别.rar
09-19
使用OpenCV的SVM分类器进行车牌的识别
基于SVM支持向量机的车牌分割识别算法matlab仿真
FPGA/MATLAB学习教程/源码/项目合作开发
10-23 2057
车牌识别系统集合了先进的光电、计算机视觉、信号处理、图像处理、模式识别、人工智能、远程数据访问等技术,实现对监控路面过往的每一辆机动车的特征图像和车辆全景图像进行连续全天候实时记录,利用图像处理的分析方法,提取出车牌区域,进而对车牌区域进行字符分割和识别。目前已有不同级别的城市建立了车牌识别平台,为高速公路引进了智能化的技术。以上是基于SVM向量机的训练和测试,除此之外,最为重要的是对车牌的提取,在进行训练和测试之前,我们需要对车牌进行提取,获得车牌中每个数据的分割后的图形信息,然后才能进行测试。
基于opencv的SVM算法的车牌识别系统设计与实现
lhyandlwl的博客
03-31 947
识别技术是智能交通系统中的一项关键技术,它能够自动识别车辆的车牌号码。本文将详细介绍如何使用Python编程语言结合OpenCV库和SVM算法来实现车牌识别系统。
graycomatrix matlab,GLCM纹理特征
weixin_36425412的博客
03-18 399
GLCM texture featuresThe GLCMs are stored in a i x j x n matrix, where n is the number of GLCMs calculated usually due to the different orientation and displacements used in the algorithm. Usually the...
【图像识别】基于PCA+SVM 表情识别评分系统matlab代码
m0_60703264的博客
11-21 609
PCA(主成分分析)与SVM(支持向量机)技术对于人脸识别而言非常重要,文章结合PCA与SVM来设计一个人脸识别系统.在MATLAB编译环境下,分别探讨PCA技术与SVM技术,总结出一种快速PCA算法以及SVM的测试与训练算法;从orl_faces人脸库中选取训练数据与测试数据进行训练与测试,对其中重要的参数进行调优,最终达到90%的识别成功率.再经真实人脸的训练与测试,达到了73%的真实人脸识别成功率.​。
基于MATLAB,使用SVM和ANN实现车牌识别
weixin_42864037的博客
10-10 3139
这里写自定义目录标题WHYHOW一、输入图像功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 WHY 本着对计算机图像识...
基于卷积神经网络SVM分类器的汽车识别-matlab
m0_68894275的博客
07-27 1170
程序提取车辆的特征值由上顶长、下顶长、高等参数组成,利用卷积神经网络的自组织、自主学习等特性,构造一种适当的神经网络,通过训练卷积神经网络,达到能识别一般的车型如轿车、货车、客车的目的,并达到能区分小、中、大三种型号车辆、构造完整的车型识别系统的目标。...
基于Matlab实现手写字体识别(附上源码和数据 )
m0_62143653的博客
06-26 6315
基于Matlab实现手写字体识别(附上源码和数据 )
基于SVM支持向量机的车牌分割识别算法matlab仿真——详细版
FPGA/MATLAB学习教程/源码/项目合作开发
10-23 2413
车辆牌照作为车辆的外在唯一身份标识是智能交通系统中大量信息的来源和直接处理对象,从而使得车牌识别系统的研究成为智能交通系统的核心。以上是基于SVM向量机的训练和测试,除此之外,最为重要的是对车牌的提取,在进行训练和测试之前,我们需要对车牌进行提取,获得车牌中每个数据的分割后的图形信息,然后才能进行测试。图像的边缘信息一般都是高频信息,所以在水平、垂直方向上对车牌图像进行小波变换,对其高频信息进行重构,获得相应的高频信息方面的子图,在车牌垂直投影图像中找到每个车牌字符的边界所在位置,并记下边界位置的横坐标;
基于人工神经网络的汽车牌照识别MATLAB实现
11-25
基于人工神经网络的汽车牌照识别MATLAB实现,建立了训练集,有一定的应用价值。
通信干扰生成与识别 Matlab程序 二叉树 SVM 神经网络
最新发布
04-09
基于Matlab实现的通信干扰生成识别程序,包含多种干扰样式生成,多种参数比较,二叉树 SVM 神经网络 3种识别方式对应程序
matlab程序SVM车牌识别
03-04
matlab程序SVM车牌识别
基于SVM与人工神经网络车牌识别OpenCV&C++实现
04-28
基于SVM与人工神经网络车牌识别算法,使用了OpenCV的图像处理函数,在VS2013 + OpenCV 2.4.9平台上实现
基于SVM与人工神经网络车牌识别C++实现
04-26
基于SVM与人工神经网络车牌识别算法,使用了OpenCV的图像处理函数,在VS2013平台上实现 基于SVM与人工神经网络车牌识别算法,使用了OpenCV的图像处理函数,在VS2013平台上实现
MATLAB源码集锦-基于SVM神经网络的葡萄酒种类识别代码
02-16
MATLAB源码集锦-基于SVM神经网络的葡萄酒种类识别代码
【交通标志识别】基于hog特征支持向量机实现交通标志识别matlab代码
matlab_dingdang的博客
03-14 1481
1 简介 本文针对多种不同的交通标识给出了一种基于SVM识别方法.该方法首先在分析训练集交通标识图片特点的基础上,提取它们的HOG特征向量并形成矩阵形式;然后提取测试集交通标识的HOG特征向量,最后对测试集利用SVM根据HOG特征对图像进行识别;仿真结果验证了算法的有效性. 1.1HOG特征的SVM分类原理 本文的交通标志识别分类算法主要包括训练和测试两个过程。首先,根据要分类的交通标识,建立训练图像集合,然后对训练图像集合的HOG特征进行提取。接着使用SVM对提取到训练图像的HOG特征做训练,构成.
车牌识别】基于HOG特征提取和GRNN网络的车牌识别算法matlab仿真
FPGA/MATLAB学习教程/源码/项目合作开发
07-07 4780
从图的算法流程图可知,基于车牌图像字符特征提取和神经网络识别算法其首先将训练样本数据进行预处理,得到质量较高的样本数据,然后对这些样本数据进行HOG特征提取,再将特征数据通过神经网络进行训练学习最后得到基于神经网络车牌识别模块。然后采集一些常规的测试样本图片,同样,对这些样本进行预处理操作,然后通过颜色模型对车牌进行定位和提取,然后将提取后的车牌进行字符分割,然后分别对分割后的多个字符进行HOG特征提取,最后输入到神经网络模型中进行识别,并得到识别输出结果。下面通过M...
2021-06-04
lwgogeta的博客
06-04 1124
2 基础技术 2.1 支持向量机 支持向量机(support vector machine,SVM)是一种基于统计学习理论的模式识别方法,主要应用于模式识别领域。支持向量机的基本思想是在样本空间或特征空间构造出最优超平面,使得超平面与不同样本集之间的距离最大,从而达到最大泛化能力[1]。它的提出主要是用来解决两类分类的问题,在两类中寻找一个最优超分平面将两类分开,来提高分类的正确率。 分类问题主要包括两方面:一个是线性可分,一个是非线性可分。能使两类正确分开且使两类之间的距离最大的分类平面称为..
matlab车牌识别系统设计
05-15
Matlab车牌识别系统设计一般可以分为以下几个步骤: 1. 车牌定位:使用图像处理技术实现车牌定位,通常包括颜色分割、形态学操作、轮廓检测等。 2. 车牌字符分割:将车牌中的字符分割出来,通常可以使用投影法或...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • python numpy中的复制(copy) 42211
  • MATLAB中clc命令详解 26897
  • MATLAB 中ans变量详细介绍 16332
  • Python如何创建函数 10609
  • MATLAB中diary日志 10502

分类专栏

  • C#学习 18篇
  • Simulink 4篇
  • 控件模板 1篇
  • MATLAB 29篇
  • Python 9篇

最新评论

  • C# 中take() 和 skip()的使用方式

    FGXWHBTB: 结果错了

  • 基于matlab停车位识别

    呐呐呐嘞: 可以分享源程序嘛?

  • C# 中take() 和 skip()的使用方式

    c1315226327: take(length),这个length是指长度吧

  • Matlab如何安装并使用Robotics 机器人工具箱

    喬亮: 求解决?

  • 基于matlab停车位识别

    m0_62406346: 请问博主可以分享一下matlab源码么

大家在看

  • OSPF学习笔记(状态机) 80
  • AI大模型时代,个人也能很疯狂的成为AI工程师吗? 1491
  • 30岁以上不配转行?大龄转AI模型,还来得及吗? 450
  • VB6 MQTT为什么在物联网应用中使用 MQTT 而不是 HTTP? 536
  • Stable Diffusion如何Mac电脑本地部署教程 960

最新文章

  • C# datagridView 控件使用心得
  • C# 中take() 和 skip()的使用方式
  • EntherNet IP通讯学习
2023年11篇
2022年21篇
2021年22篇
2019年14篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司汕头关键词按天收费推荐三明网站seo优化木棉湾百度关键词包年推广价格楚雄网站搭建哪家好阳江百度竞价包年推广报价南京seo排名价格忻州SEO按天收费推荐苏州网站优化排名衡阳模板推广多少钱晋城网站改版多少钱焦作设计网站报价哈尔滨网络推广多少钱许昌百姓网标王推广报价常德网站建设公司湘潭seo网站优化哪家好广安建站多少钱哈密关键词按天计费报价合肥网站改版多少钱梧州企业网站制作报价南联网站排名优化多少钱韶关百姓网标王价格大连网站关键词优化多少钱南通营销网站楚雄网站推广工具哪家好营口百姓网标王推广价格西宁SEO按天计费推荐嘉兴网站优化软件哪家好平顶山网站优化按天计费哪家好盐城网站建设报价汉中网站推广方案多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化