版面规则
提问时请注意:尽量详细描述操作过程、AVS脚本内容等,最好能写出片名,只贴图有时无法看出问题原因。
提示:发布原创内容请尽量使用附件上传。使用网盘会出现过期失效的问题,请注意。
头像
06_taro
核心会员
核心会员
帖子: 998
注册时间: 2010-09-22 18:32
来自: United Kingdom
联系: 网站

logoNR v0.1 - EraseLOGO的後處理NR腳本

2012-03-23 2:25

大蝦的這個教程裡用了EPSlice來處理EraseLOGO的事後菊。不過如果全片裡沒有顯示logo的畫面比較多的話,這些畫面的logo區域會有比較明顯的blur副作用。即使是有logo的畫面,因為是在一個矩形內做的nr,有時候也能比較明顯地看出來這個與其他部分不同的矩形框。於是搞了這個logoNR來替代EPSlice的處理,始終只處理logo部分,即使是在設定的矩形框內也不會對其中的背景有過大影響(其實最主要用處還是前者。無logo的畫面不會有副作用什麼的可以省下ConditionalFilter的心思……)

Download:logoNR_v0.1.avsi
OR
[syntax lang="avisynth" lines="f" filename="logoNR_v0.1.avsi"]#################################################
### ###
### logoNR ###
### ###
### by 06_taro - astrataro@gmail.com ###
### ###
### v0.1 - 22 March 2012 ###
### ###
#################################################
###
### Post-denoise filter of EraseLogo.
### Only process logo areas in logo frames, even if l/t/r/b are not set. Non-logo areas are left untouched.
###
###
### +---------+
### | USAGE |
### +---------+
###
### src = AviSource("input.avi")
### dlg = src.EraseLOGO("logo.lgd")
### logoNR(dlg, src, chroma=true, GPU=true, l=1280, t=40, r=-40, b=-960)
###
### dlg [clip]
### ------------------
### Clip after delogo.
###
### src [clip]
### ------------------
### Clip before delogo.
###
### chroma [bool, default: True]
### ------------------
### Process chroma plane or not.
###
### GPU [bool, default: True]
### ------------------
### Use FFT3DGPU instead of FFT3DFilter, will be ignored when "nr" is set.
###
### l/t/r/b [int, default: 0]
### ------------------
### left/top/right/bottom pixels to be cropped for logo area.
### Have the same restriction as Crop, e.g., no odd value for YV12.
### logoNR only filters the logo areas in logo frames, no matter l/t/r/b are set or not.
### So if you have other heavy filters running in a pipeline and don't care much about the speed of logoNR,
### it is safe to left these values unset.
### Setting these values only makes logoNR run faster, with rarely noticeable difference in result,
### unless you set wrong values and the logo is not covered in your cropped target area.
###
### nr [string]
### ------------------
### Set your custom nr filter to process logo areas, e.g., nr="RemoveGrain(4, 4)".
###
### +----------------+
### | REQUIREMENTS |
### +----------------+
###
### -> FFT3DFilter or FFT3DGPU, or your custom nr filter's requirements
### -> MaskTools2
### -> RemoveGrain
###
### +-----------+
### | CHANGELOG |
### +-----------+
###
### v0.1 - 22 Mar 2012
### - First release
###

Function logoNR(clip dlg, clip src, bool "chroma", bool "GPU", int "l", int "t", int "r", int "b", string "nr"){

chroma = Default(chroma, True)
GPU = Default(GPU, True)
l = Default(l, 0)
t = Default(t, 0)
r = Default(r, 0)
b = Default(b, 0)

b_crop = l==0 && t==0 && r==0 && b==0 ? false : true
src = b_crop ? src.Crop(l, t, r, b) : src
last = b_crop ? dlg.Crop(l, t, r, b) : dlg

clp_nr = Defined(nr) ? Eval(nr)
\ : GPU ? FFT3DGPU(sigma=4, plane=chroma?4:0)
\ : FFT3DFilter(sigma=4, plane=chroma?4:0)

logoM = mt_lutxy(src, "x y - Abs 4 <<", U=chroma?3:1, V=chroma?3:1)
\ .mt_expand(mode=mt_diamond(3), U=chroma?3:1, V=chroma?3:1)
\ .RemoveGrain(19, chroma?19:-1)
\ .mt_deflate(U=chroma?3:1, V=chroma?3:1)
clp_nr = mt_merge(clp_nr, logoM, U=chroma?3:2, V=chroma?3:2)

return b_crop ? Overlay(dlg, clp_nr, x=l, y=t) : clp_nr
}
[/syntax]

使用方法:
src = AviSource("input.avi")
dlg = src.EraseLOGO("logo.lgd")
logoNR(dlg, src, chroma=true, GPU=true, l=1280, t=40, r=-40, b=-960)

實際上l/t/r/b是否設置基本不影響結果。logoNR始終都只對logo區域做處理,非logo區域與無logo幀完全不會動。設置了l/t/r/b時處理範圍更小,所以速度會快得多。不設置而直接一個 logoNR(dlg, src) 轟過去也只是速度比較慢而已,不會有諸如非logo區域被blur或者無logo幀也處理之類的任何副作用。如果是用MP_pipeline來加速,譬如delogo專門放在一個slave裡做,而後面又有慢得多的處理的話,此時後面的處理處於瓶頸,CPU完全佔不滿的情況下整體速度可能沒什麼區別。想偷懶不量crop區域還是crop來加速看自己情況吧。如果做七八個不同電視台的TS,台標都在右上角,位置略有不同,或者是電視台台標位置突然變了之類的情況,都可以直接 logoNR(src, l=1000, t=0, r=0, b=-800) 這樣粗略地crop,反正範圍過大也沒有副作用,速度上也相差不大。

