【汉字识别】基于模板匹配实现汉字精准识别附Matlab代码

简介: 【汉字识别】基于模板匹配实现汉字精准识别附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

为实现对集装箱箱号的正确识别,提出一种基于模板匹配和特征匹配的识别算法.对采集到的汉字图像进行预处理,得到改善后的汉字二值化图像;采用数学形态学操作使字符域连通,计算字符连通域的宽高比得到汉字区域;利用投影检测方法实现对汉字字符的分割;运用模板匹配算法与特征匹配算法相结合的分类方法对汉字字符进行识别.该算法用MATLAB进行编程,完成对汉字的自动定位、分割和识别.

⛄ 部分代码

function [PY2,PY1,PX2,PX1]=chepai_fenge(I5)

[y,x,z]=size(I5);

myI=double(I5);

%begin横向扫描

tic

Y_threshlow=5; %这个数值很重要。决定了提取的彩图的质量

X_firrectify=5;

%=== Y 方向===从左向右寻找第一个1值像素大于5的坐标为水平方向左侧分界线,从优向左寻找到第一个1值像素量大于5的为右侧分界线

Blue_y=zeros(y,1);

for i=1:y

   for j=1:x

       if(myI(i,j,1)==1)%如果myI(i,j,1)即myI图像中坐标为(i,j)的点为白色

        %则Blue_y的相应行的元素white_y(i,1)值加1

          Blue_y(i,1)= Blue_y(i,1)+1;     % 蓝色象素点统计                    

       end  

   end      

end

       [temp MaxY]=max(Blue_y);% Y方向车牌区域确定 temp(最多点数):所有行中,最多的累积像素点 MaxY(最多点所在行):该行中蓝点最多

        PY1=MaxY;%有最多蓝点的行付给PY1

       while ((Blue_y(PY1,1)>=Y_threshlow)&&(PY1>1))%找到图片上边界

           PY1=PY1-1;

       end

     

       %PY1:存储车牌上边界值

       PY2=MaxY;

       while ((Blue_y(PY2,1)>=Y_threshlow)&&(PY2<y))%阈值为5

            PY2=PY2+1;

       end

      PY1, PY2 %原始图像I中截取的纵坐标在PY1:PY2之间的部分

  % figure(1),imshow(Blue_y),title('y方向确定');

   pause(2);

   %==============X 方向===============================

       X_threshhigh=(PY2-PY1)/11;%这个数值很重要。决定了提取的彩图的质量,适当提高可抗干扰,但是小图会照成剪裁太多

       Blue_x=zeros(1,x);             % 进一步确定X方向的车牌区域

       for j=1:x

           for i=PY1:PY2

               if(myI(i,j,1)==1)

                Blue_x(1,j)= Blue_x(1,j)+1;              

               end  

           end      

       end

       [temp MaxX]=max(Blue_x);

       PX1=MaxX-6*(PY2-PY1);

       if  PX1<=1

           PX1=1;

       end

       while ((Blue_x(1,PX1)<=X_threshhigh)&&(PX1<x))%阈值

             PX1=PX1+1;

       end               %确定出X方向车牌起点  

       PX2=MaxX+6*(PY2-PY1);

       if  PX2>=x

           PX2=x;

       end

       while ((Blue_x(1,PX2)<=X_threshhigh)&&(PX2>PX1))%阈值

              PX2=PX2-1;

       end            %确定出X方向车牌终点

       PX1 ,PX2

   % figure(2),imshow(Blue_x),title('X方向确定');    

⛄ 运行结果

⛄ 参考文献

[1]谷秋頔, 白艳萍. 基于模板匹配的车牌汉字识别方法及判别函数[J]. 电子科技, 2011, 24(12):3.

[2]陈超, 牛王强, 杜芃. 基于模板匹配和特征匹配的集装箱箱号识别算法[J]. 上海海事大学学报, 2019, 040(001):65-70.

❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除


相关文章
|
1月前
|
算法
【MATLAB】语音信号识别与处理:滑动平均滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:滑动平均滤波算法去噪及谱相减算法呈现频谱
45 0
|
1月前
|
算法
【MATLAB】语音信号识别与处理:T1小波滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:T1小波滤波算法去噪及谱相减算法呈现频谱
31 0
|
1月前
|
算法
【MATLAB】语音信号识别与处理:SG滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:SG滤波算法去噪及谱相减算法呈现频谱
48 1
|
1月前
|
算法
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:移动中位数滤波算法去噪及谱相减算法呈现频谱
23 2
|
1月前
|
算法
【MATLAB】语音信号识别与处理:卷积滑动平均滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:卷积滑动平均滤波算法去噪及谱相减算法呈现频谱
33 0
|
1月前
|
算法
【MATLAB】语音信号识别与处理:一维信号NLM非局部均值滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:一维信号NLM非局部均值滤波算法去噪及谱相减算法呈现频谱
40 1
|
1月前
|
算法
【MATLAB】语音信号识别与处理:高斯加权移动平均滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:高斯加权移动平均滤波算法去噪及谱相减算法呈现频谱
95 0
|
19天前
|
存储 人工智能 机器人
【Matlab】Matlab电话拨号音合成与识别(代码+论文)【独一无二】
【Matlab】Matlab电话拨号音合成与识别(代码+论文)【独一无二】
|
1月前
|
机器学习/深度学习 算法 生物认证
基于深度学习的人员指纹身份识别算法matlab仿真
这是一个关于使用深度学习进行指纹识别的算法概述。在matlab2022a环境下,通过预处理指纹图像(灰度化、二值化等)并利用卷积神经网络(CNN)提取特征。CNN架构包含卷积、池化、归一化和全连接层。特征向量通过余弦相似度计算匹配,训练时采用triplet loss优化。部分核心代码展示了加载预训练模型进行测试集分类预测并计算准确率的过程。
|
1月前
|
算法
【MATLAB】语音信号识别与处理:小波去噪滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:小波去噪滤波算法去噪及谱相减算法呈现频谱
37 1

热门文章

最新文章