• 大小: 7KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-18
  • 语言: Matlab
  • 标签: matlab  

资源简介

matlab 基于zxing识别QR二维码的GUI程序,本人QQ90333313,做的毕业设计,可以探讨探讨

资源截图

代码片段和文件信息

function varargout = main(varargin)
% MAIN MATLAB code for main.fig
gui_Singleton = 1;
gui_State = struct(‘gui_Name‘       mfilename ...
                   ‘gui_Singleton‘  gui_Singleton ...
                   ‘gui_OpeningFcn‘ @main_OpeningFcn ...
                   ‘gui_OutputFcn‘  @main_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 main_OpeningFcn(hobject eventdata handles varargin)
handles.output = hobject;
guidata(hobject handles);
function varargout = main_OutputFcn(hobject eventdata handles) 

varargout{1} = handles.output;
% --- Executes on button press in pushbutton1
function pushbutton1_Callback(hobject eventdata handles)                 %%%%%%%%打开图像
global im;
[filenamepathname]=uigetfile({‘*.*‘;‘*.bmp‘;‘*.jpg‘;‘*.tif‘;‘*.jpg‘}‘选择图像‘);
if isequal(filename0)||isequal(pathname0)
  errordlg(‘您还没有选取图片!!‘‘温馨提示‘);%如果没有输入,则创建错误对话框 
  return;
else
    image=[pathnamefilename];%合成路径+文件名
    im=imread(image);%读取图像
    axes(handles.axes1);
    imshow(im);%在坐标axes1显示原图像 
    title(‘原始QR图像‘);
end
% --- Executes on button press in pushbutton3
function pushbutton3_Callback(hobject eventdata handles)     %   QR解码显示
global I_otsu;   %global 定义全局变量
global im;
global KL;
global Ijibian;
I_jiema=Ijibian;
I_jiema=I_otsu;  %二值
I_jiema=KL;
I_jiema=im;
str=zxing_decode(I_jiema);             %解码
set(handles.edit1‘String‘str);        %显示字符
% --- Executes on button press in pushbutton4
function pushbutton4_Callback(hobject eventdata handles)   %   灰度化处理
global im;
global II;
I=im;
[whl]=size(I);        %图像大小      
II=[];
for i=1:h
   for j=1:w
    II(ji)=0.3*I(ji1)+0.59*I(ji2)+0.11*I(ji3);       %灰度化处理RGB三分量进行加权平均能得到较合理的灰度图像。
end
end
figureimshow(II[])                                      %显示图像
title(‘QR二维码灰度化处理‘);
% --- Executes on button press in pushbutton5
function pushbutton5_Callback(hobject eventdata handles)   %   平滑处理
global II;
global I3;
III=uint8(II);                               %图像转换0-255
Ix=imnoise(III‘salt & pepper‘0.02);         %对灰度化图像人为加噪声
I3=medfilt2(Ix[33]);                        %平滑处理  中值滤波,[m n]指定模版的大小,m行n列
figure
imshow(Ix)
title(‘QR二维码加噪处理‘);
figure
imshow(I3)
title(‘QR二维码平滑处理‘);
% --- Executes on button press in pushbutton6
function pushbutton6_Callback(hobject eventdata handles)%%%%%%%%%%%%%%%%%%%    二值化处理
global I3;
global I_otsu;
I_otsu=otsut(I3);                              %二值化处理
figure
imshow(I_otsu[])
title(‘QR二维码二值化处理‘);
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
% --- Executes on button press in push

评论

共有 条评论