參數說明:
dlg [clip]
------------------
delogo之後的clip.

src [clip]
------------------
delogo之前的clip.

chroma [bool, default: True]
------------------
是否處理chroma平面.

GPU [bool, default: True]
------------------
用FFT3DGPU還是FFT3DFilter。當自定義"nr"的時候會被忽略。

l/t/r/b [int, default: 0]
------------------
crop參數。和crop一樣有正負,這點與EPSlice略有不同。

nr [string]
------------------
自定義處理logo區域用的nr濾鏡來代替logoNR的預設,譬如nr="RemoveGrain(4,4)"。
つまんねー事聞くなよ!

I, personally, for me, believe (obviously sometimes) that my OS choice is right. That's me. I'm not telling you that you should believe it. Learn the facts, and the origins behind the facts, and make up your own damn mind. That's why you have one. (source)

Follow me: @06_taro

304——
为纪念伟大的宇宙史上最强压制304先生,联合国教科文组织决定,将每年的第304天,即平年的10月31日或者闰年的10月30日,定为世界304日。

Shir1yn
帖子: 105
注册时间: 2012-03-22 19:29

Re: logoNR v0.1 - EraseLOGO的後處理NR腳本

2012-03-23 7:25

一大早就看到taro大放出的好東東

有空玩玩

{:cat_16}

上班去...........囧

头像
4h4h270
帖子: 163
注册时间: 2011-04-10 17:59

Re: logoNR v0.1 - EraseLOGO的後處理NR腳本

2012-03-23 12:28

好物~拜谢收下~

julseven9920
帖子: 42
注册时间: 2011-04-18 11:37

Re: logoNR v0.1 - EraseLOGO的後處理NR腳本

2012-04-14 13:19

擷取.JPG
遇到錯誤 {:cat_15}
另一個ts 沒這錯誤...

代码: 全选

dlg = src.EraseLOGO("D:\CTC 1440x1080.lgd") Import("D:\logoNR_v0.1.avsi") logoNR(dlg, src, chroma=true, GPU=true, l=1275, t=60, r=100, b=80)

头像
06_taro
核心会员
核心会员
帖子: 998
注册时间: 2010-09-22 18:32
来自: United Kingdom
联系: 网站

Re: logoNR v0.1 - EraseLOGO的後處理NR腳本

2012-04-14 13:50

翻譯一下:
Crop: YUV圖像切邊必須用2的倍數(左邊)

logoNR(dlg, src, chroma=true, GPU=true, l=1275, t=60, r=100, b=80)
つまんねー事聞くなよ!

I, personally, for me, believe (obviously sometimes) that my OS choice is right. That's me. I'm not telling you that you should believe it. Learn the facts, and the origins behind the facts, and make up your own damn mind. That's why you have one. (source)

Follow me: @06_taro

304——
为纪念伟大的宇宙史上最强压制304先生,联合国教科文组织决定,将每年的第304天,即平年的10月31日或者闰年的10月30日,定为世界304日。

julseven9920
帖子: 42
注册时间: 2011-04-18 11:37

Re: logoNR v0.1 - EraseLOGO的後處理NR腳本

2012-04-14 13:59

原來要用2的倍數...
謝大神

南宫恨
帖子: 8
注册时间: 2012-05-21 12:07

Re: logoNR v0.1 - EraseLOGO的後處理NR腳本

2013-06-23 0:01

2.jpg
2.jpg (25.57 KiB) 查看 12917 次
出现这个问题。。

头像
msg7086
帖子: 596
注册时间: 2011-02-19 0:49

Re: logoNR v0.1 - EraseLOGO的後處理NR腳本

2013-06-23 10:55

南宫恨 写了:出现这个问题。。
你的代码有错
Delogo LGD Collections 各种台标下载 | Home Of VapourSynth Evolution

<回答が無い理由>
1. 誰も知らない
2. 質問文が意味不明
3. 知ってるが、お前の態度が気に入らない
4. 良いボケが思いつかない

头像
Billy Herrington
帖子: 83
注册时间: 2013-01-09 9:54

Re: logoNR v0.1 - EraseLOGO的後處理NR腳本

2013-06-23 16:59

keep your cropped clip larger than 64x64

南宫恨
帖子: 8
注册时间: 2012-05-21 12:07

Re: logoNR v0.1 - EraseLOGO的後處理NR腳本

2013-06-24 21:39

msg7086 写了:
南宫恨 写了:出现这个问题。。
你的代码有错
恩,新上手所以笨笨的,连提问都没问好,惭愧啊 {:cat_12}

不过我想问问
我想给一个mv视频去标,有没有办法扫出来的logo类似于png这种纯无背景格式呢? {:cat_18} 否则总会在视频上留下矩形框框

另外,我处理的这个视频有的地方看不出来,有的地方却会又冒出来?难道是因为这个标在不同的地方浓度不一样么? {:cat_8} 那是不是就得分段去标,生成两种浓度的标?(扫标的时候最麻烦的就是那些无效的帧= =可怜啊,好像去不干净的就是那些无效扫描的区域)
1.jpg
2.jpg
3.jpg
图三感觉logo倒是去了,logo外又不和谐了……是自动处理了么?

代码: 全选

logoNR(dlg, src,chroma = True, GPU=true,nr="RemoveGrain(30,30)")

回到 “AviSynth”