How could I correct for glare when processing image?

10 views (last 30 days)
I'm working on a code to track the postion of debris. The code converts the image first to gray scale and then to binary. It then takes the median value of the x-component of all pixels which are black. This gives the approximate x position of the debris (since the debris is darker than the water). However, when light reflects off the block, that portion does not get picked up, shifting the calculated position. Is there a way to adjust for this?
image.png

Answers (1)

Image Analyst
Image Analyst on 9 Dec 2018
It's so much easier to prevent it in the first place than to correct it, which can't be done perfectly and without artifacts. Why don't you ust use crossed polarizers, or HDR photography?
  14 Comments
Ephraim Bryski
Ephraim Bryski on 12 Dec 2018
The debris definitely does influence the background with shadows and reflections. The sediment on the bottom of the flume also moves around a bit changing the background. I don't think we would be able to physically change the background, as we need to finish the experiment very soon.
Image Analyst
Image Analyst on 12 Dec 2018
Then you may just have to fallback onto manual tracing since you have so little time - not enough to develop a robust algorithm. See my two attached demos for imfreehand.
If you just want to count things, you could use impoint() or ginput() and count the number of times the user clicked on debris objects. Use imfreehand or it's newer replacement drawfreehand() if you need areas of objects.

Sign in to comment.

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!