Remove reflection from an Image

I have a video frame from which I would like top remove the reflection and select the longest edge. How can I achieve this?

Answers (1)

Adjust your lighting. And try putting polarizers in front of your lamp, and a rotatable one in front of your camera. It's far, far better to prevent the reflections in the first place than to try to alter your image to remove them. You will definitely get a better image if you prevent them than if you try to "fix" your image post-capture.

3 Comments

The issue is! I want to provide a universal solution with this, and I cannot ask everyone to use a polarizer. Is there anyway I can remove it in some other way?
Total agreement. Far better to not allow an artifact into your image, than it is to remove it once it is there.
Sorry, there is no universal "reflection removal and longest edge finding" algorithm. The best you can do is to threshold for bright stuff and then use regionfill. Or better yet use a content-aware regionfill like Photoshop has. As far as finding lines you can try the examples in the documentation for hough and houghlines.

Sign in to comment.

Asked:

on 2 Mar 2023

Commented:

on 2 Mar 2023

Community Treasure Hunt

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

Start Hunting!