平均值能代表一张图片吗?有其他更好的参数吗?

2020-03-12 22:52:03 +08:00
 xiaoming1992

我在做一个工具,将一张整体色值相近的图片,调整到另一个色值。如图所示

我的策略是,在 lab 空间,取源图片的各通道的平均值(cv::meanStDdev),遍历像素,将他们"相对平均值的波动"叠加到目标色值上。效果还行,但是总感觉差点意思,想问大家, [平均值] 能大体代表这张图片吗?有其他更好的参数吗? (由于是公司项目,不方便放源码)

1541 次点击
所在节点    程序员
7 条回复
mxT52CRuqR6o5
2020-03-12 22:58:27 +08:00
直接用 hsv 颜色空间就能实现需求吧
xiaoming1992
2020-03-12 23:21:18 +08:00
@mxT52CRuqR6o5 能稍微详细一些吗?不是太明白你的意思。(不过我策略没变,仅仅从 lab 空间换到 hsv 空间,好像效果是好了些,可能是我显示器的缘故,明天到公司用他们的苹果显示器看看。)
mxT52CRuqR6o5
2020-03-12 23:54:27 +08:00
@xiaoming1992 我的想法是在 hsv 的 h 空间进行你说的那个操作,仅供参考,我也不是最专业的
mxT52CRuqR6o5
2020-03-12 23:57:35 +08:00
@mxT52CRuqR6o5 h 空间的取值是 0 到 360 度,叠加后溢出了也没关系
xiaoming1992
2020-03-13 00:02:55 +08:00
@mxT52CRuqR6o5 嗯嗯,我对 hsv 各分量都执行了,明天看看效果,再试试仅对 h 通道执行的效果
Muniesa
2020-03-13 00:05:00 +08:00
我之前写检测颜色程序的时候用的是通道直方图的峰值,我个人感觉“众数”比“平均数”应该要更有代表性一些,不知道在你这里会不会好一些
xiaoming1992
2020-03-13 16:52:46 +08:00
@mxT52CRuqR6o5 hsv 空间效果不太好,一些颜色畸变有些严重。。。

@Muniesa 刚刚试了一下,在色彩比较纯的图片中,效果为: 众数 > 平均数;色彩斑驳或者颜色变动幅度较大的图片中,平均数 > 众数。

谢谢两位

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/652334

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX