前几天在某图象处理论坛看到一个帖子,要把黑色背景中的水柱图象提取出来的问题。说实话,纯黑或者纯白的背景的图基本不存在什么抠图问题,只要你了解photoshop中的几个基本概念就可以解决了。 在这里就这个话题说说几个概念(不是从理论上去探讨概念,只是简单说明性的概念),很简单,但是确实很多人不注意。
首先我想说说两种色彩模式,rgb和cmyk。
rgb模式:
就是按照自然界里三种基本色混合的原理而做的一种模式。就是red(红)、green(绿)、blue(蓝)混合,通过三种基本颜色亮度值从0~255不同产生出其他各种颜色,这种模式叫加色模式。为什么叫加色模式呢,举个例子好了,我们通常使用的电视屏幕和电脑屏幕上的显示就是这样的模式,在没有图象时,屏幕是黑的,若r,g,b三色亮度都为255时混合叠加打在屏幕上时则显示成白色。就是加起来是白色的意思,叫加色模式。(呵呵,所以买显示器的时候,没通电前显示器越黑越是好显示器,走题了,打住打住。)
为了说明这个,我先来做个图大家看看,打开photoshop7.0,新建立三个图层,每个层上绘制个圆,分别给这三个圆填充上r,g,b三种颜色(色彩值最好在拾色器中通过数值输入),然后把三个层的图层混合模式都改成screen(屏幕)模式,你会发现图象消失了,555,惨了~!没关系,把背景层隐藏掉,结果如图1所示:
(插图1)
从上图可以看出,三种颜色交界处变成了白色,对,rgb模式就是这样的原理。
cmyk模式:
这是种印刷模式,是用cyan(青色)、megenta(品红),yellow(黄)、black(黑)四种颜色混合,其实就是四种颜色的油墨混合,印刷当然是使用油墨了。这种模式叫减色模式,为什么叫减色模式呢。因为印刷是印在纸上的,纸一般都是白色的,有油墨涂上去才显示颜色,当c、m、y三种颜色油墨完全混合则产生了黑色,因此,减去颜色才是白色嘛,所以叫减色模式。
同样,做个图大家看,打开photoshop7.0,新建立一个文件,注意新建文件色彩模式为cmyk模式的哟,然后新建立三个层,画圆每个层上绘制个圆,分别给这三个圆填充上c,m,y三色,把三个层的混合模式都改为multiply(正片叠底)的模式,隐藏背景层,效果如图2:
(插图2)
好的,混合后三种颜色交界处就是黑色,这就是cmyk模式的了。
刚才我们已经使用到了屏幕模式和正片叠底模式,那我顺便先讲下这两混合模式的概念:
正片叠底(减色模式):此模式会根据作用图层图像(或是填入图案)的色彩,与下层图像(原图像)的色彩产生加深的作用效果,所以颜色会变得较深。
屏幕(加色模式):此模式正好和正片叠底模式相反,它是根据两者的色彩产生变亮的作用效果,所以整个亮度会提高,颜色会变浅。
因此黑色背景的图根本不用去的,只要把放到其他图层的上面,将黑色背景的图混合模式给改为屏幕模式,黑色就自然消失了的。
同样的道理,如果是白色背景图,那就把图改为正片叠底模式模式,则白色就消失。
可是还是有人硬要黑色或者白色背景上的图象抠出来,那怎么办?
在某个论坛看到过这样的测试题,有个黑色背景上的火焰的图,怎么把火完整的抠出来?为了这个,我专门做了个火的图。如图3。
(插图3)
这个火怎么抠出来呢,用路径描,不行,火边缘不整齐;魔术棒也不行,火的边缘有的和背静融合了,那怎么办?我们就使用刚才所说的颜色混合模式的方法来提取这个火焰的完整图象吧。
首先先,保证这图是rgb模式的(如果不是,请将其转化为rgb模式的图象),我要用rgb的原理来把火焰弄提取出来。
进入到channels(通道)面板,把r,g,b三个通道都复制出一个来,如图4所示:
(插图4)
回到layers(图层)面板 ,新建三个层,在第一个层里调出通道red copy的选区,然后填充红色,第二,三层分别调出green copy和blue copy两个通道的选区,填充上绿色和蓝色,如图5:
(插图5)
好了,现在把三个图层的混合模式全改为screen(屏幕)模式,隐藏背景层,呵呵,火焰很完整的提取出来了,如图6:
(插图6)
好了,既然提取黑色背景中的图象是利用rgb的原理,那么白色背景的图象呢,正好相反,使用cmyk原理。方法和提取黑色背景中的图象类似,不过图象模式更改下,改成cmyk,提取4个通道分别填充c,m,y,k这4种颜色而已。
当不是背景纯白纯黑的时候请读者想一想,方法并不一定就是和这里的一样了,但请注意一点的就是:在通道里只有黑白两种颜色,所以只要是纯色的背景图,在通道里只用黑白2色,既然知道了黑白背景图象的提取,那么其他纯色背景图象的提取就很很容易理解了。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器