暗图片亮度增强
根据photoshop的滤色混合方法,完成一种暗图片的亮度增强手段。
滤色混合和正片叠底的公式
形象理解正片叠底和滤色
代码参考-c
先贴一张效果图
简单来说,正片叠底会使暗图片更暗,滤色混合会使亮图片更亮。
滤色混合步骤很简单:
- 将绿色通道反色后作为系数值,分别与各个通道相乘,得到新图层;
- 将新图层与原图做一次滤色混合,f(a, b) = 1 - (1 - a)*(1 - b);
其中a是底色,就是原图片,b是混合色,参考代码中用绿色通道的值作为混合色。我尝试了,无论是rgb里面的哪一个通道,或者hsv中的v通道,效果都可以。有人说是因为人眼对绿色敏感且绿色对亮度影响打,这里我也不知道对不对。
代码如下
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2020/5/20 9:19
# @Author : Hran
# @Site :
# @File : photoshop.py
# @Software: PyCharm
"""
将新图层与原图做一次滤色混合,f(a, b) = 1 - (1 - a)*(1 - b);
"""
import cv2
import numpy as np
def lvse_screen_xy(x, y):
"""
滤色模式下的公式
:param x: 基色
:param y: 混合色
:return: 混合后的颜色
"""
return (255 - ((255-(x)