我在java中有一个缓冲的图像,我想根据颜色值记录每个像素与另一个像素的相似程度.所以具有"相似"颜色的像素将具有更高的相似度值.例如,红色和粉红色的相似度值为1000,但红色和蓝色的相似值为300或更小.
我怎样才能做到这一点.当我从缓冲的Image像素中获取RGB时,它返回一个负整数,我不知道如何用它来实现它.
我正在使用机器人截取屏幕截图,然后在这些屏幕截图中搜索较小的图像.由于伽马校正,这适用于Windows但不适用于OS X. 我能想出的最佳解决方案是简单地匹配相似的颜色而不是精确的颜色匹配.
我担心匹配相似的颜色将意味着超越getRGB因此会减慢我的程序(因为它采用多个屏幕截图并将它们与较小的图像进行比较以非常快速地搜索匹配).
我的问题是,假设我有BufferedImage截图和BufferedImage smallImage,我将如何判断Screenshot.getRGB(1,1)和smallImage.getRGB(1,1)是否是相似的颜色?
我有一组RGB十六进制颜色.我想找到一种通过颜色相似性和阈值对它们进行分组的快速而肮脏的方法.
规格:
我有一个脚本,可以从图像中提取最常出现的颜色.我想将这些数据存储在MySQL中,然后能够根据颜色的点击来提取图像.例如,如果用户点击红色,我想拉出其他具有"红色"颜色计数的图像.我不确定如何在一系列颜色值中搜索或在数据库中实际存储的值.理想情况下,我想向用户展示一个渐变带,让他们点击它以找到与他们点击的颜色接近的图像.
我可以用来获取更多信息的任何帮助,指针或关键字都是有用的.
可能重复:
PHP中颜色之间的"距离"
我想检测RGB值是否是某种粉红色.我不确定如何继续这个,因为似乎没有一系列RGB或十六进制值遵循粉红色的线性顺序(一个粉红色255, 182, 193; #FFB6C1,而另一个是238, 162, 173; #EEA2AD).你知道该做什么,你知道我的范围的RGB /十六进制值的开始和结束吗?