有人知道从RGB颜色获取饱和度的正确公式吗?我已经有一个函数可以做到这一点。我试过在互联网上发布的大量内容,但似乎只有这个对我有用(第一次),除了饱和度偶尔会略微超出。rgb(204,153,51)应该等于hsl(40,60,50),而我有hsl(40,75,50)。如您所见,我的色调和亮度是正确的,事实上,饱和度大部分也是正确的,但有时不正确,如果可以的话,我需要更正。这是我到目前为止构建的内容,因此我可以检查图像的所有颜色值是否正确,然后再将它们存储在我的搜索引擎的数据库中。这是我认为饱和度计算不正确的问题函数:functionRGBtoHSL($red,$green,$blue)
到目前为止,我有以下代码:functionhexrgb_invert($hex){$arr=str_split($hex,2);foreach($arras&$value){$c=base_convert($value,16,10);$value=str_pad(base_convert(255-$c,10,16),2,'0',STR_PAD_LEFT);}returnimplode('',$arr);}问题:我需要根据对比度反转颜色。上面的函数对某些事情有效,但对其他事情无效。示例:如果输入是9d702f,输出将是9d702f。(2种对比度较低的颜色)我没有在StackOverflo
我想在多种光照条件下获取图像的RGB值。为了获得某种中性场景,我想使用一些预定义图像的RGB值对RGB值进行归一化。让我解释一下。我有6张预定义图像,我知道它们的确切平均RGB值。现在我将在不同的照明条件下拍摄未知图像的照片。我还将在相同条件下拍摄预定义的6张图像。现在我的目标是通过将预定义图像的已知引用rgb值与从相机图片计算的值进行比较来定义归一化公式。使用此归一化参数,我将校准未知图片的RGB值。这样无论光照条件如何,我都可以以中性方式从未知图片中获取平均RGB值。如何在Java中轻松实现这一点。 最佳答案 你这样做是为了真正
我有一个带有一些gui的程序,在我设置的JFrame上,setBackground(newColor(107,106,104));问题是我得到的是灰色,但不是正确的颜色。如果我在PhotoShop中检查它,它会给我RGB值(126,125,123)附言。我用十六进制值试过,结果一样。 最佳答案 Ihaveaprogramwithsomegui,ontheJFrameIset,setBackground(newColor(107,106,104));[Theproblem]Itgivesagreyishcolor,butnotther
有什么方法可以提前知道用作系统输入的图像是RGB还是BGR格式?我在JavaAPI中使用OpenCV,我想将输入图像转换为灰度或L*a*b*颜色空间,但在OpenCV中,您必须首先指定要转换的图像是RGB还是BGR.我使用的图像类型是.jpg或.png。 最佳答案 如果您正在读取图像文件,或者您可以访问读取文件的代码,请知道它是:BGR如果您使用了cv2.imread(),请订购RGB如果您使用了mpimg.imread()(假设importmatplotlib.imageasmpimg)如果您不知道文件是如何打开的,accepte
好吧,我正在开发一个程序,它接收图像,将像素block隔离到一个数组中,然后为该数组中的每个像素获取每个单独的rgb值。当我这样做的时候//firstpicofimage//justatestintpix=myImage.getRGB(0,0)System.out.println(pix);它吐出-16106634我需要从这个int值中得到(R,G,B)值有公式、alg、方法吗? 最佳答案 BufferedImage.getRGB(intx,inty)方法始终返回TYPE_INT_ARGB颜色模型中的像素。所以你只需要为每种颜色隔离
我正在为这种字符串寻找一些正则表达式rgb(r,g,b)rgba(r,g,b,a)hsl(h,s%,l%)hsla(h,s%,l%,a)与:r,g,bintegerincludedbetween0and255,afloatbetween0and1(truncatedtofirstdigitafterthepoint)hintegerincludedbetween0and359s,lintegerincludedbetween0and100对于rgb,我写了那些正则表达式:rgb\(\s*((?:[0-2]?[0-9])?[0-9])\s*,\s*((?:[0-2]?[0-9])?[0-
获取BufferedImage每个像素的RGB值的最快方法是什么?现在我正在使用两个for循环获取RGB值,如下面的代码所示,但是获取这些值的时间太长,因为嵌套循环总共运行了479999次图片。如果我使用16位图像,这个数字会更高!我需要一种更快的方法来获取像素值。这是我目前正在尝试使用的代码:BufferedImagebi=ImageIO.read(newFile("C:\\images\\Sunset.jpg"));intcountloop=0;for(intx=0;x 最佳答案 我不知道这是否有帮助,我还没有测试过,但你可以通
这个问题在这里已经有了答案:Howtogetcolornamesfromitsrgbvalue[closed](1个回答)关闭8年前。在Java中如何通过图像的rgb值获取最常见的颜色名称。谁能帮帮我
我在Java中转换颜色时遇到了问题。简化后的问题如下所示:我的应用程序包含一个图像。我已经在这张图片上放置了一个Recangle。Rectangle的颜色定义为newColor(255,255,0,80)。在没有getPixelColor()方法的情况下是否可以将屏幕上显示的颜色计算/转换为没有Alpha值的颜色?不同的公式:我可以从具有alpha值的颜色+底层颜色计算出没有alpha值的颜色吗?我希望有人能帮助我。问候,迈克尔 最佳答案 正如Wikipediaarticle状态(假设背景不透明):intr,g,b;r=fgColo