Image 交换Jpeg RGB通道(RGB->BGR)

Image 交换Jpeg RGB通道(RGB->BGR),image,colors,jpeg,Image,Colors,Jpeg,我有一个带AdobeApp14标记的Jpeg RGB单扫描剪辑,R、G、B组件都在同一扫描中交错。我想知道是否有办法编辑Jpeg剪辑头或附加其他头,如EXIF,以便解码器可以将R通道解释为B,反之亦然,而不改变比特流的其余部分 我曾尝试在扫描头中交换扫描组件选择器的顺序,在本例中,解码器Windows照片查看器成功地将红色显示为蓝色,然后将蓝色显示为红色。然而,ITU-T.81 Jpeg规范明确规定,Csj:扫描组件选择器:每个Csj应匹配帧头中指定的一个Ci值,并且扫描头中的顺序应遵循帧头中的

我有一个带AdobeApp14标记的Jpeg RGB单扫描剪辑,R、G、B组件都在同一扫描中交错。我想知道是否有办法编辑Jpeg剪辑头或附加其他头,如EXIF,以便解码器可以将R通道解释为B,反之亦然,而不改变比特流的其余部分

我曾尝试在扫描头中交换扫描组件选择器的顺序,在本例中,解码器Windows照片查看器成功地将红色显示为蓝色,然后将蓝色显示为红色。然而,ITU-T.81 Jpeg规范明确规定,Csj:扫描组件选择器:每个Csj应匹配帧头中指定的一个Ci值,并且扫描头中的顺序应遵循帧头中的顺序。因此,我猜更改扫描组件选择器顺序不是一个有效的选项,除非有任何更新的规范表明这不再是限制

是否有人知道通过附加某种应用程序数据或修改Jpeg帧或扫描标题而完全不接触扫描数据来交换RGB通道的其他方法


感谢您的输入。

如果您有原始格式的图像,您可以使用exiftool修改exif CFA。阵列可能因传感器和格式而异。 要交换dng文件,可以使用以下命令

exiftool.exe -subifd:cfapattern2="2 1 1 0" file.dng
在哪里


<>如果你绝望的你总是考虑把你的JPG转换成原始的,然后再返回

你确定它是RGB格式吗?虽然这并非不可能,但我还没有听说过RGB格式的ADOBE JPEG。我听说过YCbCr和YCbCrK。@user3344003-似乎不合逻辑,效率也不是很高,但是的,Adobe产品使用RGB颜色空间编写JPEG压缩图像。听起来您需要读取图像数据,交换MCU顺序并将其写回。这并不困难,也不会造成任何质量损失。如果您希望解码图像的颜色顺序不同,则需要修复解码器,而不是压缩图像。
0 = Red,
1 = Green,
2 = Blue,