数字图像处理课程设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理课程设计报告

姓名:宋东洋、祁飞、冯登科

学号:20137750342、20137750336、20137750309

班级:软件开发.NET 3班

设计题目:手写体数字识别

教师:庞海波老师

提交日期:2015年12月25日

一、设计内容:

主题:《手写体数字识别》

详细说明:读入手写体数字图片,选择要识别的数字然后通过寻找数字边界将图像裁剪的边缘,然后生成裁剪后图像的二进制图像,并将其转换成5﹡7的图像,然后进行特征提取,运行Simulink模型识别数字。

二、现实意义:

手写体数字的识别有着非常广泛的应用(如:邮政编码、统计报表、财务报表、银行票据等等)。

三、涉及知识内容:

1、边界查找

2、二值化

3、Simulink模型

四、实例分析及截图效果:

(1)代码显示:

1、程序中定义图像变量说明

(1)S--------------------------------------------------------------原图变量; (2)img_crop----------------------------------------------------选择的图象; (3)imgGray-----------------------------------------------------灰度图像变量(4)BW-----------------------------------------------------------二值化图像;(5)charvec-----------------------------------------------------5*7图像变量;

2、实现代码:

Index.m

function varargout = charGUI(varargin)

% Begin initialization code - DO NOT EDIT

gui_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(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1: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) varargout{1} = 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;

相关文档
最新文档