# How to recognize non-circular radial symmetry in images?

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?

• 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. – Cem Kalyoncu Oct 16 '18 at 8:47
• 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. – Andrew Eisenhawer Oct 16 '18 at 23:37
• For the dandelion case, it is easy to segment out the broad part of the leaves, but the center area isn't similar. – Andrew Eisenhawer Oct 16 '18 at 23:39

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)$$.

• 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! – Andrew Eisenhawer Oct 22 '18 at 20:35

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.