Hi, i have two questions !
The first, if there is a fast algorithm to auto-enhance a gray-scale image. Histogram methods doesn't work for me, because it's slow.
And the second question is, if there is a fast algorithm to classify a circle, and after, find the center of it. I'm using the Hough Transform, but it's also a very slow method.
Does anybody know others ? If it knows, could show me a code or a pseudo code in any language.
Sorry. I'm afraid I don't understand.
What is an "algorithm OOP"?
I'm not sure how the previous post relates to the most recent one. You have blurred QR codes and you want to read them? This sounds like a new problem that isn't related to your previous post.
There are many missing details. Is the blurring uniform? What is the source of the blurring? Have you tried a simple thresholding or other image binarization method? If the Binarize function doesn't work, then this requires much more detail to solve.
Thanks so much for your answers, Sean Clark!
The ImageFileApply will be absolutely useful for me.
However, my supervisor doesn't want me to use histogram methods, here's why.
We have to read a QR Code of a scanned image, but sometimes the image has some kind of blur between the B & W, which make this code impossible to read.
So, i have to develop an algorithm OOP ASAP that can enhance the contrast or correct the background of this image.
Would be great if you have other tips
Thanks again Sean!
The answers to these questions really depend on a lot of context. What do you mean by AutoEnhancing? There's a lot of things that could mean. You're probably not going to beat the speed of HistogramTransform. Maybe if you have a batch of photos you can use the same histogram transform over and over on different images and use out of core image processing functions such as ImageFileApply to apply the transformation. That might be quicker with large or a batch of large images.
A simple and dirty way I've found circles involves using MorphologicalComponents to segment the image into subimages with just a single circle in them. Average the values of the circle's pixels to find the center. Average the distance from the center to each circle pixel to find the cirlce's radius. This works okay for simple applications.