MATLAB: Want to remove white patches of a image

image analysisimage processing

Best Answer

This is a standard photography problem - not really a MATLAB problem. First of all, use diffuse illumination, like a softbox. Then, put a polarizing sheet in front of it and put a rotatable polarizer on the camera lens. Rotate the polarizer until the specular reflections go away. This is the well known "crossed polarizers" or "cross polars" method that so well known to any photographer. It's much better to prevent the problem in the first place than to fix it.
I don't know why you want to get rid of them anyway. In fact jewelry stores go to special efforts to get those glints and specular reflections to appear. They use multiple point sources of light to create them. You'll notice you will never see broad fluorescent lamp panels in a jewelry store because those don't create glints.
Related Question