gpt4 book ai didi

javascript - 用javascript检测颜色是否介于两种颜色之间

转载 作者:行者123 更新时间:2023-12-02 18:41:29 25 4
gpt4 key购买 nike

我想检测图像的每个像素是否在两种颜色之间的范围内。我使用 getImageData 获取像素颜色,但现在我不知道如何知道它是否在范围内。任何想法?谢谢

最佳答案

在 HSL 颜色中,H 表示色调(我们通常认为的颜色)。如果您使用 HSL 颜色,您可以按照 Stano 的建议进行操作,只需计算任何像素色调与指定色调之间的线性距离。

HueDesired – HuePixel

但是计算机图像通常是在 RGB 颜色模型中定义的。 RGB 使用颜色混合来生成您想要的颜色。使用 RGB,您可以通过计算色轮上两种颜色之间的欧几里德距离来确定它们是否“接近”。

这是一个计算指定颜色和像素颜色之间的欧几里德距离的函数:

// find Euclidian distance from the pixel color to the specified color 
//
function colorDistance(colorRed,colorGreen,colorBlue,pixelRed,pixelGreen,pixelBlue){

var diffR,diffG,diffB;

// distance to color
diffR=( colorRed - pixelRed );
diffG=( colorGreen - pixelGreen );
diffB=( colorBlue - pixelBlue );
return(Math.sqrt(diffR*diffR + diffG*diffG + diffB*diffB));

}

由于您想要将像素与 2 种颜色进行比较,因此只需对 2 种颜色运行此函数即可。

由您决定两种颜色和像素颜色之间的“可接受”距离是多少,但此功能将为您提供一个可以使用的测量工具。

关于javascript - 用javascript检测颜色是否介于两种颜色之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16790438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com