由于似乎没有人能够在 Matlab 中做你想做的事,我将向你展示如何使用 ImageMagick 来做,这样你至少可以继续你正在尝试做的事情。
首先,创建一个 8x4 像素的 PNG 图像,每个像素的 RGB 分量设置为 R=00hex、G=44hex、B=55hex,这样我们就有了一些东西可以玩。
convert -size 8x4 xc:"#004455" image.png
检查它看起来是否正确,identify
identify image.png
image.png PNG 8x4 8x4+0+0 8-bit sRGB 2c 276B 0.000u 0:00.000
现在,将图像的通道分离为 RGB,并交换通道 1 和 2,即交换绿色和蓝色通道,保持红色(通道 0)不变,然后重新组合分离的通道并写入原始二进制文件
convert image.png -separate -swap 1,2 -combine RGB:out.raw
现在查看文件内容,xxd 分成三组:
xxd -g3 -c12 out.raw
0000000: 005544 005544 005544 005544 .UD.UD.UD.UD
000000c: 005544 005544 005544 005544 .UD.UD.UD.UD
0000018: 005544 005544 005544 005544 .UD.UD.UD.UD
0000024: 005544 005544 005544 005544 .UD.UD.UD.UD
0000030: 005544 005544 005544 005544 .UD.UD.UD.UD
000003c: 005544 005544 005544 005544 .UD.UD.UD.UD
0000048: 005544 005544 005544 005544 .UD.UD.UD.UD
0000054: 005544 005544 005544 005544 .UD.UD.UD.UD
您有望看到该文件包含 4 行 8 像素,每行带有 RBG #005544
或者,如果你喜欢它作为文本:
convert image.png -separate -swap 1,2 -combine out.txt
# ImageMagick pixel enumeration: 8,4,255,srgb
0,0: (0,85,68) #005544 srgb(0,85,68)
1,0: (0,85,68) #005544 srgb(0,85,68)
2,0: (0,85,68) #005544 srgb(0,85,68)
3,0: (0,85,68) #005544 srgb(0,85,68)
4,0: (0,85,68) #005544 srgb(0,85,68)
5,0: (0,85,68) #005544 srgb(0,85,68)
6,0: (0,85,68) #005544 srgb(0,85,68)
7,0: (0,85,68) #005544 srgb(0,85,68)
0,1: (0,85,68) #005544 srgb(0,85,68)
1,1: (0,85,68) #005544 srgb(0,85,68)
2,1: (0,85,68) #005544 srgb(0,85,68)
3,1: (0,85,68) #005544 srgb(0,85,68)
4,1: (0,85,68) #005544 srgb(0,85,68)
5,1: (0,85,68) #005544 srgb(0,85,68)
6,1: (0,85,68) #005544 srgb(0,85,68)
7,1: (0,85,68) #005544 srgb(0,85,68)
0,2: (0,85,68) #005544 srgb(0,85,68)
1,2: (0,85,68) #005544 srgb(0,85,68)
2,2: (0,85,68) #005544 srgb(0,85,68)
3,2: (0,85,68) #005544 srgb(0,85,68)
4,2: (0,85,68) #005544 srgb(0,85,68)
5,2: (0,85,68) #005544 srgb(0,85,68)
6,2: (0,85,68) #005544 srgb(0,85,68)
7,2: (0,85,68) #005544 srgb(0,85,68)
0,3: (0,85,68) #005544 srgb(0,85,68)
1,3: (0,85,68) #005544 srgb(0,85,68)
2,3: (0,85,68) #005544 srgb(0,85,68)
3,3: (0,85,68) #005544 srgb(0,85,68)
4,3: (0,85,68) #005544 srgb(0,85,68)
5,3: (0,85,68) #005544 srgb(0,85,68)
6,3: (0,85,68) #005544 srgb(0,85,68)
7,3: (0,85,68) #005544 srgb(0,85,68)