Python: PS 图层混合算法汇总】的更多相关文章

本文用 Python 实现了PS 中的图层混合算法,把很多常见的图层混合算法都汇总到了一起,比起以前写的算法,就是用矩阵运算代替了很耗时的for 循环,运行效率有所提升.具体的代码如下: import matplotlib.pyplot as plt from skimage import io import math import numpy as np # image fusion file_name='D:/Visual Effects/PS Algorithm/2.jpg'; img_1…
详细的算法原理能够參考 PS图层混合算法之中的一个(不透明度,正片叠底,颜色加深,颜色减淡) // PS_Algorithm.h #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <iostream> #include <string> #include "cv.h" #include "highgui.h" #include "cxma…
具体的算法原理可以参考 PS图层混合算法之三(滤色, 叠加, 柔光, 强光) // PS_Algorithm.h #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <iostream> #include <string> #include "cv.h" #include "highgui.h" #include "cxmat.hpp&qu…
具体的算法原理可以参考 PS图层混合算法之二(线性加深,线性减淡,变亮,变暗) // PS_Algorithm.h #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <iostream> #include <string> #include "cv.h" #include "highgui.h" #include "cxmat.hpp&q…
具体的算法原理可以参考: PS图层混合算法之六(差值,溶解, 排除) // PS_Algorithm.h #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <iostream> #include <string> #include "cv.h" #include "highgui.h" #include "cxmat.hpp"…
具体的算法原理可以参考 PS图层混合算法之四(亮光, 点光, 线性光, 实色混合) // PS_Algorithm.h #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include <iostream> #include <string> #include "cv.h" #include "highgui.h" #include "cxmat.hpp…
差值模式: 查看每个通道中的颜色信息,比较底色和绘图色,用较亮的像素点的像素值减去较暗的像素点的像素值.与白色混合将使底色反相:与黑色混合则不产生变化. 排除模式可生成和差值模式相似的效果,但比差值模式生成的颜色对比度较小,因而颜色较柔和.与白色混合将使底色反相:与黑色混合则不产生变化. Difference 差值 C=|A-B| 上下层色调的绝对值.该模式主要用于比较两个不同版本的图片.如果两者完全一样,则结果为全黑. 清除模式: 同背后模式一样,当在图层上操作时,清除模式才会出现.利用清除模…
滤色模式: 作用结果和正片叠底刚好相反,它是将两个颜色的互补色的像素值相乘,然后除以255得到的最终色的像素值.通常执行滤色模式后的颜色都较浅.任何颜色和黑色执行滤色,原色不受影响;任何颜色和白色执行滤色得到的是白色:而与其他颜色执行滤色会产生漂白的效果. Screen 滤色 C=1-(1-A)*(1-B)也可以写成 1-C=(1-A)*(1-B) 该模式和上一个模式刚好相反,上下层像素的标准色彩值反相后相乘后输出,输出结果比两者的像素值都将要亮(就好像两台投影机分别对其中一个图层进行投影后,然…
线性加深模式: 查看每个通道的颜色信息,通过降低"亮度"使底色的颜色变暗来反映绘图色,和白色混合没变化. Linear Burn 线形加深 C=A+B-1 如果上下层的像素值之和小于255,输出结果将会是纯黑色.如果将上层反相,结果将是纯粹的数学减. 线性减淡模式: 查看每个通道的颜色信息,通过增加"亮度"使底色的颜色变亮来反映绘图色,和黑色混合没变化. Linear Dodge 线性减淡 C=A+B 将上下层的色彩值相加.结果将更亮. 变亮模式: 查看每个通道的颜…
下列公式中,A代表了上面图层像素的色彩值(A=像素值/255),B代表下面图层像素的色彩值(B=像素值/255),C代表了混合像素的色彩值(真实的结果像素值应该为255*C).该公式也应用于层蒙板. 不透明度模式: C=d*A+(1-d)*B 相对于不透明度而言,其反义就是透明度.这两个术语之间的关系就类似于正负之间的关系:100%的不透明度就是0%的透明度.该混合模式相对来说比较简单,在该混合模式下,如果两个图层的叠放顺序不一样,其结果也是不一样的(当然50%透明除外).该公式中,A代表了上面…