微信:HuangL1121
QQ号:1224848052
团队:MATLAB代做|MATLAB专业代做|硕士博士代写
地址:北京市-朝阳区-双柳北街18号院
当前位置:首页 > 图像语音 > MATLAB代做|基于SVM的车牌识别
项目案例
MATLAB代做|基于SVM的车牌识别
MATLAB代做|基于SVM的车牌识别
产品说明:

基于SVM的车牌识别,整个设计流程如下所示:

首先将输入的测试数据进行训练,得到一个训练结果,这里,我们通过支持向量机的方法进行训练。

然后将测试图像输入的训练结果的模型中进行测试分析。

以上是基于SVM向量机的训练和测试,除此之外,最为重要的是对车牌的提取,在进行训练和测试之前,我们需要对车牌进行提取,获得车牌中每个数据的分割后的图形信息,然后才能进行测试。

clc;
clear;
close all;
warning off;
%读取图片
I = rgb2gray(imread('IMAGE\6.jpg'));
figure;
imshow(I);

%首先提取车牌上的中文,字母以及数字
%首先提取车牌上的中文,字母以及数字
addpath 'func'
dw = func_position(I);%步骤一:进行车牌定位 
figure;
imshow(dw),title('定位剪切后的彩色车牌图像') 


[img1,img2,img3,img4,img5,img6,img7] = func_seg(dw);
figure;
subplot(241);imshow(img1);title('第1个字符');
subplot(242);imshow(img2);title('第2个字符');
subplot(243);imshow(img3);title('第3个字符');
subplot(244);imshow(img4);title('第4个字符');

subplot(245);imshow(img5);title('第5个字符');
subplot(246);imshow(img6);title('第6个字符');
subplot(247);imshow(img7);title('第7个字符');



%SVM训练
%SVM训练
model = func_svm_train();

model





%SVM测试识别
%SVM测试识别

img1s = imresize(img1,[140 70]);%将需要识别的数据变为和库图像一样的大小
inpt1 = func_p2s(img1s);

img2s = imresize(img2,[140 70]);
inpt2 = func_p2s(img2s);

img3s = imresize(img3,[140 70]);
inpt3 = func_p2s(img3s);

img4s = imresize(img4,[140 70]);
inpt4 = func_p2s(img4s);

img5s = imresize(img5,[140 70]);
inpt5 = func_p2s(img5s);

img6s = imresize(img6,[140 70]);
inpt6 = func_p2s(img6s);

img7s = imresize(img7,[140 70]);
inpt7 = func_p2s(img7s);

figure;
subplot(241);imshow(img1s);title('第1个字符');
subplot(242);imshow(img2s);title('第2个字符');
subplot(243);imshow(img3s);title('第3个字符');
subplot(244);imshow(img4s);title('第4个字符');

subplot(245);imshow(img5s);title('第5个字符');
subplot(246);imshow(img6s);title('第6个字符');
subplot(247);imshow(img7s);title('第7个字符');


predict_label1 = svmpredict(0, inpt1, model);
predict_label2 = svmpredict(0, inpt2, model);
predict_label3 = svmpredict(0, inpt3, model);
predict_label4 = svmpredict(0, inpt4, model);
predict_label5 = svmpredict(0, inpt5, model);
predict_label6 = svmpredict(0, inpt6, model);
predict_label7 = svmpredict(0, inpt7, model);
clc
%得到识别号码
data1 = func_check(predict_label1);
data2 = func_check(predict_label2);
data3 = func_check(predict_label3);
data4 = func_check(predict_label4);
data5 = func_check(predict_label5);
data6 = func_check(predict_label6);
data7 = func_check(predict_label7);

data  = [data1 data2 data3 data4 data5 data6 data7];

data

hs = msgbox(data);
ht = findobj(hs, 'Type', 'text');
set(ht, 'FontSize', 20, 'Unit', 'normal');




%由于识别的测试需要大量的数据进行测试,这里直接通过特征数据进行测试
%由于识别的测试需要大量的数据进行测试,这里直接通过特征数据进行测试
%由于识别的测试需要大量的数据进行测试,这里直接通过特征数据进行测试
load shibielv.mat
[r,c] = size(data); 
train = [1:100];
test  = [101:r];

train_data = data(train,:); 
test_data  = data(test,:); 
train_Ind  = label(train);  
test_Ind   = label(test);  

model                         = svmtrain(train_Ind, train_data, '-t 0 -c 1 -g 0.001');
[predict_label, tempaccuracy] = svmpredict(test_Ind, test_data, model);


上一篇:FPGA代做-电动车轮毂电机控制方法

版权所有: MATLAB代做|MATLAB专业代做|硕士博士代写 Copyright © 2018 All rights reserved.
微信:HuangL1121 QQ:1224848052
地址:北京市-朝阳区-双柳北街18号院

扫一扫,关注我们