matlab getsplitpic,MATLAB_9-模式识别笔记
1,識(shí)別單獨(dú)字符的:
思想:
picsize=[20,10];創(chuàng)建一個(gè)矩陣,將兩個(gè)照片整理成大小一致的。
具體就是使用后面的:a=imresize(a,picsize);
fonts='ABCDEFGHNVJXSMQ';建立字符串用于匹配輸出(就是識(shí)別的功能!)
下面一個(gè)for循環(huán),依次匹配。
找到相似程度最大的下標(biāo)(corr2(),就是用來匹配兩個(gè)照片的相似程度的!)
[~,k]=max(rs):前面是記錄相似的最大數(shù)值。后面是記錄坐標(biāo)的!
fonts(k)輸出字符串相應(yīng)位置的數(shù)據(jù)!
代碼:
clc,clear,close all;
a=imread('n.bmp');
picsize=[20,10];
a=imresize(a,picsize);
fonts='ABCDEFGHNVJXSMQ';
for i=1:15
b=imread(strcat('pic\',int2str(i),'.bmp'));
b=imresize(b,picsize);
rs(i)=corr2(a,b);
end
[~,k]=max(rs)
fonts(k)
截圖:
2,識(shí)別整體車牌的:
思想:
先看看JPG和BMP的區(qū)別:【必須要轉(zhuǎn)換為二值圖!因?yàn)楹瘮?shù)定義就是在二值圖的基礎(chǔ)上的!】
x=getSplitPic(a);分割車牌的函數(shù):(分割為7個(gè)部分!)
a=x{m};與a=x(m)的區(qū)別:
一個(gè)是簡(jiǎn)要版本的,另外一個(gè)是詳細(xì)一點(diǎn)的:是CELL類型。
要引用里面的數(shù)據(jù)只要在大括號(hào)里寫上對(duì)應(yīng)的下標(biāo)即可,如:B{1}
x(1):
x{1}:
像strcat(),int2str().類比Python里面的字符拼接就行啦!
代碼:
clear,clc,close all;
% a=imread('car.jpg');
a=im2bw(imread('car.jpg'));
x=getSplitPic(a);
keys='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ京浙蘇豫遼陜魯';
picsize=[20,10];
result='所識(shí)別照片的車牌為:';
for m=1:size(x,2)
a=x{m};
a=imresize(a,picsize);
for i=1:43
b=imread(strcat('temp\',int2str(i),'.jpg'));
b=imresize(b,picsize);
rs(i)=corr2(a,b);
end
[~,k]=max(rs);
result=strcat(result,keys(k));
end
result
截圖:
OK!
標(biāo)簽:picsize,rs,模式識(shí)別,fonts,strcat,筆記,MATLAB,imread,imresize
來源: https://blog.csdn.net/weixin_42859280/article/details/90697182
總結(jié)
以上是生活随笔為你收集整理的matlab getsplitpic,MATLAB_9-模式识别笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杭州保俶塔实验机器人_【科教有闻】高照实
- 下一篇: datagrip将一个数据库中的数据_跨