Image processing YUV格式反转颜色
我有在YUV的图像,我想得到与反转颜色的图像。如果我不想使用convert to RGB,如何获得YUV的反转颜色?我推导了公式:Image processing YUV格式反转颜色,image-processing,yuv,Image Processing,Yuv,我有在YUV的图像,我想得到与反转颜色的图像。如果我不想使用convert to RGB,如何获得YUV的反转颜色?我推导了公式: Y' = 251 - Y U' = 256 - U V' = 256 - V 所以如果YUV->RGB和Y'U'V'->R'G'B',那么R+R'=G+G'=B+B'=255。而Y'U'V'形成相反的颜色。在经验层面上,使用安装在大多数Linux发行版上并可用于macOS和Windows的ImageMagick,您似乎需要: Y' = 255 - Y U' = 2
Y' = 251 - Y
U' = 256 - U
V' = 256 - V
所以如果YUV->RGB和Y'U'V'->R'G'B',那么R+R'=G+G'=B+B'=255。而Y'U'V'形成相反的颜色。在经验层面上,使用安装在大多数Linux发行版上并可用于macOS和Windows的ImageMagick,您似乎需要:
Y' = 255 - Y
U' = 255 - U
V' = 255 - V
因此,如果我制作一个4x1像素的迷你色样,从蓝色到品红色,分3个相等的步骤,如下图所示,并将其作为文本转储:
convert -size 4x1 gradient:blue-magenta -depth 8 -colorspace YUV txt:
# ImageMagick pixel enumeration: 4,1,65535,yuv
0,0: (7493.93,61340.8,26214) #1DEF66 yuv(29,239,102)
1,0: (14022.1,58129.5,39648.7) #37E29A yuv(55,226,154)
2,0: (20550.2,54918.3,53083.4) #50D6CF yuv(80,214,207)
3,0: (27078.3,51707.1,66518) #69C9FF yuv(105,201,255)
如果我拿着同样的小色样,把它倒过来,用YUV显示出来:
convert -size 4x1 gradient:blue-magenta -depth 8 -negate -colorspace YUV txt:
# ImageMagick pixel enumeration: 4,1,65535,yuv
0,0: (58041.1,4194.24,39321) #E21099 yuv(226,16,153)
1,0: (51512.9,7405.46,25886.3) #C81D65 yuv(200,29,101)
2,0: (44984.8,10616.7,12451.7) #AF2930 yuv(175,41,48)
3,0: (38456.7,13827.9,-983.025) #963600 yuv(150,54,0)
您可以看到所有值都是255 previous
如果我做一个更彻底的测试,尝试不同的红-黄梯度:
convert -size 4x1 gradient:red-yellow -depth 8 -colorspace YUV txt:
# ImageMagick pixel enumeration: 4,1,65535,yuv
0,0: (19584.4,23133.9,73071.5) #4C5AFF yuv(76,90,255)
1,0: (32403.3,16820.7,61821.4) #7E41F1 yuv(126,65,241)
2,0: (45222.2,10507.4,50571.2) #B029C5 yuv(176,41,197)
3,0: (58041.1,4194.24,39321) #E21099 yuv(226,16,153)
同样的,但反过来说:
convert -size 4x1 gradient:red-yellow -depth 8 -negate -colorspace YUV txt:
# ImageMagick pixel enumeration: 4,1,65535,yuv
0,0: (45950.6,42401.1,-7536.52) #B3A500 yuv(179,165,0)
1,0: (33131.7,48714.4,3713.65) #81BE0E yuv(129,190,14)
2,0: (20312.8,55027.6,14963.8) #4FD63A yuv(79,214,58)
3,0: (7493.93,61340.8,26214) #1DEF66 yuv(29,239,102)
同样,结果值都是
255 previous
什么是反转颜色?在RGB中是(255-R,255-G,255-B),我认为所有的数字都应该是255
。