2006_Color Harmonization_SIGGRAPH

这是一篇关于色彩和谐化的工作,可以根据图片的HSV空间中H色相的值进行改变颜色,使得原图更加美观。

 

文中使用色相环,预定义了8种模板

模板中的中心位置说的是扇形区域的中间那条线是在哪个地方(顺时针偏移),默认垂直向上的是0,eg 0.25 则是说的中心线在正东方向。而宽度是不变的,也就是灰色的扇形区域的大小是不变的,变得就只是中心线的位置,相当于在绕着中心点旋转。

这个是相当于损失函数,里面的||*||代表了弧长,意思是让像素的色相值尽可能接近模板本身,

算法思路是,先固定模板,然后优化alpha,之后根据每个模板和对应的alpha计算F也就是损失值,找到最小的那一组(m, alpha)就是我们最终使用的。

为了解决在色相环形图中出现两个区域,图像空间上相邻的像素被分到不同区域的情况,也就是上图中间孔雀的脖子颜色不一致的问题,引入了二值分割算法,使用的是graph-cut方法,给每个像素一个标签0或者1决定他们是被分到哪一个色相环形图的区域中。

文章中的graph-cut直接用比较耗时,可以用opencv中的超像素就代替,可以加速,具体流程为:先不看颜色的连续性,单纯计算每个像素的色相到哪个扇形区域最近,先为每个像素单独打标签,然后再统计opencv划分的每个超像素块里面的像素标签哪个多,就把当前超像素的标签置为谁。这就保证了颜色又连续,每个颜色被压缩的距离又最小,色差变化不会太大。

最后一步就是改变颜色了,也就是上面的公式,物理含义就是我们知道了每个像素P要压到哪一个区域,那么我们根绝这个P的色相和中心色相的距离来修改,距离越大,越远离中心,距离越小越接近中心。

 

输入一个图像X,没有图中的每一个像素都得到他的色相,找到和模本库种最匹配的模板,通过recolor进行颜色改变,其中为了保持图像空间中的连续性,使用了给予graph-cut的超像素分割技术,相邻的像素使其落到同一个色相里面。

 

参考:

http://www.websiteoptimization.com/speed/tweak/color-harmony/

https://blog.yuzhenyun.me/harmonization/

https://blog.csdn.net/zb1165048017/article/details/104023061 这里面有一个代码是notebook可以看看

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值