How to enhance an image with respect to an image of much better quality.

2 views (last 30 days)
Hi, i'm working on a project to enhance a 16 bit greyscale image. These images come from a scanning machine that produces a header file with the relevant Min/Max contrast pixel values.
I have scanned the same item on 2 different machines to find microdefects. However, one of the machines doesn't perform well. Is there a way to enhance the defects of the poorer image to something similar that of the better quality image?
From the picture attached, Original 03 is the image from good machine. Original 04 is the image from the bad machine.
I have tried using imhistmatch() but it doesn't enhance the bad image enough. Furthermore, in order to use imhistmatch, i have to first convert both images into
Im03 = mat2gray(Im03,[MinCon3 MaxCon3]);
Im04 = mat2gray(Im04,[MinCon4 MaxCon4]);
imhistmatch(Im04,Im03,65535);
Also, I have tried enhancing the contrast, whites and blacks and offset gains. Including using filters such as wiener2, guassfilt2 and median. They do not benefit the imhistmatch() results.
Thank you.

Answers (1)

Massimo Zanetti
Massimo Zanetti on 9 Mar 2017
Try considering this: histogram matching
  1 Comment
Scott Lim
Scott Lim on 9 Mar 2017
Thanks Massimo. However i have used Histogram Matching. It wasn't good enough to emphasise on the small defects

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!