检测UIImage是亮还是暗

时间:2015-06-19 20:45:32

标签: ios objective-c uiimage

我需要一些帮助来创建一个智能检测器,可以检测UIImage是亮还是暗,这样我就可以在UILabel上使用相反颜色的textColor ,黑色或白色。

这可以在几行中完成,还是我需要一个硬核CoreImage机动?

谢谢!

2 个答案:

答案 0 :(得分:4)

看图像是否是"黑暗"或者"光"一般都不会工作。即使整体图像可能被视为一个或另一个,您最终放置文本的部分也可能包含亮部和暗部。

向随机图片添加文本的常见解决方案是在白色文本中添加部分透明的黑色背景(或将部分透明的白色背景添加到黑色文本)。

答案 1 :(得分:0)

如果您有随机图像,则必须检查所有像素。你不能只检查一些像素 - 作为一个反例,你可以想象一个完全是白色的图像,只有一些黑色像素而你只检查它们。这会给你带来不好的结果。

我能想象的最简单的解决方案是将图像转换为灰度,然后遍历所有像素,计算平均灰度。然后你可以决定平均值是接近白色还是接近黑色。

您还可以在处理之前缩小图像尺寸(将图像绘制成较小的图像)。