【图像识别】基于matlab GUI QR二维码识别与生成【含Matlab源码 600期】

一、简介

1 什么是QR码
QR码属于矩阵式二维码中的一个种类,由DENSO(日本电装)公司开发,由JIS和ISO将其标准化。QR码的样子其实在很多场合已经能够被看到了。
在这里插入图片描述
(1)位置探测图形、位置探测图形分隔符:用于对二维码的定位,对每个QR码来说,位置都是固定存在的,只是大小规格会有所差异;这些黑白间隔的矩形块很容易进行图像处理的检测。

(2)校正图形:根据尺寸的不同,矫正图形的个数也不同。矫正图形主要用于QR码形状的矫正,尤其是当QR码印刷在不平坦的面上,或者拍照时候发生畸变等。

(3)定位图形:这些小的黑白相间的格子就好像坐标轴,在二维码上定义了网格。

(4)格式信息:表示该二维码的纠错级别,分为L、M、Q、H;

(5)数据区域:使用黑白的二进制网格编码内容。8个格子可以编码一个字节。

(6)版本信息:即二维码的规格,QR码符号共有40种规格的矩阵(一般为黑白色),从21x21(版本1),到177x177(版本40),每一版本符号比前一版本 每边增加4个模块。

(7)纠错码字:用于修正二维码损坏带来的错误。

2 QR二维码的识别原理

2.1 定位 手机拍摄QR 码图像时,可能会同时采集到条码周围其他的图像。这些干扰图像会增加图像处理的复杂度,因此,可以把这些没必要的干扰图像通过裁切的方式去除。校正后,直接对正方形A’B’C’D’外的区域裁切,就可以去除其余背景。 QR 码符号中有3 个位置探测图形,分别位于符号图像4 个角中的3 个角,每个 4 位置探测图像都是由固定深浅颜色的模块组成。模块深浅颜色顺序为深色—浅色—深色—浅色—深色,各元素宽度的比例为1∶ 1∶ 3∶ 1∶ 1(如下图所示)。

即使图像有旋转,位置探测图像的模块颜色顺序和宽度比例也不变。对二值化后的图像按行、列分别逐点扫描,把同一灰度级的相邻像素记录为线段。如果有5 段线段的长度比例符合1∶ 1∶ 3 ∶ 1 ∶ 1,且深浅颜色顺序为深—浅—深—浅—深,则记录该线段。扫描完后,把行相邻的线段分为1 组,去除与所有线段都不相邻的行线段( 可能是随机的干扰线段) 。同样处理列线段,把行线段组和列线段组中相互交叉的组分类,求出交叉的行、列线段组的中心点,即为位置探测图形的中心。 2.2.2 预处理 基本原理:QR 码作为手机二维码,其应用模式如下图所示。手机等智能设备通过摄像头采集带有条码符号的图像,对图像进行灰度化、二值化、旋转校正等预处理,进行条码检测。如果检测到非QR 码,则重新采集; 如果是QR 码,则进行图像信息的取样。用Reed - Solomon 码的译码算法对取到的数据进行纠错译码,统计出现的错误数量。如果错误数量超出纠错容量,则纠错译码失败,重新采集图像; 如果可以正确进行纠错译码,则把纠错后的信息进行各种数据模式下的译码,恢复出编码信息,继而根据应用模式进行信息输出、发送短信或网址跳转等后续处理。

3 QR码的特点

说到QR码的特点:

一)是高速读取(QR就是取自“Quick Response”的首字母),对读取速度的体验源自于我手机上的一个软件,象上面贴出的码图,通过摄像头从拍摄到解码到显示内容也就三秒左右,对摄像的角度也没有什么要求;

二)是高容量、高密度;理论上内容经过压缩处理后可以存7089个数字,4296 个字母和数字混合字符,2953个8位字节数据,1817个汉字;

三)是支持纠错处理;纠错处理相对复杂,目前我还没有深入了解,按照QR码的标准文档说明,QR码的纠错分为4个级别,分别是:
level L : 最大 7% 的错误能够被纠正;
level M : 最大 15% 的错误能够被纠正;
level Q : 最大 25% 的错误能够被纠正;
level H : 最大 30% 的错误能够被纠正;

