Extracting bright spots on image

14 views (last 30 days)
Does any of you can help me on finding bright spots on an image?
We have a traffic light and the problem is that we have to extract the exact coordinates of each led of traffic light. Check the attached photo.
One idea is that to somehow binerize the image so that the pixels with high intensity get a value of 1 and others get 0. Then using the bwconncomp function we can find the coordinates of each led.
The problem is that binearizing the image doesn't always return good results. One example of binerizing the attached image is also included.
Any idea on how to binerize image so that the effect of light from the adjacent leds is removed?

Accepted Answer

Steve Eddins
Steve Eddins on 8 Jul 2022
Try something like the following:
  1. Convert to grayscale (using rgb2gray).
  2. Use imextendedmax to pick out the bright peaks. You'll need to experiment to find an appropriate H value. To do that, look at how much brighter the LED peaks are compared to their immediate surroundings.
  3. Use a morphological opening (imopen) with a small disk for additional spot separation and cleanup.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!