MATLAB_9-模式识别笔记

资源链接:https://download.csdn.net/download/weixin_42859280/11216742

1,识别单独字符的:

思想:

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

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

MATLAB_9-模式识别笔记

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

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

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

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

MATLAB_9-模式识别笔记
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)

截图:

MATLAB_9-模式识别笔记

2,识别整体车牌的:

思想:

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

MATLAB_9-模式识别笔记

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

MATLAB_9-模式识别笔记

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

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

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

matlab中cell类型怎么使用

 x(1):

MATLAB_9-模式识别笔记

x{1}:

MATLAB_9-模式识别笔记

像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

截图:

MATLAB_9-模式识别笔记

OK!

上一篇:实现linux ls -l的功能(简易模仿 欢迎指正 粗糙勿喷)


下一篇:Appium-日志收集logging