FAST角点检测离散圆形扫描

发布时间 2023-10-10 15:41:31作者: WWHf

FAST角点检测离散圆形扫描

image-20231010152243028

目的是扫描离散圆内所有点,计算灰度质心,

untitled untitled

过程为小半径到大半径极坐标形式扫描,最终如下,对圆内所有坐标进行扫描

untitled

代码:

clc
clear all
close all
%% 初始化参数
% 正方形绘图边长
Side = 11;
%当前扫描坐标
current = zeros(1,2);
%上次坐标
last = zeros(1,2);
%定义验证图片数组
pic = zeros(Side,Side);
%赋值中心点
pic((Side+1)/2,(Side+1)/2) = 1.0;
%圆形扫描过程
for r = 1:(Side - 3)/2
    m =  (r+1)^2
    for i = 0: 0.5 :m
        current = [(Side+1)/2 - int16( r * cos( i * pi*2/m ) ), (Side+1)/2 + int16( r * sin( i * pi*2/m ) ) ];
        if current(1,1) ~= last(1,1)||current(1,2) ~= last(1,2)
            pic(current(1,1), current(1,2) )  = (255 - r*20)/255;
            last = current;
        end
    end
end
%% 显示
%自适应图片大小
imshow( pic ,'InitialMagnification','fit')
%开启坐标
axis on;
%设置坐标范围
xlim([0 Side + 1]);  
ylim([0 Side + 1]);
%色阶bar展示
colorbar
%颜色归一化映射
colormap(jet);