PS图层混合算法之六(差值,溶解, 排除)
2014-04-09 20:36
351 查看
差值模式:
查看每个通道中的颜色信息,比较底色和绘图色,用较亮的像素点的像素值减去较暗的像素点的像素值。与白色混合将使底色反相;与黑色混合则不产生变化。
排除模式可生成和差值模式相似的效果,但比差值模式生成的颜色对比度较小,因而颜色较柔和。与白色混合将使底色反相;与黑色混合则不产生变化。
Difference 差值
C=|A-B|
上下层色调的绝对值。该模式主要用于比较两个不同版本的图片。如果两者完全一样,则结果为全黑。
清除模式:
同背后模式一样,当在图层上操作时,清除模式才会出现。利用清除模式可将图层中有像素的部分清除掉。当有图层时,利用清除模式,使用喷漆桶工具可以将图层中的颜色相近的区域清除掉。可在喷漆桶工具的选项栏中设定“预值”以确定喷漆桶工具所清除的范围。工具选项栏中的“用于所有图层”选项在清除模式下无效。
Exclusion 排除
C=A+B-2*A*B
亮的图片区域将导致另一层的反相,很暗的区域则将导致另一层完全没有改变。
溶解模式:
最终色和绘图色相同,只是根据每个像素点所在的位置的透明度的不同,可随机以绘图色和底色取代。透明度越大,溶解效果就越明显。
Dissolve 溶解
该模式根本不是真正的溶解,因此并不是适合Dissolve这个称谓,其表现仅仅和Normal类似。其从上层中随机抽取一些像素作为透明,使其可以看到下层,随着上层透明度越低,可看到的下层区域越多。如果上层完全不透明,则效果和Normal不会有任何不同。
A possible reliable program:
Image_1=imread('2.jpg');
Image_2=imread('3.jpg');
Image_1=double(Image_1)/255;
Image_2=double(Image_2)/255;
alpha=0.8;
[r, c, k]=size(Image_1);
Mask_1=zeros(r,c);
for i=1:r
Index=randperm(c);
for j=1:floor(r*alpha)
Mask_1(i, Index(j))=1;
end
end
Mask(:,:,1)=Mask_1;
Mask(:,:,2)=Mask_1;
Mask(:,:,3)=Mask_1;
Image_3=Image_1.*Mask+Image_2.*(1-Mask);
imshow(Image_3);
图 A
图B
差值
排除
溶解
查看每个通道中的颜色信息,比较底色和绘图色,用较亮的像素点的像素值减去较暗的像素点的像素值。与白色混合将使底色反相;与黑色混合则不产生变化。
排除模式可生成和差值模式相似的效果,但比差值模式生成的颜色对比度较小,因而颜色较柔和。与白色混合将使底色反相;与黑色混合则不产生变化。
Difference 差值
C=|A-B|
上下层色调的绝对值。该模式主要用于比较两个不同版本的图片。如果两者完全一样,则结果为全黑。
清除模式:
同背后模式一样,当在图层上操作时,清除模式才会出现。利用清除模式可将图层中有像素的部分清除掉。当有图层时,利用清除模式,使用喷漆桶工具可以将图层中的颜色相近的区域清除掉。可在喷漆桶工具的选项栏中设定“预值”以确定喷漆桶工具所清除的范围。工具选项栏中的“用于所有图层”选项在清除模式下无效。
Exclusion 排除
C=A+B-2*A*B
亮的图片区域将导致另一层的反相,很暗的区域则将导致另一层完全没有改变。
溶解模式:
最终色和绘图色相同,只是根据每个像素点所在的位置的透明度的不同,可随机以绘图色和底色取代。透明度越大,溶解效果就越明显。
Dissolve 溶解
该模式根本不是真正的溶解,因此并不是适合Dissolve这个称谓,其表现仅仅和Normal类似。其从上层中随机抽取一些像素作为透明,使其可以看到下层,随着上层透明度越低,可看到的下层区域越多。如果上层完全不透明,则效果和Normal不会有任何不同。
A possible reliable program:
Image_1=imread('2.jpg');
Image_2=imread('3.jpg');
Image_1=double(Image_1)/255;
Image_2=double(Image_2)/255;
alpha=0.8;
[r, c, k]=size(Image_1);
Mask_1=zeros(r,c);
for i=1:r
Index=randperm(c);
for j=1:floor(r*alpha)
Mask_1(i, Index(j))=1;
end
end
Mask(:,:,1)=Mask_1;
Mask(:,:,2)=Mask_1;
Mask(:,:,3)=Mask_1;
Image_3=Image_1.*Mask+Image_2.*(1-Mask);
imshow(Image_3);
图 A
图B
差值
排除
溶解
相关文章推荐
- 读书笔记(三)——《山楂树之恋》敢爱吗?
- dijit样式定制(三)Button、RadioButton、CheckBox
- 《基于ORACLE的SQL优化读书》笔记 绑定变量分级
- 关于内连接和外连接(待补充)
- Windows下Subversion和Apache的安装及配置(一)
- Struts2开发环境搭建
- 设计模式总结
- day_5 使servlet小程序连接数据库
- UITextField知识点大全
- 二进制操作
- 我和我的输入提示--格式化输入文件
- 用2个摄像机做水印
- weka Experimenter 出现 “拒绝访问”
- 读入一行字符串
- Android 线程监控以及线程刷新主UI的方法
- linux驱动编程--设备模型1
- Linux下C++开发常用命令
- Vim默认保存文件路径的设置
- 【04】天气查询应用(第四课)
- OC各种数据类型之间的转换方法