【发布时间】:2013-01-17 21:08:22
【问题描述】:
基本上,我想获得出现在BitmapData 中的最常见的 ARGB 值。也就是想知道图片中哪个exact像素颜色最丰富。我尝试遍历图像的每个像素,并在出现已经存在的颜色时进行计数,但这太慢了,即使图像相对较小。有没有人知道一个更快的方法,也许使用BitmapData.histogram() 函数或其他东西?
理想情况下,对于至少 1000x1000 像素左右的图像,该过程应该接近瞬时。
【问题讨论】:
-
我发现了一个类似的问题,有一个很好的答案,它可能对你有帮助stackoverflow.com/a/9879812/1123633
-
我已经看到:不幸的是,解决方案似乎找到了平均颜色,这不是我想要的。我正在寻找图像中出现次数最多的单一颜色值。就像如果你有 20 个像素是
0xFF89ae00和 10 个像素是0xFFae0089,我会得到的结果颜色是0xFF89ae00,因为这是大多数像素的颜色。 -
哦,好吧,我误解了答案(我链接的那个),对不起^^。
-
你使用的是getPixel()还是getVector()?
-
我用的是
getPixel32():现在我看到getVector()更适合这个用途,但在Vesper回答之前我没用过。
标签: actionscript-3 colors bitmapdata argb