【图像识别】基于matlab GUI指纹识别【含Matlab源码 586期】

一、简介

1 指纹识别的引入和原理
1.1 指纹的基本知识
指纹,由于其具有终身不变性、唯一性和方便性,已几乎成为生物特征识别的代名词。指纹是指人的手指末端正面皮肤上凸凹不平产生的纹线。纹线有规律的排列形成不同的纹型。纹线的起点、终点、结合点和分叉点,称为指纹的细节特征点(minutiae)。如图1-1所示。
在这里插入图片描述
1.2 指纹识别的原理及算法流程
指纹识别即指通过比较不同指纹的细节特征点来进行鉴别。指纹识别技术涉及图像处理、模式识别、计算机视觉、数学形态学、小波分析等众多学科。由于每个人的指纹不同,就是同一人的十指之间,指纹也有明显区别,因此指纹可用于身份鉴定。由于每次捺印的方位不完全一样,着力点不同会带来不同程度的变形,又存在大量模糊指纹,如何正确提取特征和实现正确匹配,是指纹识别技术的关键。
指纹识别技术主要包括三大部分:指纹图像采集、指纹预处理、特征提取与匹配。如图1-4所示。
在这里插入图片描述
2 指纹图像预处理
图像预处理是对原始图像进行的一种前期处理,方便后续的模块识别。无论采用何种方式获取的指纹图像, 都有一部分由于质量原因, 不能被系统直接识别,因此图像的预处理就显得非常有必要。
指纹图像的预处理目的就是将自己感兴趣的目标区域保留下来,去除背景区域和没有用的部分,同时根据指纹目标区域中脊线的结构特征,采取较好的滤波方法,提高指纹脊线清晰度,平滑脊线边缘的毛刺和空洞,抑制图像噪声,保证指纹特征的可靠提取,并使灰度图像转化成黑白的二值图像,最终得到脊线结构清晰的单像素宽的二值图像。本文预处理的主要流程如图2-1所示。
在这里插入图片描述
2.1 指纹图像的采集
因本设计重点是对指纹图像的处理,最终得到匹配结果,因此指纹图像的获取并非本设计的重点。指纹图像的获取可以借助市面上的指纹采集器货得,或者自行利用手机和数码相机等拍摄器材采集。
2.2图像的灰度处理
图像的灰度化是保留原有像素的透明度的,即透明度不参与像素的运算。该运算公式为:
gray = R 0.299 + G * 0.587 + B * 0.114
这个公式的意思是原图的一个像素区域包含了RGB的三个颜色值,而目标灰度图上相对应的像素上的颜色值为由上面的公式计算得到。这里有个问题就是,你需要结果图是24位(如果包含Alpha则是32位)还是8位,如果是24位,则结果灰度图还是RGB的,只不过R=G=B=gray,如果是8位的,一个像素就只包含一个颜色值gray。
图像的灰度化是图像处理中很基本的算法,同时也是其他图像处理或是识别的基础,有些智能算法都是基于单色8位灰度图进行的,因为他减少了计算量。
2.3 图像的二值化
二值化就是将图像上的像素点的灰度值设置为0或1,也就是将整个图像呈现出明显的黑白视觉效果。指纹图像中包括目标和背景还有众多噪声,要想从原始的指纹图像中提取出目标,一般用的方法是设定一个阈值T,用T将图像中像素数据分成两部分,若输入灰度图像的函数为:
在这里插入图片描述
通过求解阈值T,从而把图像f(x,y)分成目标和背景两个区域,其中大于T的像素群为目标区域,小于等于T的像素群为背景区域,阈值的选取原则是:(1)尽可能的多保存图像信息;(2)尽可能的减少噪声。
本文将讨论基于方向场的二值化处理。
采集到的指纹图像一般都有比较清晰的方向场,方向场估计得准确与否直接决定了图像二值化算法的效果。
为估计方向场,我们把指纹脊线的走向分为如下8个方向,如图2-6所示:
在这里插入图片描述
我们先对分割后的图像进行了平均滤波,然后对图像的每一个像素,为确定在该像素处的脊线方向,在以该像素为中心的99窗口内,分别计算8个方向上的经过处理后的灰度值,即将图2-6中数字1到8的位置的像素灰度值去除其中最大summax和最小值summin,若满足最大的summax和最小的summin与 4I(x,y))之和大于 (3
summ/8),则该像素点的脊线方向为summin,否则为summax.确定完脊线方向后再由该方向场对图像进行二值化。
结果如下:
在这里插入图片描述
2.4 图像细化
二值化处理后,脊线仍然有一定的宽度,指纹识别的匹配是只利用图像的点或线的特征,这些点或者特征只与脊线的走向或者纹理有关系,有一定宽度的二值化图像显得有些多余,所以需要对二值化图像进行细化处理,指纹二值化图像经过细化处理即可得到一个单一像素宽度的脊线,经过上述的细化处理,在后续的指纹特征提取和特征匹配的算法中大大的减少了计算的冗余量和出错率,使得指纹识别的速度和准确度有了很大的提高。
细化目的是在不破坏指纹图像连通性的情况下去除掉多余的信息(即多余的像素点),将二值化的指纹图像的脊线采用逐层剥离的方法,将图像中的指纹脊线细化成单象素宽(实际为保存原图的骨架)。
这里是利用matlab库函数bwmorph,调用格式为:BW2 = bwmorph(BW,operation,n)应用形态学操作n次,n可以是Inf,这种情况下该操作被重复执行直到图像不再发生变化为止。
‘thin’ n = Inf时,减薄目标成线。没有孔洞的目标缩成最低限度的连通边;有孔洞的目标缩成连通环。
3 图像特征提取和特征匹配
3.1 特征点提取
(1)提取指纹的端点和交叉点
端点和交叉点均是指纹图像的两个细节特征,同时在指纹识别的的过程中起着重要的作用,因为识别的首要前提就是找到图像的所有端点和交叉点。通过point.m函数来找出细化后指纹图像的所有端点及交叉点。
将八邻域中的每个点依次两两相减并取其绝对值,后将所有结果加起来,因为端点处是两个点,即和为2时细化图像有端点,和为6时图像特征为交叉点。
运行完上面的point.m函数的程序后,能把细化图像的的端点和交叉点全部找出。在定义函数的程序中有数组txy,其中t为横坐标,x为纵坐标,y为2时为端点,y为6时为交叉点。
(2)去除图像边缘的端点[去伪]
可以看出,指纹图像细化的边缘,由于采集仪器不同的关系,因此不可避免的会多出很多的端点,这些端点不仅增加了后续的工作量,还可能导致识别过程中产生错误,所以要把这些边缘的端点都去除,在matlab中这些操作都可以采用一函数来实现,本实验中设计了一cut.m函数来进行处理。
3.2 找出特征点
设置三个函数来找出图像的特征点:
(1)single_point函数
经过去除边缘端点的操作后进一步减少了指纹细化图像中的端点和交叉点的个数。下面就需要找出一些在细化图像中比较独特的端点来作为识别的特征点。在一幅细化的指纹图像中,如果在一个像素(该像素为端点)的周围半径为r(r为像素的个数)的圆内没有任何的端点或者交叉点,那么随着r的逐渐增大,这样的点就会越来越少,因此该点也就越来越独特。于是我们设计了一single_point函数来找出这样独特的点。
(2)walk函数
为了进一步找出特征点,我们还需定义一walk函数,它的主要作用就是判断某一端点在num的距离内是否还有其他的端点。
(3)last1函数
single_point函数和walk函数都是找细化图像特征点的函数,因此可以设计另一个新的last1函数,通过执行
[pxy3,error2]=last1(thin,r,txy,num)
可以找出一端点以r为半径的像素内的任何端点和交叉点且沿着脊线走向的num内没有任何的其他端点和交叉点。
3.3 特征点匹配
由上文的函数可知,已经找出了指纹细化图像中的特征点,并画出了一段独特的脊线,在图像中用红色来标示。下面就是指纹匹配[12]的问题了。在此我们设置了三层匹配。
(1)脊线长度匹配
对于上面的函数即可找出细化图像中的特征点和一段脊线,沿着该段脊线走向,每隔五个像素测量一下,看到到原始端点的距离,此段距离由一distance函数得到。
函数结果会得到一数组(内有脊线的长度信息)。如果两幅指纹细化图像中的纹路是相同的,则它们就包含相同的端点和交叉点及用distance函数找出的相同的一段脊,则这两个指纹图像中的长度数组对应的位置比例会基本相等(我们选择的指纹图像大小基本相等,因此该比例选1),因此函数最终定义了一个数f=(sum(abs((d1./d2)-1))),其中若f的值越接近于0,这两幅图像的匹配度就越高,在一定范围的阈值内我们可以认定为匹配。
(2)三角形边长匹配
找到一个指纹细化图像的特征点后,可以找出距离这个端点距离最近的两个端点或者交叉点,与这个指纹图像细化的特征点构成一个三角形,若两幅图像中的边长比例基本相等(原理同上,也选1),则说明这两幅图像匹配,越接近于1说明这两幅指纹图像越匹配。其中设置一find_point函数来找出距离最近的端点或交叉点。
函数最后定义了一个数ff=(sum(abs((dd1./dd2)-1))),因此ff值越接近于0,这两幅指纹图像的匹配度越高,在一定范围的阈值内我们可以认定为匹配。

