How can I 'subtract' the brighter parts of an image without making it too unnatural?

3 views (last 30 days)
Good day!
I want to lessen or subtract the brighter part of an image without it being too unnatural. I find thresholding [I(I>250) = 0] a bit awkward. I was hoping for the neighboring pixels to adjust, too. How can you do that?
I am pretty new with image processing and I am using imgradient for edge detection of crystals but I want to omit information for brighter parts of the image (maxima).
Here is an image of what I currently am working out.
Thank you very much.
  1 Comment
c4mm11
c4mm11 on 9 Jun 2016
Hi! Someone suggested using log, but it didn't do what I needed it to do since it just changes the brigtness of the whole image and not do it 'locally' to ''remove' the bright parts.
Anyone?

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 10 Jun 2016
You might want to use the "shadows and highlights" algorithm that Photoshop uses. I'm sure it's probably on the web somewhere. https://www.google.com/#q=photoshop+shadows+highlights+algorithm
  2 Comments
c4mm11
c4mm11 on 10 Jun 2016
Edited: c4mm11 on 10 Jun 2016
Thank you for the answer! I will check this out in a while. Just a quick question tho. I found out that what I want to do is similar with imhmax(I,h), but instead lower than h, I want to suppress higher than h. Is this possible?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!