标签:function gui hObject Callback handles 源码 eventdata 序列号 识别
一、简介
基于matlab GUI人民币序列号识别
二、源代码
function varargout = untitled1(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @untitled1_OpeningFcn, ...
'gui_OutputFcn', @untitled1_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
function untitled1_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = untitled1_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles)
function edit1_Callback(hObject, eventdata, handles)
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit2_Callback(hObject, eventdata, handles)
function edit2_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function pushbutton2_Callback(hObject, eventdata, handles)
function pushbutton3_Callback(hObject, eventdata, handles)
axis off %%关闭坐标轴显示
[filename, pathname] =uigetfile({'*.jpg'; '*.bmp'; '*.gif'; '*.png'}, '选择图片');
% % 没有图像内容
if filename ==0
return;
end
im1 = imread ([pathname, filename]);
imwrite(im1,'C:\Users\lenovo\Desktop\www.dssz.com_ba30784c0af0816644cbf1722cf2\Matlab练习\0.jpg');
axes(handles.axes4);
imshow(im1);
function pushbutton4_Callback(hObject, eventdata, handles)
function uibuttongroup1_SizeChangedFcn(hObject, eventdata, handles)
function pushbutton5_Callback(hObject, eventdata, handles)
function pushbutton6_Callback(hObject, eventdata, handles) %向左旋转90度
A1=imread('C:\Users\lenovo\Desktop\www.dssz.com_ba30784c0af0816644cbf1722cf2\Matlab练习\0.jpg');
J1=imrotate(A1,90,'bicubic','loose'); %设置旋转角度,实现向左(逆时针)旋转
imwrite(J1,'C:\Users\lenovo\Desktop\www.dssz.com_ba30784c0af0816644cbf1722cf2\Matlab练习\0.jpg');
axes(handles.axes4);
imshow(J1);
function pushbutton7_Callback(hObject, eventdata, handles)
function pushbutton8_Callback(hObject, eventdata, handles)
function uibuttongroup1_SelectionChangedFcn(hObject, eventdata, handles)
function pushbutton9_Callback(hObject, eventdata, handles) %向右旋转
A2=imread('C:\Users\lenovo\Desktop\www.dssz.com_ba30784c0af0816644cbf1722cf2\Matlab练习\0.jpg');
J2=imrotate(A2,-90,'bicubic','loose'); %设置旋转角度,实现向左(逆时针)旋转
imwrite(J2,'C:\Users\lenovo\Desktop\www.dssz.com_ba30784c0af0816644cbf1722cf2\Matlab练习\0.jpg');
axes(handles.axes4);
imshow(J2);
function OCR1()
warning off %#ok<WNOFF>
addpath('C:\Users\lenovo\Desktop\www.dssz.com_ba30784c0af0816644cbf1722cf2\Matlab练习\')
if(exist('text1.txt','file')==2)
delete('text1.txt')
end
imagen=imread('C:\Users\lenovo\Desktop\www.dssz.com_ba30784c0af0816644cbf1722cf2\Matlab练习\1.jpg');
imshow(imagen);
title('INPUT IMAGE WITH NOISE');
pause(0.5);
if size(imagen,3)==3 %RGB image
imagen=rgb2gray(imagen);
end
threshold = graythresh(imagen);
imagen =~im2bw(imagen,threshold);
imagen = bwareaopen(imagen,30);
word=[ ];
re=imagen;
fid = fopen('text1.txt', 'a');
load templates
global templates
num_letras=size(templates,2);
while 1
[fl re]=lines(re);
imgn=fl;
[L Ne] = bwlabel(imgn);
for n=1:Ne
[r,c] = find(L==n);
n1=imgn(min(r):max(r),min(c):max(c));
img_r=imresize(n1,[42 24]);
letter=read_letter(img_r,num_letras);
word=[word letter];
end
fprintf(fid,'%s\n',word);
word=[ ];
if isempty(re)
break
end
end
fclose(fid);
copyfile text1.txt 'C:\Users\lenovo\Desktop\www.dssz.com_ba30784c0af0816644cbf1722cf2\Matlab练习\';
winopen('text1.txt');
三、运行结果
四、备注
版本:2014a
完整代码或代写加1564658423
标签:function,gui,hObject,Callback,handles,源码,eventdata,序列号,识别 来源: https://www.cnblogs.com/homeofmatlab/p/14910932.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。