萌新的计算机视觉入门1--Retinex算法

Posted zsl96

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了萌新的计算机视觉入门1--Retinex算法相关的知识,希望对你有一定的参考价值。

 

  算法的基本原理是认为人眼观看的图像S是由两部分组成,即入射光图像L与反射图像R相乘得到,因为R与图像轮廓信息相关,所以问题变为从S中提取R。其中的关键便是根据L的特征对L进行合适的建模。

  最基础的算法认为光原本照度是均匀的,所以在S图像上进行高斯滤波,从而留下物体反射的信息R,而且认为物体的颜色也是由物体反射能力决定的,处理照度信息不会对颜色信息产生损失。

  在这些理论的假设下,感觉这个算法最适合处理的是光照不足下物体的还原,但是要想处理效果好,最好不要有额外的光源,如路灯,建筑物灯,因为这会破坏L的低频特性。

  算法采取的多通道MSRCR算法,三通道标准差为经典的30,150,300,对颜色有一定修复。

  例子:

  处理理较好的几幅图像。

  技术分享图片 技术分享图片

  技术分享图片技术分享图片

  这几幅的共同特点是,观察的物体都在远方,雾对物体的模糊程度较均匀,假如是物体有近有远,雾仅仅对远处的物体模糊,效果就会变差。抑或有灯光破环原本照度的均匀性效果也会变差(照度存在高频信息)。

  较差的效果:

  技术分享图片技术分享图片

  

  我们可以发现在左下光照区域的建筑细节都丢失了,因为算法颜色恢复使用的是对数域线性的恢复128*颜色比重+127,由对数函数的特性,高亮度的区域被压缩了。再就是像路灯附近,亮度变化较大的部分被平滑化了,这还是对亮度L估计方式不当造成的(此情况不应认为照度是缓慢变化的)。

  算法也可以解决的光照不足的情况,例如夜晚,清晨,傍晚的图片,解决因为光照不足导致人眼对图像不敏感的问题。

     技术分享图片 技术分享图片

  

          McCann算法

   此算法意在对不均匀照度产生一种更好的估计,其对照度信息的提取不再是高斯卷积的加权方式,而是选取在一条螺旋线上的亮度进行加权,相比与高斯加权这样可以获取更大范围内的照度信息,并且根据图像大小进行规定数目的迭代。

  算法细节不再赘述,我们看看其与MSRCR处理性能的区别。

  技术分享图片                    (MSRCR)

技术分享图片

 (McCann)

  还是可以看出明显的性能优势的,但是相应的计算量也大大上升(因为有迭代的过程)。

  

以上是关于萌新的计算机视觉入门1--Retinex算法的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV入门级图像处理教程,从小白到视觉算法工程师

计算机视觉-OpenCV入门讲解

计算机视觉入门及资料汇总

Python基础语法入门

Python基础语法入门

计算机视觉 : 10分钟入门opencv