四)是结构化;看似无规则的图形,其实对区域有严格的定义,下图就是一个模式2、版本1的QR图结构(关于QR码的"模式"、“版本"将在后面进行介绍):
在上图21*21的矩阵中,黑白的区域在QR码规范中被指定为固定的位置,称为寻像图形(finder pattern) 和 定位图形(timing pattern)。寻像图形和定位图形用来帮助解码程序确定图形中具体符号的坐标。
黄色的区域用来保存被编码的数据内容以及纠错信息码。
蓝色的区域,用来标识纠错的级别(也就是Level L到Level H)和所谓的"Mask pattern”,这个区域被称为“格式化信息”(format information)。

五)是扩展能力。QR码的Structure Append特点,使一个QR码可以分解成多个QR码,反之,也可以将多个QR码的数据组合到一个QR码中来:

4 QR码的模式和版本

前面提到过QR码的模式(Model)和版本(Version)。QR码分为Model1和Model2两种模式,Model1是对QR的初始定义,Model2是对Model1的扩展,目前使用较为普遍的是Model2,本文的所有说明也仅用于Model2。

QR图的大小(size)被定义为版本(Version),版本号从1到40。版本1就是一个2121的矩阵,每增加一个版本号,矩阵的大小就增 加4个模块(Module),因此,版本40就是一个177177的矩阵。(版本越高,意味着存储的内容越多,纠错能力也越强)。

5 QR码支持的编码内容

QR码支持编码的内容包括纯数字、数字和字符混合编码、8位字节码和包含汉字在内的多字节字符。其中:
数字:每三个为一组压缩成10bit。
字母数字混合:每两个为一组,压缩成11bit。
8bit字节数据:无压缩直接保存。
多字节字符:每一个字符被压缩成13bit。

6 QR码编码原理(编码)
编码就是把常见的数字、字符等转换成QR码的方法。说具体的编码之前,先说一下QR码的最大容量问题。

6.1 最大容量
QR码的最大容量取决于选择的版本、纠错级别和编码模式(Mode:数字、字符、多字节字符等)。以版本1、纠错级别为Level Q的QR码为例,可以存储27个纯数字,或17个字母数字混合字符或11个8bit字节数据。如果要存储同样多的内容同时提高纠错级别,则需要采用更高的版本。版本1~9 数据容量、纠错码容量对照如下表:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、源代码

function varargout = main(varargin)
% MAIN MATLAB code for main.fig
%      MAIN, by itself, creates a new MAIN or raises the existing
%      singleton*.
%
%      H = MAIN returns the handle to a new MAIN or the handle to
%      the existing singleton*.
%
%      MAIN('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in MAIN.M with the given input arguments.
%
%      MAIN('Property','Value',...) creates a new MAIN or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before main_OpeningFcn gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to main_OpeningFcn via varargin.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help main

% Last Modified by GUIDE v2.5 20-Apr-2014 14:55:44

% Begin initialization code - DO NOT EDIT
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
% End initialization code - DO NOT EDIT


% --- Executes just before main is made visible.
function main_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to main (see VARARGIN)

% Choose default command line output for main
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes main wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = main_OutputFcn(hObject, eventdata, handles) 
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{
    
    1} = handles.output;


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)                 %%%%%%%%打开图像
global im;
[filename,pathname]=uigetfile({
    
    '*.*';'*.bmp';'*.jpg';'*.tif';'*.jpg'},'选择图像');
if isequal(filename,0)||isequal(pathname,0)
  errordlg('您还没有选取图片!!','温馨提示');%如果没有输入,则创建错误对话框 
  return;
else
    image=[pathname,filename];%合成路径+文件名
    im=imread(image);%读取图像
    figure
    imshow(im);%在坐标axes1显示原图像 
    title('原始QR图像');
end


% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


% --- 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',[get(handles.edit1,'string') str]);
%set(handles.text,'string',[get(handles.text,'string') str]);
set(handles.edit1,'String',str);        %显示字符



% --- Executes on button press in pushbutton4.
function pushbutton4_Callback(hObject, eventdata, handles)   %%%%%%%%%%%%%%%%%%%    灰度化处理
global im;
global II;

