• matlab练习程序(BRIEF描述子)


    BRIEF特征全称:Binary Robust Independent Elementary Features。是一种能够快速计算图像特征描述符的方法,同样能够降低特征匹配的时间。

    算法计算步骤如下:

    1.首先对一张图像计算其特征点,这里就用matlab自带的harris角点检测了,harris代码细节可以参考这一篇博客

    2.对图像进行高斯滤波,这里选用9*9矩阵,主要是为了去除随机噪点。

    3.以特征点为中心,取SxS的邻域窗口。在窗口内随机选取一对(两个)点,比较二者像素的大小,进行如下二进制赋值。

    其中,p(x),p(y)分别是随机点x=(u1,v1),y=(u2,v2)的像素值。

     4.选窗口内随机点对的策略有以下五种方法,推荐第二种:

    对应的邻域随机点对图像如下(一条线段的两个端点是一对):

    5.最终就得到了多组二进制编码,后续匹配可以利用编码距离来确定特征点的相似度。

    一定要注意的是后续匹配要选用相同的点对,所以这组点对是要保留的。

    matlab代码如下:

    clear all;
    close all;
    clc;
    
    R = 48;     %特征邻域窗口直径
    K = 9;      %高斯滤波半径
    N = 256;    %特征位数
    
    img=imread('lena.jpg');
    imshow(img)
    [h,w]=size(img);
    
    p = detectHarrisFeatures(img);          %系统自带的检测harris角点
    p = p.Location;
    
    p = p(p(:,1)>R & p(:,1)<h-R & ...       %将太靠近边界的特征点去掉,避免邻域随机点越界
        p(:,2)>R & p(:,2)<w-R,:);
    
    H=fspecial('gaussian',[K K],2);         %高斯平滑
    img=imfilter(img,H,'replicate');
    
    s = normrnd(0,R/5,N,4);                 %生成邻域中随机点对GII
    figure;                                 %显示一下
    for i=1:N
       plot(s(i,1:2),s(i,3:4));    
       hold on;
    end
    
    tao = zeros(length(p),N);
    for i=1:length(p)           %生成所有特征点的brief描述子    
        px = floor(p(i,:) + s(:,1:2));      %懒得插值提亚像素值了,直接最邻近
        py = floor(p(i,:) + s(:,3:4));
        
        for j=1:N
            if img(px(j,2),px(j,1)) < img(py(j,2),py(j,1)) 
                tao(i,j) = 1;
            else
                tao(i,j) = 0;
            end
        end
        
        img(floor(p(i,2)),floor(p(i,1))) = 255;
    end
    figure;                 %显示harris角点
    imshow(img,[])
    
    figure;                 %显示一下描述子
    imshow(tao,[])

    结果如下:

    原图:

    Harris特征点:

    邻域随机点对,这里使用GII:

    BRIEF描述子,这里可视化了:

    参考:https://blog.csdn.net/hujingshuang/article/details/46910259

  • 相关阅读:
    eventbus 备注
    Retrofit 备注
    RxJava 备注
    dagger2 备注
    JVM 备注
    UI控件(UIPickerView)
    Android 知识杂记(MVP模式)
    UI控件(UIToolbar)
    UI控件(UIAlertController)
    UI控件(UIScrollView)
  • 原文地址:https://www.cnblogs.com/tiandsp/p/12032183.html
Copyright © 2020-2023  润新知