二、源代码

clear;
close all;
figure
w=0;
text11='指纹1';text12='指纹 2';
h=uicontrol('Style','pushbutton','String','开始','Callback','image1=scanimage;image2=scanimage;subplot(2,2,1);imagesc(image1);title(text11);subplot(2,2,2);imagesc(image2);title(text12);colormap(gray);','Position',[0,10,80,20]);
%text='Please input the block size';
%h=uicontrol('Style','pushbutton','String','二值化','Callback','W=inputdlg(text);
%W=str2num(char(W));subplot(2,2,3);o1=thres(image1,W);title(text21);subplot(2,2,4);o2=thres(image2,W);title(text22);','Position',[100,10,80,20]);
function out=thinning5(in)


%initial index table
%index=[0	0	0	0	0	0	0	1	0	0	1	1	0	0	1	1	0	0	0	0	0	0	0	0	0	0	1	1	1	0	1	1	0	0	0	0	0	0	0	0	1	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	1	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	1	0	0	0	1	0	0	0	0	0	0	0	1	0	0	0	1	0	0	0	0	0	1	1	0	0	1	1	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	1	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	1	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	1	0	0	0	0	0	0	0];
%new index table
%index=[0	0	0	0	0	0	0	1	0	0	1	1	0	0	1	1	0	0	0	0	0	0	0	0	0	0	1	1	1	0	1	1	0	0	0	0	0	0	0	0	1	0	1	0	1	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	1	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	1	0	0	0	1	0	0	0	0	0	0	0	1	0	0	0	1	0	0	0	0	0	1	1	0	0	1	1	0	0	1	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	1	0	0	0	0	0	1	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	1	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	1	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	1	0	0	0	0	0	0	0];
out=in;
index=[1	0	0	1	0	0	1	1	0	0	1	1	1	0	1	1	0	0	0	0	0	0	0	0	1	0	1	1	1	0	1	1	0	0	0	0	0	0	0	0	1	0	1	0	1	0	0	0	1	0	0	0	0	0	0	0	1	0	0	0	1	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	1	0	0	0	1	0	0	0	1	0	0	0	0	0	0	0	1	0	0	0	1	0	1	1	1	0	1	1	0	0	1	1	0	0	1	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	1	1	0	0	0	0	0	1	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	1	0	0	1	1	0	0	0	0	0	0	0	1	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	1	0	0	0	0	0	0	0	0	0	0	0	0	1	1	0	0	0	0	0	0	1	0	0	0	0	0	0	0];
[width,height]=size(in);
length=width*height;
for i=2:width-2
    for j=2:height-2
        if out(i,j)==1    
           num= out(i-1,j-1)+out(i-1,j) * 2+out(i-1,j+1) * 4+out(i,j+1) * 8+out(i+1,j+1) * 16+out(i+1,j) * 32+out(i+1,j-1) * 64 + out(i,j-1) * 128;
           if  index(num+1)==1
               out(i,j)=0;             
           end           
           if num==74
              out(i,j+1)=0;
              out(i+1,j+1)=0;
            end
           if num==146
              out(i-1,j)=0;
              out(i-1,j+1)=1;
           end
           if num==164
               out(i-1,j-1)=1;
              out(i,j-1)=0;
           end
           if num==41
             out(i+1,j-1)=1;
            out(i+1,j)=0;
            end
            %保留模板
           if out(i-1,j)==1 & out(i-1,j+2)==0 &out(i,j-1)==0 &out(i,j+1)==1 &out(i,j+2)==0 & out(i+1,j)==1 & out(i+1,j+2)==0 
               out(i,j)=1;
           end
           if out(i-1,j+1)==0 &out(i-1,j+2)==0 &out(i,j-1)==0 & out(i,j+1)==1 & out(i,j+2)==0 & out(i+1,j+1)==1
               out(i,j)=1;
               if num==120 & out(i-1,j+2)==0 & out(i+1,j+2)==1 &out(i+2,j-1:j+2)==[1 1 1 1]
                   out(i,j)=0;
               end
           end
           if out(i-1,j+1)==1 & out(i,j-1)==0 & out(i,j+1)==1 &out(i,j+2)==0 & out(i+1,j+1)==0 out(i+1,j+2)==0
               out(i,j)=1;
           end
           if out(i-1,j)==0 & out(i,j-1)==1 & out(i,j+1)==1 & out(i+1,j)==1 &out(i+2,j-1)==0 & out(i+2,j)==0 & out(i+2,j+1)==0
               out(i,j)=1;
           end
           if out(i-1,j)==0 & out(i+1,j-1)==1 & out(i,j+1)==1 & out(i+1,j+1)==0 & out(i+2,j)==0 & out(i+2,j+1)==0
               out(i,j)=1;
               if num==225 & out(i-1,j+2)==0 & out(i,j+2)==0 & out(i+1,j+2)==0 & out(i+2,j-1:j+2)==[1 0 0 0]
                   out(i,j)=0;
               end
           end
           if out(i-1,j)==0 & out(i+1,j-1)==0 & out(i+1,j)==1 & out(i+1,j+1)==1 & out(i+2,j-1)==0 & out(i+2,j)==0
               out(i,j)=1;
               if num==60 & out(i-1,j+2)==1 & out(i,j+2)==1 & out(i+1,j+2)==1 & out(i+2,j-1:j+2)==[0 0 1 1]
                 
               end
           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期】

猜你喜欢

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