gpt4 book ai didi

image-processing - 使用现有工具,如何将 JPEG 图像的 Luma、Cb、Cr channel 提取到单独的图像中?

转载 作者:行者123 更新时间:2023-12-04 14:43:23 25 4
gpt4 key购买 nike

我正在寻找一种方法将 Luma (Y)、Cb(蓝色分量)、Cr(红色分量)、JPEG 图像的 channel 提取到单独的图像中:

我想要等同于 example from Wikipedia. 的结果

必须根据 JPEG 扫描开始 (SOS) 数据和 JPEG 中的其他数据直接计算输出,而不是从解压缩器输出的 RGB 图像。此任务的目的是生成尽可能接近“原始数据”的图像。

是否有现成的工具可以做到这一点?我正在考虑使用 Python、PyImage 等将一些东西放在一起,但令我惊讶的是,我对开源或免费工具的搜索却一无所获。我知道有很多图书馆可以提供帮助,但我愿意了解更多图书馆。

对于这个问题,正确的答案是可以完成这项工作的免费和/或开源工具的工具链。有源码的工具优先。这些工具可以在任何平台上运行,但 Linux 或 Win32 将立即派上用场。

受代码逻辑启发的答案

鉴于 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;

显然,这是快速破解,因为我有一个私有(private)副本,其中 PPM 输出始终被强制为 YCbCr,但它有效,我感谢你,codelogic,感谢你的 Stone Code Logic。

最佳答案

正如建议的那样,您最好的选择是直接使用 libjpeg。具体来说,您可以将 jpeg_decompress_structout_color_space 成员设置为 JCS_YCbCr 而不是 JCS_RGB 并阅读像往常一样扫描线。 Here's一些示例代码(GPL)。

关于image-processing - 使用现有工具,如何将 JPEG 图像的 Luma、Cb、Cr channel 提取到单独的图像中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1685739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com