专栏名称: AI开发者
AI研习社,雷锋网旗下关注AI开发技巧及技术教程订阅号。
目录
相关文章推荐
爱可可-爱生活  ·  [CL]《Leveraging ... ·  2 天前  
爱可可-爱生活  ·  -20250310221422 ·  2 天前  
51好读  ›  专栏  ›  AI开发者

专栏 | OpenCV图像处理专栏十四 | 基于Retinex成像原理的自动色彩均衡算法(ACE)

AI开发者  · 公众号  · AI  · 2020-02-16 17:00

正文


点击上方“蓝字”关注“AI开发者”


本文来自 @BBuf 的社区专栏 GiantPandaCV ,文末扫码即可订阅专栏。


前言

这个算法是IPOL上一篇名为《Automatic Color  Equalization(ACE) and its Fast Implementation》提出的,这实际上也是《快速ACE算法及其在图像拼接中的应用》这篇论文中使用的ACE算法,这个算法主要是基于Retinex成像理论做的自动彩色均衡,我用C++ OpenCV实现了,来分享一下。

算法原理

在论文介绍中提到,高动态图像是指在一幅图像中,既有明亮的区域又有阴影区域,为了使细节清晰,需要满足以下几点:

  • (1)对动态范围具有一定的压缩能力
  • (2)对亮暗区域的细节有一定的显示能力
  • (3)在满足(1),(2)的条件下不破坏图像的清晰度

Rizzi等人根据Retinex理论提出自动色彩均衡算法,该算法考虑了图像中颜色和亮度的空间位置关系,进行局部的自适应滤波,实现具有局部和非线性特征的图像亮度,色彩与对比度调整,同时满足灰度世界理论和白斑点假设。

朴素的ACE算法实现

获得空域重构图像

对图像进行色彩/空域调整,完成图像的色差矫正,得到空域重构图像:

其中 是中间结果, 为2个点的亮度差, 表示距离度量函数, 为亮度表现函数,需要是奇函数,这一步可以适应局部图像对比度, 可以放大较小的差异,并丰富大的差异,根据局部内容扩展或者压缩动态范围。一般的, 为:

对矫正后的图像进行动态扩展

对矫正后的图像进行动态扩展,一种简单的线性扩展为:

其中 的斜率,其中:

我们还可以将其映射到 的空间中:







请到「今天看啥」查看全文