Color correction is tricky. It's always a lot of work to make everything look same.

I have multiple products (clothing) to take a picture of. One is 100% red, other 100% Orange. Some are multicolor etc.

If I have - let's say - 1000 images. Optimizing colors of each can take a lot of time.

I was wondering, if there is any method to take a picture of clothing and put near it a card that is color reference card. It contains RGB/CMYK Colors on it printed.

Manual Way: I open image and mark on this image where are reference colors. Then script adjusts everything till reference colors are correct.

Automatic way: I was thinking about it as on basis of QRCodes.

  • Script tries to detect reference card on picture
  • Script takes samples of each color and corrects image so reference colors are correct
  • Everything else should be corrected.

It's an idea of mine I came up with. Came here to ask if maybe someone already created something like this and if it's possible at all.


1 Answer 1


I have worked on such a project where the colors to be calibrated were surrounded by a reference color chart. The chart could be located by means of Aruco symbols and the location of the color pads deduced by knowing the geometry of the chart.

You can relatively easily find color calibration targets such as below (not the one used in my project):

enter image description here

For calibration of the colors, a polynomial model can be fitted to the known colors. You will have to know the color coordinates in both the chart and the pictures that you take. RGB seems the most natural representation.

An extra difficulty appeared in the project: due to shadowing effects, the correction also had to be spatially varying. Make sure that your illumination is uniform to avoid this.

So, yes, fully automated color calibration is possible.

  • $\begingroup$ Hello, any program that supports this feature or would I need to develop something? $\endgroup$
    – Grzegorz
    Apr 25, 2023 at 8:34
  • 1
    $\begingroup$ @Grzegorz: I developed from scratch using OpenCV (that's my business). I don't know of ready-made sw for this. $\endgroup$
    – user1703
    Apr 25, 2023 at 8:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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