Ask Your Question

Detecting spreaded white spots of light on a noisy gray-scale image.

asked 2014-08-01 11:37:15 -0500

konstunn gravatar image

updated 2014-08-01 11:49:37 -0500

My task seems may be trivial.

For those who knows, this is for Shack-Hartmann wavefront sensor.

I need to get coordinates of these white spots.

link on example images

example image

image description

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2014-08-01 12:52:28 -0500

Haris gravatar image

You could do,

  1. Threshold the image.

  2. Find contour.

  3. Calculate central point for each contour using Image Moments.

edit flag offensive delete link more


That sounds true. Thanx. I've also tried to use bilateral filter first of all. - And it's a really good practice for benefit.

konstunn gravatar imagekonstunn ( 2014-08-02 08:07:05 -0500 )edit

answered 2014-08-01 19:30:43 -0500

rwong gravatar image

If your dot patterns are perfectly aligned (to within one pixel of a perfect grid), you can use cv::reduce to compute a row projection profile and a column projection profile respectively. Then, you can detect the peaks on each, and use those row and column indices to find the approximate position of each dot.

If your dot patterns are not perfectly aligned, there are other techniques applicable, with increasing order of difficulty of implementation.

edit flag offensive delete link more


Thank you for your answer, but... No thing, that is real, is perfect. My images which I need to process are from the real wavefront sensor.

konstunn gravatar imagekonstunn ( 2014-08-02 09:45:49 -0500 )edit

Question Tools


Asked: 2014-08-01 11:37:15 -0500

Seen: 2,178 times

Last updated: Aug 01 '14