MATLAB 车牌识别程序介绍 SVM、神经网络[毕业设计]
程序付费分享:
微信: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:numImagesimg = 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];
endtestFeatures = [];
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:10glcm = 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函数进行分类
MATLAB 车牌识别程序介绍 SVM、神经网络[毕业设计]相关推荐
- 基于matlab车牌识别程序,基于MATLAB车牌识别系统设计
基于MATLAB车牌识别系统设计(任务书,开题报告,毕业论文11200字) 摘要 社会的不断发展带动着经济也不断的增长,从而也提高了人们的生活水平.汽车的需求量也日渐增加,现代化交通管理的出现,解决了 ...
- matlab车牌识别程序视频,matlab 车牌识别 程序
%车牌识别 %[fn,pn,fi]=uigetfile('benchi.jpg','选择图片');%读入图片 %I=imread([pn fn]); close all; clc; I=imread( ...
- 文字识别如何行切割matlab,车牌识别程序里怎么调入切割函数
I=imread(['D:\360Downloads\A.jpg']); figure(1),imshow(I);title('原图'); I1=rgb2gray(I); %将真彩色图像转换为灰度 ...
- 车牌识别与计算机编程,基于MATLAB的车牌识别程序详解.ppt
基于MATLAB的车牌识别程序详解 自定义一个字符函数,用来从车牌区域中提取出7个字符,其中利用切割函数来进行切割. 程序:function [word,result]=getword(d) word ...
- matlab中caitu_tiqu,Matlab平台基于颜色的车牌识别程序
Matlab平台基于颜色的车牌识别程序 matlab 2020-11-18 下载地址 https://www.codedown123.com/51252.html Matlab平台基于颜色的车牌识别程 ...
- matlab中liccode函数,基于matlab车牌识别系统设计与实现(最终版)
<基于matlab车牌识别系统设计与实现.doc>由会员分享,可在线阅读全文,更多相关<基于matlab车牌识别系统设计与实现(最终版)>请在www.woc88.com上搜索. ...
- 车牌识别EasyPR(3)——SVM模型判断车牌
本文开始分析车牌定位模块后续步骤的车牌判断模块.车牌判断模块是EasyPR中的基于机器学习模型的一个模块,这个模型就是SVM(支持向量机). 我们已经知道,车牌定位模块的输出是一些候选车牌的图片.但如 ...
- matlab车牌识别课程设计,matlab车牌识别课程设计报告模板(附源代码).doc
您所在位置:网站首页 > 海量文档  > 计算机 > matlab matlab车牌识别课程设计报告模板(附源代码). ...
- 毕设题目:Matlab车牌识别
1 车牌识别系统设计与实现 车牌识别系统主要分为三部分:车牌图像预处理.特征提取以及基于BP神经网络对特征进行训练和分类,流程图如图1所示. 图1 车牌识别系统组成示意图 2 车牌图像预处理 车牌图像 ...
最新文章
- Django源码分析8:单元测试test命令浅析
- 怎么将两个list集合按照条件合成一个list
- opencv jni Android 实例笔记
- 实验计算机控制器的实验结论,计算机毕业论文控制器实验报告.doc
- Windows下Goland的环境搭建
- kernel笔记——库文件与系统调用
- 如何使用CineMatch的伪色指南功能来帮助评估图像
- 数据库添加表时设置表名为中文
- CS224n自然语言处理(四)——单词表示及预训练,transformer和BERT
- 又一面试题:一个猎人带着一只狼,一个女人带着两个小女孩,一个男人带着两个小男孩,他们要渡船过河。...
- java 节气_java计算某个日期是什么节气(24节气)
- 总结numpy中的ndarray,非常齐全
- HTML5 布局标签
- 精诚CRMPM系统应该要有哪些销售功能
- 股权转让这个创业方向靠谱吗?关于潜力股这个创业公司的一些思考
- 使用Three.js实现炫酷的赛博朋克风格3D数字地球大屏
- cvte面试查漏补缺
- 怎么用手机里的计算机玩游戏,黑鲨手机怎么玩电脑上游戏
- 如何用人工智能预测股票(完整答案)
- HMS Core 机器学习服务6.4.0版本更新啦,文本翻译功能增加10种小语种语言类型
热门文章
- 【计算机网络】网络层精选习题1(含联考真题)
- “中国儿童友好城市”倡议书发布 吁智慧城市以“儿童为本”
- 在deepin上使用邮箱(网易yeah账号+deepin软件Balsa)
- MPU6050加速度传感器学习笔记之传感器
- Latex固定表格图片位置
- Vue-创建组件时报错:Component names should conform to valid custom element name in html5 specification.
- BeamSearch(集束算法)
- Android build.gradle配置详解
- 网易的315页面碉堡了,速围观
- 硬件设计2---什么是电阻?