简单的RGB平均不考虑诸如监视器伽玛之类的非线性,并且不涉及人类视觉系统。
#1 楼
您可以尝试某种形式的颜色量化算法,该算法通常会提取最主要的N种颜色。我见过最多的是修改后的中位数切割量化[.pdf],它是基于中位数切割量化[.doc]的。这种算法的好处在于,它不仅可以简单地对图像中的每种颜色取平均,还可以提取并丢弃其他高度突出的颜色,而不是让它们污染平均值。概念是色彩空间(RGB空间)被划分为3D轴对齐的矩形区域(本文称为vbox),并通过拆分vbox进行迭代细分,尝试在拆分的每一侧保留一半像素。结果是颜色簇应该与图像中的颜色簇相对应。最大的颜色很可能与图像“在视觉上相似”。
该算法的JavaScript实现和演示称为Color Thief。
评论
这不是您的问题,但是您通常会在电视上看到通过在背景中使用模糊和拉伸的副本将4:3图像扩展到宽屏。可能对您有用。