MATLAB Answers


Comparison between two images

Asked by Angela
on 8 Dec 2018
Latest activity Edited by Walter Roberson
on 10 Dec 2018
I have an image that includes artifacts that i have removed through different processes.
I want to show that the final image is better in quality than the original with a quantitative way (not just visually).
I know there are some metrics that are used to show that two images might be different, for example cross correlation
but such calculation will only show that the two images are different. The goal is to show that the new image is smoother (i.e. better) than the previous one.
Is anyone familiar with such metric?


Sign in to comment.

2 Answers

Answer by Walter Roberson
on 8 Dec 2018

  1. replace entire image with a constant value
  2. measure variation in constant image and see that it is 0 everywhere
  3. an image with no variation is perfectly smooth
  4. new (constant ) image is smoother (i.e. better) than the original
  5. no other non-constant image could possibly be smoother (i.e. better)
  6. conclude that the constant image is the best possible version of the original image .


Thank you for the answer. Unfortunately i am not sure i understand the steps.
You said replace with a constant value, do you mean replace the original image and the processed image with a random constant value? What do you mean variation? The difference between neighboring pixels? There is a structure in the image so it would not be zero even if there are no artifacts.
If you can explain to me with an algorithm i would appreciate it.
Assign 0 to all pixel components leaving an all black image . The all black image will be perfectly smooth . You have defined smoother as better , therefore the all black image is the best possible version of your original image .
It does not matter that there is structure in the original image . Removing the structure leaves a smoother image and you have defined smoother as better .
Imagine that you have an image that is all white on the left and all black on the right . It has a sharp transition from white to black. Now take another image which is all white on the left third and all black on the right third and fades from white to black across the middle third . It does not have any sharp transition so it is smoother than the first image . Therefore an algorithm that blurs edges priduces smoother images and by your definition those are better images . Therefore aa processing algorithm that blurs the image completely into a single value produces aa smooth image which is by your definition the best image .
We can then optimise the algorithm to simply replacing the entire image with 0 and we would be confident that the smoothness could not be surpassed .

Sign in to comment.

Answer by Image Analyst
on 8 Dec 2018


Yes, in fact the paper says, in the conclusion:
"Some recommendations emerge. First, a universal image
quality metric seems beyond the range of current knowledge,
and possibly unavailable because of the various (and
weakly correlated) components of the human visual behavior.
Although specific applications of image quality assessment
may select a visionmodel as being more relevant, itmay help
to check if, for instance, an image processing tuned with respect
to this vision model (e.g., visual performance) leads,
or not, to drawbacks for alternative quality indexes (visual
appearance and visual attention)."
I do not have an original without noise and artifacts to compare so i guess i am left with just visual inspection. Can you give me the reference of the above paper that you are quoting?
It is from the middle of the three references Image Analyst posted,

Sign in to comment.