我想将(大量)JPEG图像转换为Sun Raster格式(例如参见此处),因为我的程序只能使用这种格式.
问题是我的程序只允许使用Old或Standard类型的图像,即以BGR顺序写入像素.(我应该改变,但没有时间).默认情况下,ImageMagick以RGB格式生成文件.
我找到了交换颜色平面的技巧,但由于文件的样式是RGB格式,我得到了奇特的颜色.
这可能是传递给ImageMagick的一个简单选项,但我没有找到它.你有好主意吗?
小智 6
交换颜色的另一种方法是使用该-color-matrix选项.例如,要将RGB转换为BGR:
convert input.png -color-matrix '0 0 1
0 1 0
1 0 0' output.png
Run Code Online (Sandbox Code Playgroud)
参考:http://www.imagemagick.org/Usage/color_mods/
在 Imagemagick 6 中,您可以使用 -swap 命令轻松完成此操作。让我们交换徽标图像中的红色和蓝色通道。
convert logo.png -separate +channel \
-swap 0,2 -combine -colorspace sRGB logo_bgr.png
Run Code Online (Sandbox Code Playgroud)
对于非常旧的 Imagemagick 版本,请使用 RGB 而不是 sRGB。
在 Imagemagick 7 中,使用 magick 而不是转换。
我有一个想法如何交换 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
Run Code Online (Sandbox Code Playgroud)
您只需从原始图像中剪切通道并以相反的顺序写入它们即可。
| 归档时间: |
|
| 查看次数: |
3355 次 |
| 最近记录: |