我正在寻找一种方法来提取单独的图像中的Luma(Y),Cb(蓝色成分),Cr(红色成分),JPEG图像的通道:
我希望结果等同于此example from Wikipedia.
输出必须直接从JPEG扫描开始(SOS)数据和JPEG中的其他数据计算而不是而不是“从后计算”由解压缩器输出的RGB图像。此任务的目的是生成尽可能接近“原始数据”的图像。
是否有现成的工具可以实现这一目标?我正在考虑使用Python,PyImage等拼凑一些东西,但我很惊讶我对开源或免费工具的搜索空洞。我知道有很多库可以提供帮助,尽管我很想知道更多的库。
对于这个问题,正确的答案是可以完成这项工作的免费和/或开源工具的工具链。带源的工具是首选。这些工具可以在任何平台上运行,但Linux或Win32将立即有用。
受codelogic启发的答案
给定libjpeg实现,更改djpeg.c和wrppm.c。
wrppm.c:
189: case JCS_RGB: 190: + case JCS_YCbCr: 191: /* emit header for raw PPM format */
djpeg.c
560: case FMT_PPM: 561: + cinfo.quantize_colors = 0; 562: + cinfo.out_color_space = JCS_YCbCr;
显然,这是快速破解,因为我有一个私有副本,其中PPM输出总是被强制为YCbCr,但它有效,我感谢你,codelogic,为你的Stone Code Logic。