NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 8674|回复: 12

求一款彩色渐变为黑白的滤镜

[复制链接]
发表于 2009-6-3 23:18 | 显示全部楼层 |阅读模式
小弟初涉avs,诚请前辈推荐一款彩色渐变为黑白及黑白还原成彩色的滤镜。还请大大帮小弟写出语句的范例。谢谢先
发表于 2009-6-5 11:21 | 显示全部楼层
貌似没有这种滤镜吧……不过,有一种曲线救国的方式,我先说思路吧。
1.先将影片分两段,后半段留出渐变需要的帧(需要渐变的秒数×fps=帧数),将后半段用Greyscale()转换成黑白。
2.算好时间,用fade将两段影片连接起来。
总帧数不变的话不用担心音频不同步。不过说实在的,我不推荐用avs进行这种编辑,脚本写起来太麻烦。不如直接用AE之类的来做了。
发表于 2009-6-5 20:51 | 显示全部楼层
如果编码器里有黑白模式的话,勾上就行了
发表于 2009-6-5 23:15 | 显示全部楼层
3# VempX
我觉着楼主不是想要把彩色画面变成黑白的,而是想做成彩色逐渐变成黑白的那种动态效果。
 楼主| 发表于 2009-6-6 09:49 | 显示全部楼层
感谢dgwxx为我解答。(悄悄地告诉你:俺是你的粉丝)

fadeout的color参数我不会设置成透明,带着颜色(也就是out后的最终色)叠加,效果估计不佳。调试了几次,不甚满意。
按你的思路,我把fade换成了dissolve,除audio有点卡外,video部分衔接及色彩过度皆相当完美。音频好在可以另行处理。

你说的AE是After Effect吗?我还不曾接触过。能告知我当前普遍在使用的是哪一版本?有教材推荐就更好了。

谢谢VempX大大的热心
发表于 2009-6-7 12:51 | 显示全部楼层
哇……我都有粉丝了
AE是After Effect,我也没用过= =||完全的外行一个~
发表于 2009-6-7 20:22 | 显示全部楼层
我用的AE是CS4。
说句废话:没试过制作楼主所说的这样的渐变,所以不太清楚。
比较残念的是AE的有关deinterlace的滤镜和各种插件没有一个好使的。
 楼主| 发表于 2009-6-8 19:38 | 显示全部楼层
diseac,是那个推动了世界进步的懒人?荣幸,荣幸...
发表于 2009-6-9 17:03 | 显示全部楼层
本帖最后由 zhzq674436 于 2009-6-9 17:06 编辑

只能等待高人开发这种滤镜了
发表于 2009-6-10 12:55 | 显示全部楼层
本帖最后由 lititude 于 2009-6-10 12:57 编辑

把一张白的bmp fad过去当mask
mt_merge(y=1,u=3,v=3)这样?

等等还没实践过
发表于 2009-6-11 13:27 | 显示全部楼层
嗯我败了...mt_merge还是不会用
  1. so=avisource("E:\encoder\eden\OP.avi",audio=false)
  2. so1=so.Greyscale()
  3. count=FrameCount(so)
  4. rate=framerate(so)
  5. wid=width(so)
  6. hei=height(so)
  7. bmp=BlankClip(length=count,width=wid,height=hei,fps=rate,color=$FFFFFF,pixel_type="YV12").fadein(60,fps=rate)

  8. mm=mt_merge(so,so1,bmp,chroma="process")

  9. return(mm)
复制代码
发表于 2009-8-6 22:00 | 显示全部楼层
用animiate也实现了
我找到了3种方法
1
  1. function opp(clip so , float op)
  2. {
  3. grey=so.greyscale()
  4. overlay(so,grey,opacity=op)
  5. }
  6. animate (so,0,100,"opp",0.0,1.0)
复制代码
用了animate和overlay,overlay可以设置透明度。

2
  1. animate(50,70,"merge",so,so.greyscale(),0.0,so,so.greyscale(),1.0)
复制代码
用了animate和merge,同样是用透明度。

上面两种透明度的参数是从0.0->1.0,如果是0->1的话,不会有效果的...

3
  1. function transC2G(clip so , int fcs , int fcl)
  2. {
  3.     grey=so.greyscale().trim(fcs-fcl+1,0)
  4.     so2=so.trim(0,fcs+fcl-1)
  5.     dissolve(so2,grey,fcl*2-1)
  6.    
  7.     return last
  8. }
  9. transC2G(so,500,200)
复制代码
用了dissolve,把一段分成彩色和黑白两段,dissolve过去。
发表于 2009-9-20 00:18 | 显示全部楼层
此地牛人颇多,liti大好厉害
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|NMM视频技术

GMT+8, 2025-5-5 20:57 , Processed in 0.116008 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表