FAST角点检测离散圆形扫描
FAST角点检测离散圆形扫描
目的是扫描离散圆内所有点,计算灰度质心,
过程为小半径到大半径极坐标形式扫描,最终如下,对圆内所有坐标进行扫描
代码:
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);