Você pode localizar os máximos locais para um determinado raio. Por exemplo, você escaneia a imagem Hough, obtendo picos como máximos somente quando eles são máximos em uma janela .3×3
O segundo passo pode ser refinar a posição de pico com precisão de sub-pixel. Isso pode ser feito por encaixe de parábola.
Suponha que o valor na imagem Hough seja onde é a posição 2D. Agora você gostaria de encontrar um vetor de correção que maximize . Isso pode ser escrito usando a expansão Taylor:x p f ( x + p )f(x)xpf(x+p)
f(x+p)≈f(x)+pTf′(x)+12pTf′′(x)+p
O vetor de correção é então
p=−f′′(x)−1f′(x)
As derivadas podem ser calculadas a partir da imagem de Hough por diferenciação finita .
Observe que é uma matriz Hessian é um vetor de 2 (gradiente horizontal e vertical); portanto, também é um vetor de 2 que especifica uma mudança de sub-pixel para obter posição precisa do maximizador local.f′′(x)2×2f′(x)p
A equação acima pode ocasionalmente gerar mudanças de mais de 1 pixel. Nesse caso, a vizinhança do maximizador não possui uma forma parabólica e talvez você não queira fazer a correção ou deve mesmo abandonar o maximizador candidato.
center of gravity
?