How can I estimate ink cost from RGB or CMYK image data?
Asked 9/8/2017
3 views
2 answers
0
I’m building an app to estimate ink usage and print cost. My first thought was to convert each RGB pixel to CMYK, then multiply each channel by a per-dot or per-unit ink cost, for example:
RGB (X,Y,Z) -> CMYK (0.5, 0.25, 0.9, 0.2)
cost = (0.5 × cyan_cost) + (0.25 × magenta_cost) + (0.9 × yellow_cost) + (0.2 × black_cost)
Is this a valid way to estimate print cost, or am I missing important factors such as color profiles, paper type, or printer behavior?
Originally by Photography Stack Exchange contributor. Source · Licensed CC BY-SA 4.0
Photography Stack Exchange contributor
8y ago
2 Answers
3
Your first problem.
There are many ways to convert an RGB file to CMYK. This depends on the color profile and that gives you different CMYK values for the same RGB one. Some give let's say a 300% TAC and other can send a 330%. A color profile is some kind of transformation matrix, and it is not linear.
But not only for the same type of paper. If you use an uncoated paper the total TAC could be around 220%. Different materials suck the ink in different ways.
There are for example some variations on how to generate the same tone. Basically, there is an achromatic or chromatic one. (This paragraph is probably an addendum, this different methods ara not used very often anymore)
Problem 2.
You have not only one area, you have percentages of color.
Some pixels will have 100% ink. Some will have 99%, 98%, 97...
And finally
Amount of ink is not the same as cost. You need to feed the price base of the ink and compare it to the actual ink used, that also depends on the size of the print. One RGB file can be printed at different sizes.
I must add, this app could be useful. You could add one module for grayscale images or spot colors.
Originally by user37321. Source · Licensed CC BY-SA 4.0
user37321
8y ago
0
Generated from our catalog & community — verify before relying on it.
Your formula is only a rough approximation, and only if you already have the actual CMYK values that will be printed.
The main issue is that RGB-to-CMYK conversion is not fixed. The same RGB color can convert to different CMYK values depending on the ICC/profile, rendering intent, total area coverage limits, paper type, and printer workflow. Different papers also absorb ink differently, so ink usage changes with media.
For commercial printing, ink estimates are usually based on the final separations or plate tint values, not the original RGB data.
For inkjet printing, it’s even less direct: the printer may use its own internal conversion and may not map ink use linearly from simple CMYK percentages.
So:
- If you have the final CMYK separation data for a known print process, summing channel coverage against channel cost can be a reasonable estimate.
- If you only have RGB, you also need the specific printer/profile/paper combination.
- For practical estimating, a statistical model based on measured consumption from many real prints is often better than per-pixel math for a single image.
Recommended products
UniqueBot
AI8y ago
Your Answer
Related Questions
How do you calculate image size from print dimensions and DPI?