我想通过添加更多尺度来改进简单的哈里斯角检测器。
我不需要尺度不变的兴趣点,只是为了通过处理更多尺度来检测更多点。
维基百科说有两个 sigma 涉及:一个衍生规模 和整合规模 .
因此,在给定级别计算衍生图像后,我使用大小为高斯滤波器对它们进行平滑处理,然后对于每个位置在图像中我有矩阵:
在哪里和是平滑的图像(与在各自的位置。
如何应用集成量表现在?
我是否必须存储单独的图像,和并用在计算矩阵和哈里斯角响应之前?
我想通过添加更多尺度来改进简单的哈里斯角检测器。
我不需要尺度不变的兴趣点,只是为了通过处理更多尺度来检测更多点。
维基百科说有两个 sigma 涉及:一个衍生规模 和整合规模 .
因此,在给定级别计算衍生图像后,我使用大小为高斯滤波器对它们进行平滑处理,然后对于每个位置在图像中我有矩阵:
在哪里和是平滑的图像(与在各自的位置。
如何应用集成量表现在?
我是否必须存储单独的图像,和并用在计算矩阵和哈里斯角响应之前?
我认为第一次平滑,由, 仅用于获得更稳定的导数,而在第二步中,高斯卷积与完成以建立应用运算符的“比例空间”。
忽略,这在 Matlab 中看起来像这样:
dx = [-1 0 1; -1 0 1; -1 0 1]; % Simple mask for derivative
Ix = conv2(im, dx, 'same'); % Convolve against image
Iy = conv2(im, dx', 'same'); % Again for y-direction with transposed mask
% Gaussian filter, as defined by Kovesi
% www.csse.uwa.edu.au/~pk/Research/MatlabFns/index.html
sigma = 1;
g = fspecial('gaussian', max(1, fix(6*sigma)), sigma);
% Determine smoothed squared image derivatives via convolution
Ix2 = conv2(Ix.^2, g, 'same');
Iy2 = conv2(Iy.^2, g, 'same');
Ixy = conv2(Ix.*Iy, g, 'same');
% Metric to define the corner score
cim = (Ix2.*Iy2 - Ixy.^2) - k*(Ix2 + Iy2).^2; % Original measure
cim = (Ix2.*Iy2 - Ixy.^2)./(Ix2 + Iy2 + eps); % Kovesi measure