More theory before I ask a practical question based on the task I have.
I've discovered that performing a 2D-FFT (python or matlab implementations) on some test imagery I have results in a unique pattern. This pattern has so far been easily visually recognizable, but not numerically. The pattern appears as straight lines of some length in the 2D fft, when plotted.
I've tried to perform a Hough transform, stepping through the angles of where the lines are expected to be. While somewhat functional I haven't made a good implementation that works.
In talking with some ML folks, they suggested what every cool kid is doing- machine learning and training. Unfortunately I just don't have the data to do that. I was looking at trying to synthetically create some with POV-ray but that's beyond the scope I think I can afford to learn.
The closest I've seen for pattern recognition is based on character recognition, using an FFT (which link escapes me). But even then in that effort they're training lots of characters. I think this is the point that I'm failing- how do you extract out the shapes to train on?
All of the ML tutorials I've pushed through didn't have FFT in them; although I could substitute, I'd need a working dataset to feed in. Although transforming the Iris example into 2d-fft space might be an interesting effort....
If you've experience with extracting features from a 2D fft and could point me to examples to learn from, I'd be grateful.
Also tried: Gaussian filter to suppress frequencies in the 2D, Sobel, Canny (that's still in progress), Radon, Hough, and a few short other pattern matches/phase correlation. White paper/examples are probably the most valuable to me here. Thank you.
Edit: This is NOT my application here, but I found an example on a published website that is similar to, but not perfect, related to my questions. I hope the visualization makes things easier. Try not to read too much into the activity on the page (defect and crack/scratch detection). On this page, there is an image of multiple scratches and a 'filtered FFT' is done. That would be a good example (mine aren't filtered) of trying to recognize that 'x' present in the 2nd row, 3rd image.