




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数字图像处理课程设计报告 数字图像处理课程设计报告姓 名:宋东洋、祁飞、冯登科 学 号: 20137750342、20137750336、20137750309 班 级: 软件开发 .NET 3班 设计题目: 手写体数字识别 教 师: 庞海波老师 提交日期: 2015年12月25日 一、设计内容:主题:手写体数字识别详细说明:读入手写体数字图片,选择要识别的数字然后通过寻找数字边界将图像裁剪的边缘,然后生成裁剪后图像的二进制图像,并将其转换成57的图像,然后进行特征提取,运行Simulink模型识别数字。二、现实意义:手写体数字的识别有着非常广泛的应用(如:邮政编码、统计报表、财务报表、银行票据等等)。三、涉及知识内容:1、边界查找2、二值化3、Simulink模型四、实例分析及截图效果:(1) 代码显示:1、程序中定义图像变量说明 (1)S-原图变量;(2)img_crop-选择的图象;(3)imgGray-灰度图像变量(4)BW-二值化图像;(5)charvec-5*7图像变量;2、实现代码:Index.mfunction varargout = charGUI(varargin)% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, charGUI_OpeningFcn, . gui_OutputFcn, charGUI_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT% - Executes just before charGUI is made visible.function charGUI_OpeningFcn(hObject, eventdata, handles, varargin)load data;assignin(base,net,net);handles.output = hObject;guidata(hObject, handles);% - Outputs from this function are returned to the command line.function varargout = charGUI_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output;% - Executes on button press in pbLoad.function pbLoad_Callback(hObject, eventdata, handles)filename, pathname = uigetfile(*.bmp;*.jpg;*.gif;*.*, Pick an Image File);S = imread(pathname,filename);axes(handles.axes1);imshow(S);handles.S = S;guidata(hObject, handles);% - Executes on button press in pbSelect.function pbSelect_Callback(hObject, eventdata, handles)S = handles.S;axes(handles.axes1);img_crop = imcrop(S);axes(handles.axes2);imshow(img_crop);handles.img_crop = img_crop;guidata(hObject, handles);% - Executes on button press in pbPreprocess.function pbPreprocess_Callback(hObject, eventdata, handles)img_crop = handles.img_crop;imgGray = rgb2gray(img_crop);bw = im2bw(img_crop,graythresh(imgGray);axes(handles.axes3);imshow(bw);bw2 = edu_imgcrop(bw);axes(handles.axes4);imshow(bw2);handles.bw2 = bw2;guidata(hObject, handles);% - Executes on button press in pbExtract.function pbExtract_Callback(hObject, eventdata, handles)bw2 = handles.bw2;charvec = edu_imgresize(bw2);axes(handles.axes5);plotchar(charvec);handles.charvec = charvec;guidata(hObject, handles);% - Executes on button press in pbRecognize.function pbRecognize_Callback(hObject, eventdata, handles)charvec = handles.charvec;selected_net = get(handles.editNN,string);selected_net = evalin(base,selected_net);result = sim(selected_net,charvec);val, num = max(result);set(handles.editResult, string,mod(num,10);% - Executes on button press in pbNN.function pbNN_Callback(hObject, eventdata, handles)function editNN_Callback(hObject, eventdata, handles)% - Executes during object creation, after setting all properties.function editNN_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endfunction editResult_Callback(hObject, eventdata, handles)% - Executes during object creation, after setting all properties.function editResult_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endedu_imgcrop.mfunction bw2 = edu_imgcrop(bw)% 求图像的边界y2temp x2temp = size(bw);x1=1;y1=1;x2=x2temp;y2=y2temp;% 寻找左侧空白空间cntB=1;while (sum(bw(:,cntB)=y2temp) x1=x1+1; cntB=cntB+1;end% 寻找右侧空白空间cntB=1;while (sum(bw(cntB,:)=x2temp) y1=y1+1; cntB=cntB+1;end% 寻找上边空白空间cntB=x2temp;while (sum(bw(:,cntB)=y2temp) x2=x2-1; cntB=cntB-1;end% 寻找下边空白空间cntB=y2temp;while (sum(bw(cntB,:)=x2temp) y2=y2-1; cntB=cntB-1;end% 将图像裁剪到边缘bw2=imcrop(bw,x1,y1,(x2-x1),(y2-y1);edu_imgresize.mfunction lett = edu_imgresize(bw2)% 此功能将采取裁剪的二进制图像,并将其改为57% 单个向量中的特征表示。bw_7050=imresize(bw2,70,50);for cnt=1:7 for cnt2=1:5 Atemp=sum(bw_7050(cnt*10-9:cnt*10),(cnt2*10-9:cnt2*10); lett(cnt-1)*5+cnt2)=sum(Atemp); endendlett=(100-lett)/100);lett=lett;3、运行效果截图:第一步:读取原图,并显示第二步:选择图像并显示第三步:预处理(二值化、查找边界、裁剪图片)第四步: 特征提取第五步:显示数字(运行Simulink模型)四、算法分析(1)Simulink模型sim函数用来运行Simulink模型。需要注意的是,用户无法控制其仿真过程(例如暂停、继续),一旦运行就会直到达到结束条件为止这一点和通过模型窗口界面运行仿真不同。五、心得体会通过这次的课程设计,我对Matlab有了一定的了解
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 影视广告方案(3篇)
- DB23-T2942-2021-良好农业(种植)管理评价规范-黑龙江省
- 农场设备维护管理制度
- 工厂后勤日常管理制度
- 地铁标识标牌管理制度
- 医院开具假条管理制度
- 军训学生教官管理制度
- 木业保险方案么(3篇)
- 商场机电设备管理制度
- 卫健系统项目管理制度
- 小区装修工程安全协议书
- 陕西省西安市碑林区铁一中学2024-2025学年下学期七年级第二次月考数学试卷
- 人教版小学数学3三年级下册(全册)教案
- ktv包房公主协议书
- 公路应急抢险协议书
- 国家中医药管理局直属事业单位招聘笔试真题2024
- 2025年计算机Photoshop功能分析试题及答案
- 国际贸易销售业务流程合规管理
- 2025年政治理论时政热点知识试题库(附含答案)
- 2025年辅导员竞聘考试题库:学生思想政治教育方法与心理健康教育相结合在实践中的应用试题
- 2025年全球经济风险试题及答案
评论
0/150
提交评论