I=im;
[w,h,l]=size(I);        %图像大小      
II=[];
for i=1:h
   for j=1:w
    II(j,i)=0.3*I(j,i,1)+0.59*I(j,i,2)+0.11*I(j,i,3);       %灰度化处理公式
end
end

figure,imshow(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,[3,3]);                        %平滑处理
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)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of edit1 as text
%        str2double(get(hObject,'String')) returns contents of edit1 as a double


% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to edit1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
%       See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end


% --- Executes on button press in pushbutton7.
function pushbutton7_Callback(hObject, eventdata, handles)               %%%%  旋转校正   4.bmp
global im;
 %倾斜校正      :二值化,取边缘,Hough变换得到角度,旋转
I=im;
bw=rgb2gray(I);                  %rgb转换为灰度图
bw=im2bw(I,graythresh(bw));      %二值化过程   
bw=double(bw);
BW=edge(bw,'canny');             %canny边缘处理
BW1=BW;
figure
imshow(BW1);title('canny 边界图像');  %显示图像
[H,T,R]=hough(BW);
figure,imshow(H,[],'XData',T,'YData',R,'InitialMagnification','fit');
xlabel('\theta'),ylabel('\rho');
axis on, axis normal,hold on;
P=houghpeaks(H,4,'threshold',ceil(0.3*max(H(:))));  %hough变化峰值检测
x=T(P(:,2)); y = R(P(:,1));
plot(x,y,'s','color','white');
lines=houghlines(BW,T,R,P,'FillGap',50,'MinLength',7);  %hough检测线段
figure,imshow(BW),title('直线标识图像');
max_len = 0;
hold on;
for k=1:length(lines)                                %主要把线条和点显示出来
    xy=[lines(k).point1;lines(k).point2];
    % 标出线段
    plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');
    % 标出线段的起始和终端点
    plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow');
    plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');
     len=norm(lines(k).point1-lines(k).point2);
    Len(k)=len;
    if (len>max_len)
        max_len=len;
        xy_long=xy;
    end
end

三、运行结果

在这里插入图片描述

四、备注

