gpt4 book ai didi

command-line - 使用 imagemagick 将 JPG 图像从灰度转换为 RGB

转载 作者:行者123 更新时间:2023-12-03 23:42:42 32 4
gpt4 key购买 nike

我正在尝试使用 imagemagick command-line tools 将灰度图像转换为 RGB .

它适用于PNG图像,使用:

convert image.png -define png:color-type=2 result.png

(取自对 "How to convert gray scale png image to RGB from comand line using image magick" 的回答)

虽然检查 identify -format %r result.png仍将返回 DirectClass Gray,我可以看到它使用 gdalinfo因为现在列出了 3 个波段/ channel :

gdalinfo [成功转换 PNG]:
Driver: PNG/Portable Network Graphics
Files: result.png
Size is 567, 479
Coordinate System is `'
Image Structure Metadata:
INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left ( 0.0, 0.0)
Lower Left ( 0.0, 479.0)
Upper Right ( 567.0, 0.0)
Lower Right ( 567.0, 479.0)
Center ( 283.5, 239.5)
Band 1 Block=567x1 Type=Byte, ColorInterp=Red
Band 2 Block=567x1 Type=Byte, ColorInterp=Green
Band 3 Block=567x1 Type=Byte, ColorInterp=Blue

但是,似乎 -define option仅适用于 PNG 图像。

我的问题:如何为 JPG 图像实现相同的效果?

当我为 JPG 尝试上述命令时,它不起作用:
convert image.jpg -define jpg:color-type=2 result.jpg

gdalinfo [未成功转换 JPG]:
Driver: JPEG/JPEG JFIF
Files: result.jpg
Size is 1500, 1061
Coordinate System is `'
Metadata:
EXIF_ColorSpace=1
EXIF_PixelYDimension=2480
...
EXIF_YCbCrPositioning=1
EXIF_YResolution=(300)
Corner Coordinates:
Upper Left ( 0.0, 0.0)
Lower Left ( 0.0, 1061.0)
Upper Right ( 1500.0, 0.0)
Lower Right ( 1500.0, 1061.0)
Center ( 750.0, 530.5)
Band 1 Block=1500x1 Type=Byte, ColorInterp=Gray
Overviews: 750x531, 375x266, 188x133
Image Structure Metadata:
COMPRESSION=JPEG

最佳答案

PNG 颜色类型不适用于 JPEG 图像,因此您不能使用相同的技术。尝试将色彩空间强制为 sRGB,和/或将类型设置为 TrueColour,这样您就不会得到调色板图像:

convert input.jpg -colorspace sRGB -type truecolor result.jpg

关于command-line - 使用 imagemagick 将 JPG 图像从灰度转换为 RGB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34874771/

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