我想将(很多)JPEG图像转换为Sun Raster格式(例如参见here),因为我的程序只能使用这种格式。
问题是我的程序只允许使用Old类型的图像 或标准,即以BGR顺序写入的像素。 (我应该改变,但没有时间)。 默认情况下,ImageMagick以RGB格式生成文件。
我找到了trick来交换颜色平面,但由于文件的样式是RGB格式,我会得到奇特的颜色。
这可能是传递给ImageMagick的一个简单选项,但我没有找到它。 你有什么想法吗?
答案 0 :(得分:6)
交换颜色的另一种方法是使用-color-matrix
选项。例如,要将RGB转换为BGR:
convert input.png -color-matrix '0 0 1
0 1 0
1 0 0' output.png
答案 1 :(得分:3)
我知道如何在RGB图像中交换红色和蓝色颜色:
convert ( image_RGB.bmp -channel B -separate ) \
( image_RGB.bmp -channel G -separate ) \
( image_RGB.bmp -channel R -separate ) -channel RGB -combine image_BGR.bmp
您只需从原始图像中剪切频道,然后按相反顺序写入。
答案 2 :(得分:1)
我会想到在Imagemagick中
convert image.jpg image.sun
或
convert image.jpg SUN:image.sun
如果这是太阳栅格格式的标准,将转换为BGR格式。见imagemagick.org/script/formats.php。
你试过吗?
如果这不起作用,那么使用我的-swap命令,但写入.sun文件格式而不是png,我在上面使用过。那是
convert logo.png -separate +channel -swap 0,2 -combine -colorspace sRGB logo_bgr.sun