完整代码或者代写添加QQ 1564658423
往期回顾>>>>>>
【图像识别】基于matlab路面裂缝识别含GUI【含Matlab源码 009期】
【图像识别】基于matlab身份证号码识别【含Matlab源码 014期】
【图像压缩】基于matlab图像处理教程系列之图像压缩【含Matlab源码 024期】
【图像分割】基于matlab图像处理教程系列之图像分割(一)【含Matlab源码 025期】
【图像分割】基于matlab图像处理教程系列之图像分割(二)【含Matlab源码 026期】
【模式识别】基于matlab指纹识别【含Matlab源码 029期】
【模式识别】基于matlab银行卡号识别【含Matlab源码 030期】
【图像聚类】基于matlab FCM和改进的FCM脑部CT图像聚类【含Matlab源码 074期】
【图像评价】基于matlab CCF算法的图像质量评价【含Matlab源码 075期】
【图像增强】基于matlab局部对比度增强的CLAHE算法之直方图增强【含Matlab源码 076期】
【图像融合】基于matlab Frequency Partition之图像融合【含Matlab源码 077期】
【图像评价】基于matlab SVM之图像无参考质量评价【含Matlab源码 078期】
【图像处理】基于matlab DWT+DCT+PBFO改进图像水印隐藏提取含GUI【含Matlab源码 081期】
【图像变换】基于matalb DIBR-3D图像变换【含Matalb源码 082期】
【图像融合】基于matlab CBF算法的图像融合【含Matlab源码 083期】
【图像分割】基于matlab模糊聚类算法FCM的图像分割【含Matlab源码 084期】
【图像分割】基于形态学重建和过滤改进FCM算法(FRFCM)的的图像分割【Matlab 085期】
【图像去噪】基于matlab自适应形态学的图像去噪【含Matlab源码 086期】
【图像增强】基于matlab DEHAZENET和HWD的水下去散射图像增强【含Matlab 087期】
【图像增强】基于matlab PSO寻优ACE的图像增强【含Matlab源码 088期】
【图像增强】基于matlab区域相似变换函数和蜻蜓算法之灰度图像增强【含Matlab源码 089期】
【图像重建】基于matlab图像重建之ASTRA算法【含Matlab源码 090期】
【图像分割】基于matlab四叉树图像分割【含Matlab源码 091期】
【图像分割】基于matlab心脏中心线提取【含Matlab源码 092期】
【图像识别】基于matlab svm植物叶子疾病检测和分类【含Matlab源码 093期】
【图像识别】基于matlab模板匹配之手写数字识别系统GUI界面【含Matlab源码 094期】
【图像识别】基于matlab不变矩的数字验证码识别含GUI界面【含Matlab源码 095期】
【图像识别】基于matlab条形码识别系统【含Matlab源码 096期】
【图像识别】基于matlab RGB和BP神经网络的人民币识别系统含GUI界面【含Matlab源码 097期】
【图像识别】基于matlab cnn卷积神经网络之验证码识别【含Matlab源码 098期】
【图像直线拟合】基于matlab最小二乘法的图像直线拟合【含Matlab源码 100期】
【图像去雾】基于matlab暗通道之图像去雾【含Matlab源码 101期】
【图像分割】基于matlab直觉模糊C均值聚类的图像分割IFCM【含Matlab源码 120期】
【图像分割】基于matlab最大类间方差法(otsu)图像分割【含Matlab源码 121期】
【模式识别】基于matlab银行监控系统人脸识别【含Matlab源码 125期】
【模式识别】基于matlab GUI界面的疲劳检测系统【含Matlab源码 126期】
【图像识别】基于matlab国外车牌识别【含Matlab源码 128期】
【图像分割】基于matlab蚁群优化模糊聚类的图像分割【含Matlab源码 130期】
【模式识别】基于matalb GUI界面的水果检测系统【含Matlab源码 173期】
【模式识别】基于matalb GUI界面的水果分类系统【含Matlab源码 174期】
【模式识别】基于matalb GUI界面的水果分级系统【含Matlab源码 175期】
【模式识别】基于matlab人脸识别之检测脸、眼、鼻子和嘴【含Matlab源码 178期】
基于matlab GUI界面处理录音与音频【含Matlab源码 181期】
【图像处理】基于matlab GUI界面的图像加解密【含Matlab源码 182期】
【模式识别】基于matlab GUI界面BP网络之手写体大写字母识别【含Matlab源码 183期】
【图像分割】基于matlab GUI界面医学影像分割【含Matlab源码 184期】
【图频处理】基于matlab GUI界面环图像处理与音乐播放系统【含Matlab源码 185期】
【图像隐藏】基于matlab Laguerre 变换的图像隐藏【含Matlab源码 193期】
【图像处理】基于matlab dwt函数实现二维小波变换【含Matlab源码 198期】
【图像处理】基于matlab分形插值算法调换图片【含Matlab源码 197期】
【图像边缘检测】基于matlab GUI界面图像边缘检测系统【含Matlab源码 203期】
【图像几何运算】基于matlab GUI界面之图像几何运算系统【含Matlab源码 206期】
【图像处理】基于matlab GUI界面之图像处理系统【含Matlab源码 207期】
【图像识别】基于matlab细胞识别和边缘检测【含Matlab源码 210期】
【模式识别】基于matlab 反馈神经Hopfield的数字识别【含Matlab源码 226期】
【模式识别】基于matlab之指纹图像细节特征提取 【含Matlab源码 227期】
【图像分割】基于matlab RGB HSV YCbCr Lab颜色空间人脸检测之图像分割【含Matlab源码 228期】
【图像压缩】基于matlab小波变换的图像压缩【含Matlab源码 229期】
【模式识别】基于matlab GUI界面的火灾检测【含Matlab源码 249期】
【模式识别】基于matlab Hough变换的答题卡识别【含Matlab源码 250期】
【模式识别】基于matlab二值膨胀差分和椒盐滤波之教室内人数识别系统【含Matlab源码 251期】
【小波变换】基于matlab GUI界面DWT与SVD算法的数字水印 【含Matlab源码 253期】
【模式识别】基于matlab差影法之三维人体姿态行为识别【含Matlab源码 277期】
【图像分割】基于matlab粒子群优化T熵图像分割【含Matlab源码 286期】
【图像分割】基于matlab粒子群优化指数熵图像分割【含Matlab源码 287期】
【边缘检测】基于matlab插值法亚像素边缘检测【含Matlab源码 306期】
【模式识别】基于matlab GUI贝叶斯最小错误率手写数字识别【含Matlab源码 308期】
【模式识别】基于matlab PCA手写数字识别【含Matlab源码 309期】
【模式识别】基于matlab 特征匹配的英文印刷字符识别【含Matlab源码 310期】
模式识别】基于matlab知识库的手写体数字识别【含Matlab源码 311期】
【模式识别】基于matlab之银行卡数字识别【含Matlab源码 312期】
【图像识别】基于matlab表情检测【含Matlab源码 317期】
【图像检测】基于matlab LSD直线检测【含Matlab源码 318期】
【图像融合】红外与可见光的融合与配准算法【含Matlab源码 319期】
【图像识别】基于matlab帧差法跌倒检测【含Matlab源码 320期】
【图像识别】基于matlab组合BCOSFIRE过滤器进行墙体裂缝识别【含Matlab源码 321期】
【模式识别】基于matlab中值滤波和二值化的跌倒检测【含Matlab源码 344期】
【图像隐写】基于matlab DCT的图像隐写【含Matlab源码 365期】
【图像隐写】基于matlab LSB的图像隐写提取【含Matlab源码 366期】
【图像隐写】基于matlab高斯模型的JPEG图像隐写【含Matlab源码 367期】
【图像隐写】基于matlab图像自适应隐写算法wow【含Matlab源码 368期】
【模式识别】基于matlab GUI SVM和PCA的人脸识别【含Matlab源码 369期】
【视频识别】基于matlab轨迹方法行为识别【含Matlab源码 375期】
【模式识别】基于matlab GUI HSV和RGB模型水果分类【含Matlab源码 380期】
【图像处理】基于matlab GUI数字图像处理平台【含Matlab源码 381期】
【图像分割】基于matlab的视网膜图像分割【含Matlab源码 382期】
【模式识别】基于matlab k-means聚类的手势识别【含Matlab源码 386期】
【图像处理】基于Hough变换的人眼虹膜定位【含Matlab源码 387期】
【图像处理】基于matlab Kalman滤波的目标跟踪【含Matlab源码 388期】
【图像分割】基于matlab GAC水平集方法实现图像分割【含Matlab源码 389期】
【图像分割】基于matlab 分水岭算法的图像分割【含Matlab源码 390期】
【图像去噪】基于小波变换的图像去噪【含Matlab源码 391期】
【图像融合】基于matlab小波变换的图像融合【含Matlab源码 392期】
【图像识别】基于matlab图像识别物体计数【含Matlab源码 393期】
【图像增强】基于matlab模糊集的图像增强【含Matlab源码 394期】
【图像检索】基于matlab GUI综合特征的图像检索【含Matlab源码 395期】
【图像处理】基于matlab 图像RGB三色的合成、分离【含Matlab源码 401期】
【图像处理】基于matlab鼠标画图【含Matlab源码 402期】
【图像识别】基于matlab 二值化条形码识别【含Matlab源码 403期】
【图像压缩】基于matlab 行程编码实现的图像压缩【含Matlab源码 404期】
【图像几何】基于matlab投影法测距【含Matlab源码 405期】
【图像分割】基于matlab 关键像素点的FLICM图像分割【含Matlab源码 406期】
【图像识别】基于matlab gabor滤波布匹瑕疵检测【含Matlab源码 407期】
【图像识别】基于matlab GUI车牌库识别【含Matlab源码 416期】
【图像识别】基于matlab 国内车牌识别【含Matlab源码 417期】
【图像分割】基于matlab snake模型的图像分割【含Matlab源码 418期】
【图像去噪】基于matlab全变分算法图像去噪【含Matlab源码 419期】
【图像去噪】基于matlab 非局部均值(NLM)滤波图像去噪【含Matlab源码 420期】
【图像去噪】基于matlab中值滤波图像去噪【含Matlab源码 421期】
【边缘检测】基于matlab 元胞自动机图像边缘检测【含Matlab源码 427期】
【图像识别】基于LBP+LPQ算法融合人脸表情识别【含Matlab源码 432期】
【图像识别】基于matlab OCR识别系统【含Matlab源码 438期】
【边缘检测】基于matlab拉普拉斯边缘检测与图像增强【含Matlab源码 456期】
【图像处理】基于matlab全变差图像处理【含Matlab源码 457期】
【图像处理】基于matlab直方图的医学图像处理【含Matlab源码 458期】
【图像分割】基于GMM-HMRF图像分割【含Matlab源码 459期】
【图像识别】基于matlab ksvd字典学习之人脸表情识别【含Matlab源码 460期】
【图像去噪】基于matlab curvelet变换图像去噪【含Matlab源码 461期】
【图像去噪】基于小波变换(中值、硬阙值、软阙值)的图像去噪【含Matlab源码 462期】
【图像配准】基于matlab sift图像配准【含Matlab源码 463期】
【图像识别】基于matlab扑克牌灰度二值化识别【含Matlab源码 464期】
【图像转换】基于matlab 二维图转三维图【含Matlab源码 465期】
【图像识别】基于matlab阈值的裂痕、划痕检测【含Matlab源码 467期】
【图像识别】基于matlab Hough变换形状检测【含Matlab源码 468期】
【图像识别】基于matlab车辆出入库计时系统【含Matlab源码 469期】
【图像识别】基于matlab颜色直方图的危险品识别【含Matlab源码 470期】
【图像识别】基于matlab RBF手写数字识别【含Matlab源码 471期】
【图像识别】基于matlab花朵分类【含Matlab源码 472期】
【图像增强】基于matlab拉氏滤波的图像质量提升【含Matlab源码 488期】
【边缘检测】基于matlab CNN的灰度图像边缘提取【含Matlab源码 490期】
【图像增强】基于matlab虹膜图像高斯滤波、低通滤波、巴特沃斯滤波【含Matlab源码 501期】
【视频识别】基于matlab 高斯模型视频车辆计数【含Matlab源码 503期】
【视频识别】基于matlab视频的车流量统计【含Matlab源码 504期】
【图像识别】基于matlab Fisher分类手写数字识别 【含Matlab源码 505期】
【图像去噪】基于matlab GUI小波、中值、维纳及频域上的滤波【含Matlab源码 506期】
【图像分割】基于matlab DBSCAN超像素分割【含Matlab源码 515期】
【图像分割】基于matlab RGB颜色分层图像分割【含Matlab源码 516期】
【图像拼接】基于matlab Harris角点检测的图像拼接【含Matlab源码 517期】
【图像识别】基于matlab GUI BP神经网络手写数字识别【含Matlab源码 518期】
【图像识别】基于matlab 苹果质量检测及分级系统【含Matlab源码 519期】
【图像去噪】基于matlab GUI butterworth、中值、维纳、小波去噪【含Matlab源码 520期】
【图像隐写】基于离散小波变换(DWT)与奇异值分解(SVD)相结合的数字水印【含Matlab源码 521期】
【图像识别】基于matlab yolo v2车辆检测识别【含Matlab源码 581期】
【图像分割】基于GUI FCM&KFCM MRI图像的分割【含Matlab源码 582期】
【图像分割】基于GUI类间方差阈值图像分割与腐蚀膨胀【含Matlab源码 583期】
【图像分割】基于matlab 2D水平集的三维医学图像分割【含Matlab源码 584期】
【图像识别】基于matlab GUI手指指尖的图像采集与检测【含Matlab源码 585期】
【图像识别】基于matlab GUI指纹识别【含Matlab源码 586期】
【图像识别】基于matlab 机器视觉颜色识别系统【含Matlab源码 588期】
【人脸识别】基于matlab PCA+SVM 表情识别评分系统【含Matlab源码 593期】
【图像识别】基于matlab自助生鲜超市【含Matlab源码 594期】

猜你喜欢

转载自blog.csdn.net/TIQCmatlab/article/details/115064362