Atitti 图像处理 图像混合 图像叠加 blend 原理与实现
Atitti 图像处理 图像混合 图像叠加 blend 原理与实现
混合模式
本词条缺少信息栏,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
混合模式是图像处理技术中的一个技术名词,不仅用于广泛使用的Photoshop中,也应用于AfterEffect、llustrator 、 Dreamweaver、 Fireworks等软件。主要功效是可以用不同的方法将对象颜色与底层对象的颜色混合。当您将一种混合模式应用于某一对象时,在此对象的图层或组下方的任何对象上都可看到混合模式的效果。
目录
00001. 1 详细解释及原理
00002. 2 通常
00003. ▪ 正常模式(Normal)
00004. ▪ 溶解模式(Dissolve)
00005. ▪ 背后模式(Behind)
00006. ▪ 清除模式(Clear)
00007. 3 变暗系
00008. ▪ 变暗模式(Darken)
00009. ▪ 正片叠底(Multiply)
00010. ▪ 颜色加深模式(Color Burn)
00011. ▪ 线性加深模式(Linear Burn)
00001. ▪ 深色模式(Darker Color)
00002. 4 变亮系
00003. ▪ 增加模式(Add)
00004. ▪ 变亮模式(Lighten)
00005. ▪ 滤色模式(Screen)
00006. ▪ 颜色减淡模式(Color Dodge)
00007. ▪ 线性减淡模式(Linear Dodge)
00008. ▪ 浅色模式(Lighter Color)
00009. 5 饱和度系
00010. ▪ 叠加模式(Overlay)
00001. ▪ 柔光模式(Soft Light)
00002. ▪ 强光模式(Hard Light)
00003. ▪ 亮光模式(Vivid Light)
00004. ▪ 线性光模式(Linear Light)
00005. ▪ 点光模式(Pin Light)
00006. ▪ 实色混合模式(Hard Mix)
00007. 6 差集系
00008. ▪ 差值模式(Difference)
00001. ▪ 排除模式(Exclusion)
00002. ▪ 减去模式(Subtract)
00003. ▪ 划分模式(Divide)
00004. 7 颜色系
00005. ▪ 色相模式(Hue)
00006. ▪ 饱和度模式(Saturation)
00007. ▪ 颜色模式(Color)
00008. ▪ 亮度模式(Luminosity)
1.正常模式(Normal)
默认模式,显示混合色图层(蝴蝶图层)的像素,没有进行任何的图层混合。这意味着基色图层(背景图层)对蝴蝶层没有影响。
2.溶解(Dissolve)
将混合色图层的图像以散乱的点状形式叠加到基色图层的图像上,对图像的色彩不产生影响,与图像的不透明度有关。在图像的填充和不透明度都是100%时,边缘的效果是最明显的,像下图的蝴蝶图层中,蝴蝶的边缘点状像素效果就比较明显。
3.变暗(Darken)
在该模式下,对混合的两个图层相对应区域RGB通道中的颜色亮度值进行比较,在混合图层中,比基色图层暗的像素保留,亮的像素用基色图层中暗的像素替换。总的颜色灰度级降低,造成变暗的效果。如下图中,相对应区域中基色图层中较暗的铁锈就会被显示出来。
正片叠底(Multiply)
将上下两层图层像素颜色的灰度级进行乘法计算,获得灰度级更低的颜色而成为合成后的颜色,图层合成后的效果简单地说是低灰阶的像素显现而高灰阶不显现(即深色出现,浅色不出现,黑色灰度级为0,白色灰度级为255)。如下图中,蝴蝶图层中较浅的颜色由下一图层较深的颜色显现。
计算公式:结果色R = 混合色R *基色R / 255(G、B的数值算法一样)
8.变亮(Lighten)
在该模式与变暗模式相反,是对混合的两个图层相对应区域RGB通道中的颜色亮度值进行比较,取较高的的像素点为混合之后的颜色,使得总的颜色灰度的亮度升高,造成变亮的效果。用黑色合成图像时无作用,用白色时则仍为白色。
10.颜色减淡(Color Dodge)
使用这种模式时,会加亮图层的颜色值,加上的颜色越暗,效果越细腻。与颜色加深刚好相反,通过降低对比度,加亮底层颜色来反映混合色彩。与黑色混合没有任何效果。
计算公式:结果色 = 基色 + (混合色 * 基色) / (255 - 混合色)。混合色为黑色,结果色就等于基色,混合色为白色结果色就为白色。基色为黑色结果色就为黑色。
9.滤色(Screen)
它与正片叠底模式相反,将上下两层图层像素颜色的灰度级进行乘法计算,获得灰度级更高的颜色而成为合成后的颜色,图层合成后的效果简单地说是高灰阶的像素显现而低灰阶不显现(即浅色出现,深色不出现),产生的图像更加明亮。
计算公式:结果色 = 255 - 混合色的补色 * 及色的补色 / 255
13.叠加(Overlay)
叠加模式比较复杂,它是根据基色图层的色彩来决定混合色图层的像素是进行正片叠底还是进行滤色,一般来说,发生变化的都是中间色调,高色和暗色区域基本保持不变。像素是进行正片叠底(Multiply)混合还是屏幕(Screen)混合,取决于基色层颜色。颜色会被混合,但基色层颜色的高光与阴影部分的亮度细节就会被保留。
计算公式:基色
基色 > 128:结果色 = 255 - (255 - 混合色)* (255 - 基色) / 128
/atiplat_cms/src/com/attilax/img/ImageBlendFilter.java
参考资料
Photoshop中27种图层混合模式原理图文详解_脚本之家.htm
認識Photoshop Blend Mode - Part 1 - DCFever.com.html
PS中图层混合模式的Blend公式 - Jave.Lin的专栏 - 博客频道 - CSDN.NET.html
图像处理之基于像素的图像混合 - 流浪的鱼 - 博客频道 - CSDN.NET.html
混合模式_百度百科.html
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )
汉字名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
Atiend
Atitti 图像处理 图像混合 图像叠加 blend 原理与实现的更多相关文章
- 学习 opencv---(3) ROI 区域图像叠加&初级图像混合
在这篇文章里,我们一起学习了在OpenCV中如何定义感兴趣区域ROI,如何使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像混合操 ...
- opencv 3 core组件进阶(2 ROI区域图像叠加&图像混合;分离颜色通道、多通道图像混合;图像对比度,亮度值调整)
ROI区域图像叠加&图像混合 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp&g ...
- Python图像处理丨认识图像锐化和边缘提取的4个算子
摘要:图像锐化和边缘提取技术可以消除图像中的噪声,提取图像信息中用来表征图像的一些变量,为图像识别提供基础. 本文分享自华为云社区<[Python图像处理] 十七.图像锐化与边缘检测之Rober ...
- RGB图像数据字符叠加,图像压缩(ijl库),YUV转RGB
jackyhwei 发布于 2010-01-01 12:02 点击:3218次 来自:CSDN.NET 一些非常有用的图像格式转换及使用的源代码,包括RGB图像数据字符叠加,图像压缩(ijl库),Y ...
- 深度图像配准(Registration)原理
机器视觉中,3D相机产生的深度图像(depth image)通常需要配准(registration),以生成配准深度图像(registed depth image).实际上配准的目的就是想让深度图和彩 ...
- opencv3.2.0 分离颜色通道&多通道图像混合
##名称:分离颜色通道&多通道图像混合 ##平台:QT5.7.1+OpenCV3.2.0 ##时间:2017年12月11日 /***************创建QT控制台程序********* ...
- PorterDuffXfermode 图像混合技术在漫画APP中的应用
此文已由作者游葳授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 写在开头 随着应用开发的深入,视觉同学在完成了页面的基本设计后,再也按耐不住心中的寂寞,开始对各种细节不满意, ...
- Win8 Metro(C#)数字图像处理--3.2图像方差计算
原文:Win8 Metro(C#)数字图像处理--3.2图像方差计算 /// <summary> /// /// </summary>Variance computing. / ...
- Win8 Metro(C#)数字图像处理--3.3图像直方图计算
原文:Win8 Metro(C#)数字图像处理--3.3图像直方图计算 /// <summary> /// Get the array of histrgram. /// </sum ...
随机推荐
- 数位DP
题意:(hdu 4734) 我们定义十进制数x的权值为f(x) = a(n)*2^(n-1)+a(n-1)*2(n-2)+...a(2)*2+a(1)*1,a(i)表示十进制数x中第i位的数字. 题目 ...
- iOS-详细解读Const
在过去开发中,几乎每一个人都会定义宏,因为这东西实在是好用,省去了代码量而且还不容易错,而我这篇文中所介绍的const可以完美替带宏定义. 并且苹果也建议大家抛弃宏定义而转投const ,并且swif ...
- SAS零散知识总结
1,变量名命名规范:以字母或者下划线开始,可包含字母.下划线.数字,且不超过32个字符: 2,INFILE用于读取外部数据文件,一般于FILENAME(和LIBNAME用户一致,但路径要精确到文件名( ...
- 个人阅读作业Week7
没有银弹 <没有银弹>,Brooks在该论文中,强调真正的银弹并不存在,而所谓的没有银弹则是指没有任何一项技术或方法可以能让软件工程的生产力在十年内提高十倍.文中讨论到了软件工程中主要的两 ...
- NFS挂载操作指南
NFS 全称 network file system,其功能是实现将某台服务器的某个目录下资源共享给其他服务器.被共享的服务器作为nfs服务端,需要开启和配置nfs server服务.共享他人资源的服 ...
- mysql 数值函数
可使用常见的算术操作符.注意就 -. +和 *而言, 若两个参数均为正数,则其计算结果的精确度为 BIGINT (64比特),若其中一个参数为无符号整数, 而其它参数也是整数, 则结果为无符号整数.请 ...
- java分割字符串
经验分享: 1.分隔符为“.”(无输出),“|”(不能得到正确结果)转义字符时,“*”,“+”时出错抛出异常,都必须在前面加必须得加"\\",如split(\\|); 2.如果用& ...
- 去掉table中的空隙
将cellspacing与cellpadding设置为0即可 <style> td{ border:1px; } </style> <table cellspacing= ...
- go json null字段的转换
最近试了试go中对json null字段进行转换,代码如下: struct 转 json: package main import ( "encoding/json" " ...
- [leetcode 48] rotate image
1 题目 You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwi ...