Graphics 从多个JPG生成通用调色板的图形程序
gimp能够从加载的图像生成调色板。我希望所有图像(我不一定是这些图片的作者)共享一个通用调色板,因为这样可以更容易地在LCD屏幕上显示它们Graphics 从多个JPG生成通用调色板的图形程序,graphics,imagemagick,gimp,Graphics,Imagemagick,Gimp,gimp能够从加载的图像生成调色板。我希望所有图像(我不一定是这些图片的作者)共享一个通用调色板,因为这样可以更容易地在LCD屏幕上显示它们 有这样的程序吗?或者是gimp或imagemagick中的一些脚本?有几种方法可以做到这一点: 使用抖动 使用设计用于抖动的调色板,如默认VGA或WEB调色板。我是这样做的: convert palette.png txt: # ImageMagick pixel enumeration: 3,1,65535,srgb 0,0: (65535,0,0)
有这样的程序吗?或者是gimp或imagemagick中的一些脚本?有几种方法可以做到这一点:
convert palette.png txt:
# ImageMagick pixel enumeration: 3,1,65535,srgb
0,0: (65535,0,0) #FF0000 red
1,0: (65535,65535,0) #FFFF00 yellow
2,0: (0,65535,65535) #00FFFF cyan
我不使用gimp,也不使用imagemagick,所以我无法帮助您,但现在您至少知道在他们的文档中要查找什么…我不确定您尝试的操作是否适用于JPEG图像,因为它们没有调色板。但是,在命令行中使用ImageMagick的一种可能的技术是将所有图像放在一起,将颜色的数量减少到您想要的数量,然后将其保存(最小化/消除重复)为“调色板”,您可以将其应用于其他图像 因此,第一步是提取一个通用调色板,例如250种颜色:
magick image1.jpg image2.jpg ... +append -colors 250 -unique-colors palette.png
现在,在显示任何图像之前,请将其映射到该调色板:
magick image.jpg -remap palette.png result.png
您还可以通过以下方式禁用抖动:
magick +dither image.jpg -remap palette.png result.png
由于JPEG调色板的问题,我一直使用PNG
而不是JPEG,但是您可以使用相同的命令尝试使用JPEG。我绝对建议您至少使用GIF、PNG或NetPBM PPM格式来存储调色板信息
为了好玩,让我们用白宫的照片来试试: 让我们用三种颜色——红色、黄色和青色——制作一个非常糟糕的调色板:
convert xc:red xc:yellow xc:cyan +append palette.png
并以抖动的方式应用它:
convert whitehouse.jpg -remap palette.png dither.png
同样没有:
convert whitehouse.jpg +dither -remap palette.png undither.png
正如@Spektre在下面的注释中指出的,您可能正在以某种字节数组或类似查找表的形式将该调色板传递给LCD。如果是这种情况,您可以看到调色板中的human/ASCII术语如下:
convert palette.png txt:
# ImageMagick pixel enumeration: 3,1,65535,srgb
0,0: (65535,0,0) #FF0000 red
1,0: (65535,65535,0) #FFFF00 yellow
2,0: (0,65535,65535) #00FFFF cyan
你们可以得到一个9字节的R,G,B值的二进制文件,如下所示-我选择在之后以十六进制转储它,这样你们就可以看到它了:
convert palette.png -depth 8 rgb:palette.bin
xd palette.bin
00000000: ff00 00ff ff00 00ff ff .........
在Gimp中,您可以:1)将所有JPEG加载为层2)使用Gimp_image_convert_index()对它们进行抖动3)可能会导出调色板4)迭代/保存每个层。但文件的数量取决于可用内存,调色板最大为256色,而LCD可以显示256色以上?输出很可能不是JPG格式,而是LCD的某个字节数组,具有某些索引颜色格式。。。但你是对的,如果他需要存储子结果JPG是不可能的。。。除非LCD本身进行转换,但效果不太好,并且转换为普通颜色具有更好的视觉质量…@Spektre感谢您的见解-我对LCD不太熟悉,因此我将添加一些可能有用的更多信息,现在您已经解释了字节数组。再次感谢。我只是猜测这里,但我有低水平的硬件背景液晶显示器的包括,所以这是一个有根据的猜测。。。