- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找一种方法将 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_struct
的 out_color_space
成员设置为 JCS_YCbCr
而不是 JCS_RGB
并阅读像往常一样扫描线。 Here's一些示例代码(GPL)。
关于image-processing - 使用现有工具,如何将 JPEG 图像的 Luma、Cb、Cr channel 提取到单独的图像中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1685739/
我是一名优秀的程序员,十分优秀!