3
$\begingroup$

This is a question about pattern recognition and feature extraction.

I am familiar with Hough transforms, the Fast Radial Transform and variants (e.g., GFRS), but these highlight circles, spheres, etc.

I need an image filter that will highlight the centroid of a series of spokes radiating from it, such as the center of a asterix or the spokes of a bicycle wheel (even if the round wheel is obscured. Does such a filter exist?

$\endgroup$
  • $\begingroup$ What do you have in hand? Single object of interest or a complete scene? Binary thresholded image or a picture? If it is a binary image of a single shape, the answer would be extremely simple. $\endgroup$ – Cem Kalyoncu Oct 16 '18 at 8:47
  • $\begingroup$ It would generally be an unthresholded image with a complex background. Another example would be a dandelion in grass. The edges on the grass lie in more or less random directions, while the dandelion leaves radiate out from a center. $\endgroup$ – Andrew Eisenhawer Oct 16 '18 at 23:37
  • $\begingroup$ For the dandelion case, it is easy to segment out the broad part of the leaves, but the center area isn't similar. $\endgroup$ – Andrew Eisenhawer Oct 16 '18 at 23:39
1
$\begingroup$

The Hough Transform extended to orthogonal ellipses uses this model, accumulating on $\theta$ for all $\{x, y\}$ with parameter matrix

\begin{Bmatrix} c_x & c_y \\ r_x & r_y \end{Bmatrix}

where

$$1 = \dfrac {(x - c_x) \, \cos \theta} {r_x} + \dfrac {(y - c_y) \, \sin \theta} {r_y}$$

The question is looking to detect the normal lines, so any of the several algorithms for the above model can be modified to accumulate on $r$ for all $\{x, y\}$ with parameter matrix

\begin{Bmatrix} c_x & c_y \\ r_x & r_y \end{Bmatrix}

where

$$0 = \dfrac {x - c_x} {r_x} + \dfrac {y - c_y} {r_y}$$

Lines that intersect $(c_x, c_y)$ don't rely on $r_x$ or $r_y$. However, it may be useful to recognize that, if radially equally spaced, viewing the lines from a position other than one that projects into the plane of the lines at $(c_x, c_y)$ will present a line density that is a function of $\arctan (r_x, r_y)$.

$\endgroup$
  • 1
    $\begingroup$ Yes, I soon realized that I can just modify the hough transform to remove the orthogonality (or rather, add another) before accumulation. I will post an update when I have a proof -of-concept coded. Thanks! $\endgroup$ – Andrew Eisenhawer Oct 22 '18 at 20:35
0
$\begingroup$

First step would be getting the object out of the scene. This bit is not trivial in your case, however, there are many methods to choose from. I suggest reading about watershed threshold algorithm.

Second part is easier. Once you have a single segmented object at hand, perform noise removal. Next step is to extract the contours. Find the center of gravity, transform coordinates to polar and represent these contours as a function which has the x axis as degrees and y axis as distance from the center. Take the Fourier transform of this function. If the shape is symmetrical, there will be few non-zero entries, and a large spike in the spectrum.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.