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 ...
随机推荐
- 使用extjs6官方模板admin-dashboard
1.生成项目: sencha generate app -s templates/admin-dashboard/ Dashboard ../my-folder 2.修改app.json的output ...
- 使用hibernate可以优化的地方
a. 在查询字符串中,应该总是使用jdbc的占位符?,或使用使用命名参数:,不要自查询中使用字符串值来代替非常量值. b. Flush会影响性能,频繁刷新影响性能,尽量减少不必要的刷新. c. ...
- codeIgniter 文件路径的问题
学习CI的时候,发现一个问题,求指点. 整个项目的头部文件共用,CSS.JS 等文件都一起引入.在以下路径下都没问题. 首页 -- http://localhost/citest/index ...
- [转]MySQL关键性能监控(QPS/TPS)
原文链接:http://www.cnblogs.com/chenty/p/5191777.html 工作中尝尝会遇到各种数据库性能调优,除了查看某条SQL执行时间长短外,还需要对系统的整体处理能力有更 ...
- MATLAB 秒表函数 tic toc 计算程序运行时间
若需要测试出程序运行所需时间,或对不同的运行方式所需时间进行对比,则可利用秒表函数tic和toc.Tic函数启动定时器,第一个紧跟它的toc函数终止定时器并报告此时定时器的流逝时间.其语法如下: t ...
- [Leetcode]Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space. 这题貌似解法挺多,直接用简单的把数倒置,没有考虑数 ...
- Java学习笔记七——数组工具类Arrays
数组工具类Arrays Java提供的Arrays类里包含的一些static修饰的方法可以直接操作数组.若将里面的方法用熟的话,那开发效率会大大提高.下面介绍其中的方法. List<T> ...
- hdu 5106 组合数学+找规律
http://acm.hdu.edu.cn/showproblem.php?pid=5106 给定n和r,要求算出[0,r)之间所有n-onebit数的和,n-onebit数是所有数位中1的个数. 对 ...
- java 类反射记录
Class的getDeclaredMethod方法是获取当前类下的所有方法,包括private修饰的,该方法不获取父类的方法. getMethod获取父类及本类下的所有public方法.
- HDU1575Tr A(矩阵相乘与快速幂)
Tr A hdu1575 就是一个快速幂的应用: 只要知道怎么求矩阵相乘!!(比赛就知道会超时,就是没想到快速幂!!!) #include<iostream> #include<st ...