首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像像素颜色提取(力RGB)

图像像素颜色提取(力RGB)
EN

Stack Overflow用户
提问于 2020-05-27 21:45:31
回答 1查看 793关注 0票数 1

我使用imagemagick来提取jpeg图像中的像素颜色@某个x,y坐标。

大多数情况下输出是srgb(R,G,B),但在某些情况下它返回grey##

因为我需要简单的RGB数字来计算,所以grey##不是一个很好的值。

是否有可能总是从imagemagick获得RGB值?

命令:

magick image.jpg -format "%[pixel:p{110,246}]" info:-

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-27 21:55:50

您想要做的是在ImageMagick fx:计算中分别计算每个颜色通道。

代码语言:javascript
复制
magick image.jpg[1x1+110+245] -format "%[fx:round(255*u.r)],%[fx:round(255*u.g)],%[fx:round(255*u.b)]" info:

例如,它将产生:

代码语言:javascript
复制
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(),那么请执行

代码语言:javascript
复制
magick image.jpg[1x1+110+245] -format "rgb(%[fx:round(255*u.r)],%[fx:round(255*u.g)],%[fx:round(255*u.b)])" info:
代码语言:javascript
复制
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)

增添:

如果希望返回多个像素,则可以执行以下操作:

代码语言:javascript
复制
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:

(226,130,106) rgb(131,46,85)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62053408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档