DAY 2

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

DAY 2

尼各马可伦理学   2021-05-02 我要评论

09:48:25

从一个无知角落里开始,蹒跚学步,一个未知到另一个未知,在跌跌撞撞中越走越快,越走越远,最后宇宙也为之开源。对于探索者来说,最后他们的思想总是变得和自己的足迹一样伟大。

 该项目目前可以实现

  • 图像的预处理包括:灰度化,二值化(公式假设是良好的数学公式截屏图片)
  • 图像的最小外接矩求解;
  • 图像的切割(part)

2021-05-02 20:24:30

  Cut_Imageju:实现最小外接矩

%%实现最小外接矩的函数Cut_Imageju
%column的意思是按列来排列,为行向量
%row的意思是按行来排列,为列向量
%0黑1白,字符以黑色为显示
%寻找第一个字母长度,先分割出来全部字符,之后在对分割的这些部分进行宽度处理,要不处理不了;
function Img_out=Cut_Imageju(Img_in)
[m,n]=size(Img_in);% x是行数,y是列数
column=sum(Img_in);
%寻找左边界
left=1;
num1=max(column);
for i = 1 :n
	if column(i)~=num1
		left=i;
		break
end
end
%寻找右边界
right=n;
for i = n :-1:1
	if column(i)~=num1
		right=i;
		break
end
end
row=sum(Img_in,2);
num2=max(row);
%寻找上边界
up=1;
for j = 1 :m
	if row(j)~=num2
		up=j;
		break
end
end
%寻找下边界
down=m;
for j = m:-1:1
	if row(j)~=num2
		down=j;
		break
end
end
%裁剪图像
Img_out=Img_in(up:down,left:right);
end

  

Cut_Imageqie:切割字符,并且获得切割后的源量
%切分字符的函数Cut_Imageqie
%只按列切割,切成一列列
%column的意思是按列来排列,为行向量
%row的意思是按行来排列,为列向量
%0黑1白,字符以黑色为显示
%寻找第一个字母长度,先分割出来全部字符,之后在对分割的这些部分进行宽度处理,要不处理不了;
%切分字符的函数Cut_Imageqie
%只按列切割,切成一列列
%%[Img_out1,Img_out2]分别代表切割下的图像和切割后的原图像
function [Img_out1,Img_out2]=Cut_Imageqie(Img_in)
[m,n]=size(Img_in);
column=sum(Img_in);
wide=0;
num1=max(column);
for i = 1:n
	if column(i)~=num1
		wide=wide+1;
	else
		newleft=i;
		break
end
end
Img_out1=imcrop(Img_in,[1,1,wide,m]);
Img_out2=Img_in(1:m,newleft:n);
end

  总函数:

%%垂直投影切割函数2
%%将之前函数片段化函数化,实现从原图像中分割字符
%%王 5/2 16点18分

%清屏
clc;
close all;
clear all;

%读数
Img=imread('D:\data\matlabrecognizedata\rawpicture\pic2.png');%按实际路径分析
figure,subplot(1,2,1),imshow(Img),title('原图');

%灰度化和二值化
Img_Gray=rgb2gray(Img);
Img_Binary=imbinarize(Img_Gray,0.57);%采用0.57做阈值;

%求外接矩
Img_Cut=Cut_Imageju(Img_Binary);
subplot(1,2,2),imshow(Img_Cut),title('外接矩');

%分割图像
[word1,Img_Cut]=Cut_Imageqie(Img_Cut);
figure,subplot(1,3,1),imshow(word1),title('初次切');
subplot(1,3,2),imshow(Img_Cut),title('切后的原图形');
word1=Cut_Imageju(word1);
subplot(1,3,3),imshow(word1),title('后切');

  该项目还不能实现

  • 图像的切割太过于依靠手动操作,并不能自动分析间隔,没有可以使他自动停止的标准
  • 只局限于字母和单独的式子,主要是因为采取了垂直投影分割法,识别的东西一定是独体,但是像分数,根号或者其他字符的组合,就失败了,后期会考虑连通域算法;
  • 不能实现识别;

 

严肃的东西说完了,下面说点有意思的;

1、数字图像处理的过程中,发生了很多有趣的事。一步步的攻克这些难关挺快乐的,但是千辛万苦克服之后发现这些问题那么简单,却难道了我,做出来的一瞬间,觉得自己的智慧受到了侮辱,哈哈

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们