I would like to measure the quality of a color image, possibly as a difference to another image, but if possible, on its own too.

This question comes from the fact that we have a vision application, and improve lighting conditions, calbirations, and similar surrounding conditions. We want to measure the improvement of the quality of the image, such as:

  • Amount of detail
  • Contrast
  • Other things that describe the quality of an image or the amount of information in an image

Do you have ideas for this? Maybe histogram comparisons, or an advanced distance measure on the histogram? I'd love to hear some good ideas!


Of course the results of the vision application are a measure of the quality of the images. But:

  • it is not intended as a measurement for the quality, it is a measurement of something else
  • there are more parameters that influence the results of the application (for example the image itself), therefore it is only a rough measure of the quality of the image

I could use human evaluation, but I really want an objective measure, especially because the human eyes are not objective (our mind plays tricks, the monitor we watch it on influences the image, etc.).


After a discussion about what quality in an image is, I'll leave this question as is. My own ideas (and of my coworkers) are the following:

  • The range of the RGB channels (is it using all the colors possible)
  • The mean of the Sobel amplitude (the amount of detail or a rough measure of focus, also see this question about detail)
  • The amount of pixels that are clipped or 0 (no information in these pixels)
  • Also the mean of the RGB channels and the YCbCr channels (after conversion), to be able to see if the average color has changed (may lead to investigating light from other sources, or after changing our own lighting)

By combining these statistics we can get an impression of the quality from a more objective point of view, instead of just looking at the images. It also leads to pointers where the changes might come from.

  • $\begingroup$ I wish you would have given more clarity - it would have been good discussion ahead. $\endgroup$ Feb 17 '12 at 5:47
  • $\begingroup$ Hopefully my edit gives more clarity. $\endgroup$
    – Geerten
    Feb 17 '12 at 7:49

It all depends on what you mean by "quality". If it is visual quality as perceived by people, then the best thing to do is to ask multiple people to compare pairs of images to see which ones they like better.

Since you have mentioned a vision application, then it must have some performance metrics for whatever it does, which would be its measure of quality.

If by quality you mean how blurry or noisy the image is, then you might compute the Fourier transform to see whether the image contains high frequency components to see how blurry it is, or compute its entropy to see how noisy it is.

  • $\begingroup$ I addressed your points in my edit in the question, I will look into the Fourier transform and entropy if they describe the difference. $\endgroup$
    – Geerten
    Feb 17 '12 at 7:51
  • $\begingroup$ @Geerten, in that case, what quality means depends on what your application is trying to do. And until you tell us what it is trying to do, it is difficult to help you. $\endgroup$
    – Dima
    Feb 17 '12 at 23:00
  • $\begingroup$ but I'm not looking for specific measures, I'm looking for generic measures. Just one step of evaluation of the images béfore I use them in the vision application. $\endgroup$
    – Geerten
    Feb 18 '12 at 9:24
  • $\begingroup$ I get it, you wish to know how well your algorithm works on "good" images compared to "bad" ones, right? The problem is that in this case "good" and "bad" are indeed relative. $\endgroup$
    – Dima
    Feb 19 '12 at 3:35
  • $\begingroup$ That would be interesting too, but what I'm most after is the effect of changing conditions (such as lighting, calibration of camera, etc) to the quality of images. So I change a condition, and I want to measure if it increases the quality of the image. $\endgroup$
    – Geerten
    Feb 20 '12 at 8:44

There are very specific metrics for Quality measurement that are used for Image/Video compression. However, i don't think you are looking for that here.

Quality here is concerned with ability to apply vision algorithms and hence ability to extract key features in the right way. If this is the case, it all depends on which features you are extracting.

Tell use something more about your application.

  • $\begingroup$ See my edit for more info, and the difference is subtle, so the extraction of key features works for both images, therefore it's not a good to use measure.. $\endgroup$
    – Geerten
    Feb 17 '12 at 7:50
  • $\begingroup$ Any reason you deleted your previous answer? It was pretty exhaustive and informative. I'd love to see it back on here. $\endgroup$
    – Phonon
    Feb 19 '12 at 4:33
  • $\begingroup$ I wish someone will ask that question ans i will paste that answer there. I just compiled all aspects of Quality evaluation- but then i realized that OP was asking about Vision specific quality which this answer wasn't targetting. May be you should ask question about Image/Video quality measurement i will post this answer. (I almost spent a whole night compiling my past references - but just realized it is off the tangent!) $\endgroup$ Feb 19 '12 at 4:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.