精华内容
下载资源
问答
  • 局部三值模式
    千次阅读
    2019-05-08 17:33:00

    一、LBP算子

      局部二值模式是一种灰度范围内的非参数描述子,具有对灰度变化不敏感且计算速度快等优点[1].LBP算子利用中心像素的领域像素与中心像素的比较结果进行编码。常见的LBPP,R模式有:

       P,R分别代表领域像素点的个数和领域半径,上图所示分别为8点半径为1;16点半径为2;8点半径为2的模式。

      LBP算子计算实例如下:从左上角开始,沿顺时针方向依次与中心像素进行比较,如果大于等于中心像素的取值为1,否则为0.得到一个01序列,我们视为一个二进制数。将二进制数转化为十进制数即可。

      LBP算子的数学表述如下:

      以下,我们根据实例来编写代码:

    clear all;
    clc;
    img=imread('lena.jpg');
    img=rgb2gray(img);
    [m,n]=size(img);
    imgn=zeros(m,n);
    for i=2:m-1
       for j=2:n-1 
            for p=i-1:i+1
                for q =j-1:j+1
                    if img(p,q) > img(i,j)||img(p,q) ==img(i,j)
                        if p~=i || q~=j  
                            if(p==i&&q==j-1)                   
                                imgn(i,j)=imgn(i,j)+2^0;
                            end
                            if(p==i+1&&q==j-1)                
                                imgn(i,j)=imgn(i,j)+2^1;
                            end
                            if(p==i+1&&q==j)                 
                                imgn(i,j)=imgn(i,j)+2^2;
                            end
                            if(p==i+1&&q==j+1)                    
                                 imgn(i,j)=imgn(i,j)+2^3;
                            end
                            if(p==i&&q==j+1)                    
                                imgn(i,j)=imgn(i,j)+2^4;
                            end
                            if(p==i-1&&q==j+1)                    
                                imgn(i,j)=imgn(i,j)+2^5;
                            end
                            if(p==i-1&&q==j)                    
                                imgn(i,j)=imgn(i,j)+2^6;
                            end
                            if(p==i-1&&q==j-1)                    
                                imgn(i,j)=imgn(i,j)+2^7;
                            end
                        end
                    end
                end
            end 
       end
    end
    figure;subplot(1,2,1),imshow(img),title('原图');
    subplot(1,2,2),imshow(imgn,[]),title('LBP');
    

      代码输出结果如下:

     

    二、旋转不变LBP算子

      在LGS算子里,我们提到,这一类算子虽然在刻画领域相对明暗时非常有效,但是一旦图像发生旋转,则立即失效。与LGS算子不同的是,LBP算子中的P个位于同一个圆上,我们单纯考虑算子的图形时,算子每转过360/P度时,图形都能与原来重合,这是LGS算子难以做到。所以我们也因此就引入了旋转不变LBP算子。

      我们考虑酒桌上转盘上的菜,我们知道无论转盘如何旋转,转盘上的菜品相对位置都是不变的。也就是说,如果我们将眼前的菜按顺时针标记为0123456789。在他旋转的过程中,我们总能在桌子前的某一位置按照0123456789确定这一桌菜确实就是我所参与饭局的这一桌菜。

      我们回来考虑图像,旋转不变性,我们也只需要考虑算子在旋转过程中是否满足某一准则。正如我们说到的酒桌的例子一样。对于一个8点LBP算子而言,经过不同角度的旋转,我们最终会有8个序列组成的二进制数,也就是说能产生8个十进制数,如果我们以最小的那个二进制数为标记,经过旋转,大于它的LBP算子我们一律以最小值来考虑,经过旋转,但得到的算子结果是一样的。这样就能克服旋转带来的变化。

       其数学表达为:

     

    三、局部三值模式

      在LBP算子的基础之上,三值模式非常好理解。

      即把原来非1即0的情况,改成了1,0,-1的情况。

      与LBP算子不同的是,由于引入了-1,会出现负数的情况,所以在三值模式下,算子分程一正一负进行编码。

      由于中心像素作为阈值的存在,使得LTP算子具有更好的光照鲁棒性,能提升其鉴别能力。

      代码如下:

    img=imread('lena.jpg');
    img=rgb2gray(img);
    t=5;
    img=double(img);
    [m n]=size(img);
    imgn_upper=zeros(m,n);%初始化结果矩阵(正值)
    imgn_lower=zeros(m,n);%初始化结果矩阵(负值)
    for i=2:m-1
       for j=2:n-1 
            for p=i-1:i+1%遍历周边像素
                for q =j-1:j+1
                    if p~=i || q~=j  %不取目标像素
                            %%%正值提取结果
                         if (img(p,q) - img(i,j))>t||(img(p,q) - img(i,j))==t
                            if(p==i&&q==j-1)                   
                               imgn_upper(i,j)=imgn_upper(i,j)+2^0;
                            end
                            if(p==i+1&&q==j-1)                
                               imgn_upper(i,j)=imgn_upper(i,j)+2^1;
                            end
                           
                            if(p==i+1&&q==j)                 
                               imgn_upper(i,j)=imgn_upper(i,j)+2^2;
                            end
                            if(p==i+1&&q==j+1)                    
                               imgn_upper(i,j)=imgn_upper(i,j)+2^3;
                            end
                            if(p==i&&q==j+1)                    
                               imgn_upper(i,j)=imgn_upper(i,j)+2^4;
                            end
                            if(p==i-1&&q==j+1)                    
                               imgn_upper(i,j)=imgn_upper(i,j)+2^5;
                            end
                            if(p==i-1&&q==j)                    
                               imgn_upper(i,j)=imgn_upper(i,j)+2^6;
                            end
                            if(p==i-1&&q==j-1)                    
                               imgn_upper(i,j)=imgn_upper(i,j)+2^7;
                            end
                          %%%负值提取结果
                         elseif (img(p,q) - img(i,j))<-t||(img(p,q) - img(i,j))==-t
                            if(p==i&&q==j-1)                   
                                imgn_lower(i,j)=imgn_lower(i,j)+2^0;
                            end
                            if(p==i+1&&q==j-1)                
                                imgn_lower(i,j)=imgn_lower(i,j)+2^1;
                            end
                            if(p==i+1&&q==j)                 
                                imgn_lower(i,j)=imgn_lower(i,j)+2^2;
                            end
                            if(p==i+1&&q==j+1)                    
                                imgn_lower(i,j)=imgn_lower(i,j)+2^3;
                            end
                            if(p==i&&q==j+1)                    
                                imgn_lower(i,j)=imgn_lower(i,j)+2^4;
                            end
                            if(p==i-1&&q==j+1)                    
                                imgn_lower(i,j)=imgn_lower(i,j)+2^5;
                            end
                            if(p==i-1&&q==j)                    
                                imgn_lower(i,j)=imgn_lower(i,j)+2^6;
                            end
                            if(p==i-1&&q==j-1)                    
                                imgn_lower(i,j)=imgn_lower(i,j)+2^7;
                            end
                         end
                     end 
                end
            end
       end
    end
    subplot(1,2,1),imshow(imgn_upper,[]),title('LTP正值提取');
    subplot(1,2,2),imshow(imgn_lower,[]),title('LTP负值提取');
    

      代码输出结果:

     

    参考文献;

    [1]李思.复杂光照下图像特征提取.(D).西安:长安大学,2018.

     

    2019-05-08

    17:32:43

    转载于:https://www.cnblogs.com/lyxyhhxbk/p/10816863.html

    更多相关内容
  • 为有效地检测脑电图(EEG)中的癫痫信号,设计一维局部三值模式(1D-LTP)算子提取信号特征,并结合主成分分析(PCA)和极限学习机(ELM)对特征进行分类。通过1DLTP算子计算信号点的顶层模式和底层模式下的特征变换...
  • 针对局部值模式(local binary pattern,LBP)描述信息单一以及对噪声敏感的问题,提出一种多尺度自适应阈值局部三值模式(multi-scale adaptive local ternary pattern,MSALTP)编码算法。MSALTP首先将原始图像...
  • 通过自定义的阈值将邻域像素点与模块中心像素点相似的状态设为中间态,将局部值模式扩展为局部三值模式(LTP),从而获得比LBP更强的判别能力及对噪声与光照的鲁棒性;
  • 自适应中心对称局部三值模式的人脸识别
  • 一种基于局部三值模式的深度学习人脸识别算法.pdf
  • 基于自适应方向局部三值模式的人脸识别.pdf
  • 自适应中心对称局部三值模式的人脸识别.pdf
  • 一种改进的局部三值模式的人脸识别方法.pdf
  • 基于改进的局部三值模式和深度置信网络的人脸识别算法.pdf
  • 基于局部Gabor三值模式的人脸识别.pdf
  • 局部值模式LBP的matlab代码实现
  • 基于分段局部值模式的高光谱图像分类
  • 基于网格纵横局部值模式维人脸识别.pdf
  • 提出了两种基于主成分分析与局部值模式的高光谱图像分类算法。利用主成分分析去除高光谱图像的谱间冗余信息,对降维后的图像利用局部值模式进行空间纹理特征分析,采用稀疏表示分类和支持向量机分别对提取的特征...
  • LBP局部值模式,图像分成四块计算lbp值
  • 用LBP (局部值模式) 特征进行 人脸识别 代码
  • 针对方向局部值模式特征维数高且易受...其次,在方向局部模式中引入局部三值模式的思想,以减少噪声的影响。采用CURet、UIUC及Outex个纹理图像库进行实验,结果证明了该方法以较低的特征维数取得了更好的分类性能。
  • 针对传统局部值模式(LBP)及其一些改进方法会将具有不同灰度特征的邻域赋予相同的特征值和特征维数倍增的问题,提出一种基于均匀k均值和高维局部值模式的算法.该算法首先对原图进行切割得到子图;然后提取子图的...
  • 改进的局部值模式算子用于纹理分类
  • 一种新的局部值模式和卡尔曼滤波的跟踪检测方法
  • 采用局部值模式与深度信念网络的人脸识别.pdf
  • 基于深度卷积网络和局部值模式的跨年龄人脸验证
  • 由于在手写乐谱中搜索谱线位置比较困难,为提高乐谱谱线删除算法的稳健性,提出了一种基于多维局部值模式识别和XGBoost模型的手写乐谱谱线删除方法。根据乐谱图像的特点,设计并改进局部值模式算子,提取乐谱...
  • 提出了一种融合Gabor特征和局部三值微分模式(LTDP)的人脸识别算法,并在该算法中对LTDP方法进行改进,提出了自适应阈值算子。通过Gabor滤波器对人脸图像进行滤波,提取人脸多尺度、多方向的幅值特征;针对每个幅值...
  • 在数字图像处理和模式识别领域,LBP指局部值模式,英文全称:Local Binary Patterns。最初功能为辅助图像局部对比度,并不是一个完整的特征描述子。
  • 基于局部幅度三值模式的人脸识别.pdf
  • 针对数字图像处理及窜改中一种常用的处理模式——中值滤波,提出一种基于局部值模式(LBP)的中值滤波窜改检测方法。首先对待测图像利用基于中心对称像素的局部值模式算子(C-LBP)定位其特征提取区域,随后基于...
  • 局部值模式的改进形式:通过多阈值计算彩色,灰度等图像的lbp值
  • 人工智能-局部值模式和卷积神经网络在多姿态人脸识别中的应用研究.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 275,098
精华内容 110,039
关键字:

局部三值模式