function Digital_Ident2
%手写体数字识别的界面程序
%贝叶斯判别
OldHandle=findobj( 'Type', 'figure', 'Tag', 'shibie' ) ;
if ishandle( OldHandle )
close( OldHandle ) ;
end
fig=figure ;
init_shibie(fig) ;
%--------------------------------------------------------------------------
function init_shibie(fig)
scnsize=get(0,'screensize');
font_size1=12*sqrt(scnsize(3)*scnsize(4)/(1024*768));
set(fig,'units','normalized','position',[0.15 0.15 0.7 0.6],...
'menubar','none','name','手写体数字识别',...
'numbertitle','off','color',[0.925 0.914 0.847],'tag','shibie',...
'resize','off',...
'Interruptible','on');
uimenu(gcf,'Label','帮助','Callback',...
['nn=sprintf(['' ******手写体数字识别系统******\n\n'' ',...
' ''**********************************************************\n\n'' ',...
' ''使用前首先点击导入样本图片按钮,\n\n'' ',...
' ''导入数字0-9的样本图片,每个字对\n\n'' ',...
' ''应5幅图片。选中<选择手绘图片>\n\n'' ',...
' ''选项,在坐标系内拖动鼠标写字,\n\n'' ',...
' ''然后点击<开始识别>按钮,查看识\n\n'' ',...
' ''别结果。也可选中<选择外部>图片\n\n'' ',...
' ''选项,选择一幅或多幅外部图片,然\n\n'' ',...
' ''后点击<开始识别>按钮,进行识别。\n\n'' ',...
' ''<区域选取>按钮可进行识别区域的选\n\n'' ',...
' ''择,若未选择区域,则按默认操作。'']);'...
'h=msgbox(nn,''帮助'',''replace'');'])
uimenu(gcf,'Label','关于','Callback',...
['nn=sprintf([''手写体数字识别系统\n\n'' ',...
']);'...
'h=msgbox(nn,''关于'',''replace'');'])
axes('pos',[0.06 0.1 0.6 0.85],'tag','axes1',...
'Box','on','ButtonDownFcn',{@mouse_xiezh 'start'});
axis image
backcolor=get(gcf,'Color');
uicontrol(gcf,'style','text','units','normalized','pos',[0.05 0.01 0.5 0.05],...
'string','','fontsize',font_size1,'fontweight','bold',...
'fontunits','normalized','Hor','left',...
'ForegroundColor',[0 0 0],'bac',backcolor,...
'tag','pictureselectioninfo',...
'visible','off');
panel1=uipanel(fig,'units','normalized','pos',[0.704 0.01 0.286 0.95]);
panel2=uipanel(fig,'units','normalized','pos',[0.712 0.79 0.27 0.15],...
'title','输出识别结果',...
'fontsize',font_size1,'fontweight','bold');
uicontrol(panel2,'style','edit','units','normalized',...
'pos',[0.1 0.15 0.8 0.7],...
'fontsize',font_size1,'fontunits','normalized',...
'fontweight','bold','string','',...
'tag','edit1','backgroundcolor',[1 1 1]);
uicontrol(panel1,'style','push','units','normalized',...
'pos',[0.1 0.71 0.8 0.08],...
'string','导入样本图片',...
'fontsize',font_size1,'fontweight','bold',...
'fontunits','normalized',...
'tag','ImportPicture',...
'callback',@SamplesPicture)
panel3=uipanel(fig,'units','normalized','pos',[0.712 0.45 0.27 0.2],...
'title','选择要识别的图片',...
'fontsize',font_size1,'fontweight','bold');
uicontrol(panel3,'style','radiobutton','units','normalized',...
'pos',[0.12 0.1 0.75 0.35],'tag','ExternalImage',...
'value',0,'string','选择外部图片',...
'fontsize',font_size1,'fontweight','bold',...
'fontunits','normalized','callback',@pictureselection_callback2);
uicontrol(panel3,'style','radiobutton','units','normalized',...
'pos',[0.12 0.55 0.75 0.35],'tag','HandPaintedPicture',...
'value',1,'string','选择手绘图片',...
'fontsize',font_size1,'fontweight','bold',...
'fontunits','normalized','callback',@pictureselection_callback1);
panel4=uipanel(fig,'units','normalized','pos',[0.712 0.24 0.27 0.18],...
'title','选择绘图颜色',...
'fontsize',font_size1,'fontweight','bold');
uicontrol(panel4,'style','popupmenu',...
'units','normalized',...
'pos',[0.1 0.3 0.8 0.5],...
'string','黑色|蓝色|红色|黄色|绿色|品红|青色',...
'fontsize',font_size1,'fontunits','normalized',...
'backgroundcolor',[1 1 1],...
'tag','huitu_color','value',1);
uicontrol(panel1,'style','push','units','normalized',...
'pos',[0.1 0.13 0.38 0.08],...
'string','区域选取',...
'fontsize',font_size1,'fontweight','bold',...
'fontunits','normalized',...
'tag','RegionSelection',...
'callback',@regionselection_callback)
uicontrol(panel1,'style','push','units','normalized',...
'pos',[0.52 0.13 0.38 0.08],...
'string','开始识别',...
'fontsize',font_size1,'fontweight','bold',...
'fontunits','normalized',...
'tag','BeginIdent',...
'callback',@Digital_Identification_call)
uicontrol(panel1,'style','push','units','normalized',...
'pos',[0.1 0.02 0.38 0.08],...
'string','清除',...
'fontsize',font_size1,'fontweight','bold',...
'fontunits','normalized',...
'tag','RemovePicture',...
'callback',@clearaxes_callback)
uicontrol(panel1,'style','push','units','normalized',...
'pos',[0.52 0.02 0.38 0.08],...
'string','退出',...
'fontsize',font_size1,'fontweight','bold',...
'fontunits','normalized',...
'tag','QuitGui',...
'callback',['close 手写体数字识别;'])
setappdata(gcf,'xy_point',[]);
handles=guihandles(gcf);
guidata(gcf,handles);
%%-------------------------------------------------------------------------
%鼠标手绘
%%-------------------------------------------------------------------------
function mouse_xiezh(hObject, eventdata, action)
handles=guidata(gcf);
data.color=get(handles.huitu_color,'value');
switch data.color
case 1
str1='k';
case 2
str1='b';
case 3
str1='r';
case 4
str1='y';
case 5
str1='g';
case 6
str1='m';
case 7
str1='c';
end
switch action
case 'start'
point=get(gca,'CurrentPoint');
xy_point=getappdata(gcf,'xy_point');
xy_point=[xy_point;point(1,1:2)];
setappdata(gcf,'xy_point',xy_point);
line(point(1,1),point(1,2),'clipping','on',...
'erasemode','background','linewidth',3,'color',str1);
data_point=point(1,1:2);
setappdata(gcf,'data_point',data_point);
set(gcbf,'WindowButtonMotionFcn',{@mouse_xiezh 'move'});
set(gcbf,'WindowButtonUpFcn',{@mouse_xiezh 'stop'});
case 'move'
data_point=getappdata(gcf,'data_point');
point=get(gca,'CurrentPoint');
xy_point=getappdata(gcf,'xy_point');
xy_point=[xy_point;point(1,1:2)];
setappdata(gcf,'xy_point',xy_point);
line([data_point(1),point(1,1)],[data_point(2),point(1,2)],...
'clipping','on','erasemode','background',...
'linewidth',3,'color',str1);
data_point=point(1,1:2);
setappdata(gcf,'data_point',data_point);
case 'stop'
set(gcbf,'WindowButtonMotionFcn','');
set(gcbf,'WindowButtonUpFcn','');
end
%%-------------------------------------------------------------------------
%导入样本图片
%%-------------------------------------------------------------------------
function SamplesPicture(hObject, eventdata)
geshi={'*.jpg','JPEG image (*.jpg)';...
'*.bmp','Bitmap image (*.bmp)';...
'*.*','All Files (*.*)'};
[FileName FilePath]=uigetfile(geshi,'导入外部数据','*.jpg','MultiSelect','on');
if ~isequal([FileName,FilePath],[0,0]);
FileFullName=strcat(FilePath,FileName);
% if ~ischar(FileFullName)
% FileFullName=FileFullName([2:end 1])';
% end
else
return;
end
n = length(FileFullName);
I = zeros(50);
BW = zeros(16);
training = zeros(1,256);
group = [];
for i=1:n
I=imread(FileFullName{i});
%if ndims(I)==3
% I=255-I(:,:,1);
%end
I=im2bw(255-I,0.4);
[y,x]=find(I==1);
BW=I(min(y):max(y),min(x):max(x));
BW=imresize(BW,[16 16]);
training(i,:) = BW(:)';
[pathstr,namestr,ext]=fileparts(FileName{i});
group = [group;str2num(namestr(4))];
end
ObjBayes = NaiveBay
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
手写体数字识别界面程序.rar (83个子文件)
检验样本图片
num8_1.bmp 7KB
num9_2.bmp 7KB
num8_2.bmp 7KB
num0_3.bmp 7KB
num3_2.bmp 7KB
num3_1.bmp 7KB
num2_2.bmp 7KB
num7_2.bmp 7KB
num0_1.bmp 7KB
num4_2.bmp 7KB
num1_3.bmp 7KB
num1_2.bmp 7KB
num2_3.bmp 7KB
num6_2.bmp 7KB
num5_3.bmp 7KB
num7_3.bmp 7KB
num4_1.bmp 7KB
num6_1.bmp 7KB
num1_1.bmp 7KB
num7_1.bmp 7KB
num8_3.bmp 7KB
num0_2.bmp 7KB
num5_2.bmp 7KB
num9_1.bmp 7KB
num4_3.bmp 7KB
num6_3.bmp 7KB
num2_1.bmp 7KB
num5_1.bmp 7KB
num3_3.bmp 7KB
num9_3.bmp 7KB
Bayes3.m 3KB
训练样本图片
num0_3.jpg 1KB
num4_4.jpg 1KB
num2_5.jpg 1KB
num9_1.jpg 1KB
num1_4.jpg 921B
num5_5.jpg 1KB
num3_2.jpg 1KB
num8_3.jpg 1KB
num0_5.jpg 1KB
num2_3.jpg 1KB
num8_2.jpg 1KB
num2_2.jpg 1KB
num1_1.jpg 931B
num8_5.jpg 1KB
num0_4.jpg 1KB
num4_2.jpg 1KB
num4_5.jpg 1KB
num1_5.jpg 1KB
num2_4.jpg 1KB
num9_3.jpg 1KB
num3_4.jpg 1KB
num5_3.jpg 1KB
num7_5.jpg 1KB
num6_5.jpg 1KB
num2_1.jpg 1KB
num1_3.jpg 1006B
num6_4.jpg 1KB
num4_3.jpg 1KB
num6_2.jpg 1KB
num1_2.jpg 841B
num9_5.jpg 1KB
num3_3.jpg 1KB
num3_1.jpg 1KB
num7_2.jpg 1KB
num5_2.jpg 1KB
num6_3.jpg 1KB
num0_1.jpg 1KB
num0_2.jpg 1KB
num6_1.jpg 1KB
num3_5.jpg 1KB
num5_4.jpg 1KB
num7_1.jpg 1KB
num9_4.jpg 1KB
num9_2.jpg 1KB
num5_1.jpg 1KB
num7_3.jpg 1KB
num8_4.jpg 1KB
num8_1.jpg 1KB
num4_1.jpg 1KB
num7_4.jpg 1KB
Bayes2.m 1KB
Digital_Ident2.m 17KB
共 83 条
- 1
四散
- 粉丝: 49
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0