繁体   English   中英

检测UIImage是浅色还是深色

[英]Detect if UIImage is light or dark

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

可以在几行中完成吗,还是我需要一个核心的CoreImage操作?

谢谢!

通常看不到图像是“暗”还是“亮”。 即使将整体图像视为一个或另一个,您最终放置文本的部分也可能同时具有亮和暗部分。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM