imagemagick像素颜色提取(强制RGB)
imagemagick pixel color extraction (force RGB)
我正在使用 imagemagick 在 jpeg 图像中提取像素颜色@一些 x,y
坐标。
大部分时间的输出是 srgb(R,G,B)
但在某些情况下它是 returns grey##
.
由于计算需要纯 RGB 数字,grey##
不是一个好的值。
是否可以始终从 imagemagick 获取 RGB 值?
命令:
magick image.jpg -format "%[pixel:p{110,246}]" info:-
您要做的是在 ImageMagick fx: computation 中分别计算每个颜色通道。
magick image.jpg[1x1+110+245] -format "%[fx:round(255*u.r)],%[fx:round(255*u.g)],%[fx:round(255*u.b)]" info:
这将产生例如:
magick lena.jpg[1x1+110+245] -format "%[fx:round(255*u.r)],%[fx:round(255*u.g)],%[fx:round(255*u.b)]" info:
208,90,88
如果你想包含 rgb(),那么
magick image.jpg[1x1+110+245] -format "rgb(%[fx:round(255*u.r)],%[fx:round(255*u.g)],%[fx:round(255*u.b)])" info:
magick lena.jpg[1x1+110+245] -format "rgb(%[fx:round(255*u.r)],%[fx:round(255*u.g)],%[fx:round(255*u.b)])" info:
rgb(208,90,88)
添加:
如果你想返回多个像素,那么你可以这样做:
magick lena.jpg -format "rgb(%[fx:round(255*u.p{10,10}.r)],%[fx:round(255*u.p{10,10}.g)],%[fx:round(255*u.p{10,10}.b)]) rgb(%[fx:round(255*u.p{100,100}.r)],%[fx:round(255*u.p{100,100}.g)],%[fx:round(255*u.p{100,100}.b)])\n" info:
RGB(226,130,106) RGB(131,46,85)
我正在使用 imagemagick 在 jpeg 图像中提取像素颜色@一些 x,y
坐标。
大部分时间的输出是 srgb(R,G,B)
但在某些情况下它是 returns grey##
.
由于计算需要纯 RGB 数字,grey##
不是一个好的值。
是否可以始终从 imagemagick 获取 RGB 值?
命令:
magick image.jpg -format "%[pixel:p{110,246}]" info:-
您要做的是在 ImageMagick fx: computation 中分别计算每个颜色通道。
magick image.jpg[1x1+110+245] -format "%[fx:round(255*u.r)],%[fx:round(255*u.g)],%[fx:round(255*u.b)]" info:
这将产生例如:
magick lena.jpg[1x1+110+245] -format "%[fx:round(255*u.r)],%[fx:round(255*u.g)],%[fx:round(255*u.b)]" info:
208,90,88
如果你想包含 rgb(),那么
magick image.jpg[1x1+110+245] -format "rgb(%[fx:round(255*u.r)],%[fx:round(255*u.g)],%[fx:round(255*u.b)])" info:
magick lena.jpg[1x1+110+245] -format "rgb(%[fx:round(255*u.r)],%[fx:round(255*u.g)],%[fx:round(255*u.b)])" info:
rgb(208,90,88)
添加:
如果你想返回多个像素,那么你可以这样做:
magick lena.jpg -format "rgb(%[fx:round(255*u.p{10,10}.r)],%[fx:round(255*u.p{10,10}.g)],%[fx:round(255*u.p{10,10}.b)]) rgb(%[fx:round(255*u.p{100,100}.r)],%[fx:round(255*u.p{100,100}.g)],%[fx:round(255*u.p{100,100}.b)])\n" info:
RGB(226,130,106) RGB(131,46,85)