matlab getsplitpic,MATLAB_9-模式识别笔记

1,识别单独字符的:

思想:

picsize=[20,10];创建一个矩阵,将两个照片整理成大小一致的。

具体就是使用后面的:a=imresize(a,picsize);

d2017ba19aabfa80aa0d91ff6ed060a3.png

fonts='ABCDEFGHNVJXSMQ';建立字符串用于匹配输出(就是识别的功能!)

下面一个for循环,依次匹配。

找到相似程度最大的下标(corr2(),就是用来匹配两个照片的相似程度的!)

[~,k]=max(rs):前面是记录相似的最大数值。后面是记录坐标的!

3d6801c1f0f14029fef199ca1573516c.png

fonts(k)输出字符串相应位置的数据!

代码:

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)

截图:

2a3495e26cbd37af5486685550baa740.png

2,识别整体车牌的:

思想:

先看看JPG和BMP的区别:【必须要转换为二值图!因为函数定义就是在二值图的基础上的!】

934fad97554bc4051ca4aa574484191a.png

x=getSplitPic(a);分割车牌的函数:(分割为7个部分!)

f1f9ad2ed6d4bbae9cacc9c9633c7c2a.png

a=x{m};与a=x(m)的区别:

一个是简要版本的,另外一个是详细一点的:是CELL类型。

要引用里面的数据只要在大括号里写上对应的下标即可,如:B{1}

x(1):

bf451cdd8f38327c02b0b4ea709aa028.png

x{1}:

77f6625f1d3258c56988d54b30ec4311.png

像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='所识别照片的车牌为:';

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

截图:

8ae7645da631addd80667cb704c210d1.png

OK!

标签:picsize,rs,模式识别,fonts,strcat,笔记,MATLAB,imread,imresize

来源: https://blog.csdn.net/weixin_42859280/article/details/90697182

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值