34 algorithm photo image colors ios
我有一个关于如何获得图像主色(照片)的问题.我想到了这个算法:循环遍历所有像素并获得它们的颜色,红色,绿色,黄色,橙色,蓝色,洋红色,青色,白色,灰色或黑色(当然有一些边缘)和它的黑暗(浅,黑或然后检查哪种颜色最多.我认为这很慢而且不太精确.有没有更好的办法?
如果重要的话,它是从iPhone或iPod touch相机获取的UIImage,最多为5 Mpx.它必须快速的原因是简单地显示进度指示器并不是很有意义,因为这是针对视力不好或根本没有视力的人的应用程序.因为它适用于移动设备,所以可能不会占用太多内存(最多50 MB).
pay*_*yne 30
您的一般方法应该有效,但我会强调一些细节.
而不是您给定的颜色列表,在色谱中生成许多颜色"分档"来计算像素.这是另一个有一些算法的问题:生成光谱调色板使可以配置的数量,这样你就可以尝试获得你想要的结果.
接下来,对于您正在考虑的每个像素,您需要找到要增加的"最近"颜色区域.你需要定义"最近的"; 看到这篇关于"色差"的文章:http://en.wikipedia.org/wiki/Color_difference
为了提高性能,您无需查看每个像素.由于图像元素通常覆盖大面积区域(例如,天空,草等),因此只需采样几个像素即可获得所需的结果.我猜你每10个像素,甚至每100个像素都可以得到很好的结果.您也可以尝试这个因素.
[编者注:以下段落经过编辑,以适应Mike Fairhurst的评论.]
平均像素也可以完成,如本演示中所示:jsfiddle.net/MUsT8/
| 归档时间: |
|
| 查看次数: |
37123 次 |
| 最近记录: |