首页 > 其他 > 详细

基于MATLAB的手写公式识别

时间:2021-03-28 17:41:02      阅读:16      评论:0      收藏:0      [点我收藏+]

基于MATLAB的手写公式识别

  • 图像的预处理(除去噪声、得到后续定位分割所需的信息。)

预处理其本质就是去除不需要的噪声信息,得到后续定位分割所需要的图像信息。图像信息在采集的过程中由于天气环境的影响、车牌本身的污损[13]等影响,获取的图像往往对比度和清晰度不是很理想,同时不利于后续的对车牌进行定位与分割,甚至可以影响到最后的实验结果。因此图像的预处理过程在前期图像处理方面就显得尤为必要。本课题中需要对采集后得到的图像首先进行灰度化,再对灰度图像进行拉伸处理,使得图像中的灰度分布变得均匀,从而有利于寻找边界,最后图像进行了滤波处理,滤除了背景中的一些噪声干扰。

[X,map] = imread(‘num.bmp‘);
newmap = rgb2gray(map);
figure,imshow(X,map); %显示原图像
figure,imshow(X,newmap); %显示转换后的灰度图像

I = histeq(map);%增强对比度
figure,imshow(X,I);

H=imread(‘num.bmp‘);%调整灰度图像的灰度
figure,
imshow(uint8(H));

close(1:3);%有点乱了 J = imnoise(H,‘salt & pepper‘,0.02);%添加椒盐噪点 K = medfilt2(J);%使用中位数滤波器滤除该噪声 imshowpair(J,K,‘montage‘)%并排显示

% 通过这里的操作可见把图像处理的很到位,干净多了

 

  • 边缘检测(采用Roberts边缘检测技术)

通过比较可以看出 Roberts 算子通过计算局部差分等数学运算定位边缘,虽然准确率高,但往往提取的边缘信息不完整。该算子的算法中没有平滑处理的过程,因此容易受到噪声的干扰,故适合处理噪声低的图像,且对具有陡峭边缘的图像灵敏度比较大,定位的效果要更好。

%寻找图像边缘
L = edge(K,‘Roberts‘);
figure,imshow(L);

 

  • 腐蚀(没有用结构原始disk15\20用的较为普通

可以不腐蚀(假定图形规范,但是后期会对复杂情况作二次处理)

%腐蚀 imerode(erode=腐蚀、侵蚀),比较可知在所有的复式结构中A2最优
subplot(221),imshow(L);
title(‘腐蚀原始图像‘);

%strel函数的功能是运用各种形状和大小构造结构元素

se1=strel(‘disk‘,5);%这里是创建一个半径为5的平坦型圆盘结构元素
A2=imerode(L,se1);
subplot(222),imshow(A2);

title(‘使用结构原始disk(5)腐蚀后的图像‘);
se2=strel(‘disk‘,10);
A3=imerode(L,se2);
subplot(223),imshow(A3);

title(‘使用结构原始disk(10)腐蚀后的图像‘);
se3=strel(‘disk‘,20);
A4=imerode(L,se3);
subplot(224),imshow(A4);
title(‘使用结构原始disk(20)腐蚀后的图像‘);

截止到目前,所有的处理在一定程度上是有效的,但是仅限于规范的图形,手写体无法实现。2021-03-2816:11:00

基于MATLAB的手写公式识别

原文:https://www.cnblogs.com/wzh2001/p/14588981.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!