使用Python和OpenCV在图像之间执行超快速的颜色转换
这篇博客将介绍如何使用Python和OpenCV在图像之间执行超快速的颜色转换。
与Reinhard基于直方图的颜色传递方法不同,该方法严格依赖Lab*颜色空间中像素强度的平均值和标准偏差,因此非常高效,能够快速处理非常大的图像。
1. 效果图
如下图所示,将左图水母蓝转移到中间珊瑚红上,得到转换空间后的图想蓝红珊瑚图
![在这里插入图片描述](https://img-blog.csdnimg.cn/eae928dd87294da1b7e1d9970512a162.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTg1OTg1,size_16,color_FFFFFF,t_70)
效果图2如下,将原图珊瑚红的色彩转移到中间水母蓝图像上,得到右侧的有点紫白兰的水母图
![在这里插入图片描述](https://img-blog.csdnimg.cn/22171009751f47d2b993cc7bddfdf949.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTg1OTg1,size_16,color_FFFFFF,t_70)
2. 原理
2.1 颜色转移算法
有俩种方法可以实现颜色转换:
-
基于直方