Список форумов Kage Project Kage Project
 
  РегистрацияРегистрация  ВходВход
  Архив субтитровАрхив субтитров  ПоискПоиск  ЧаВоЧаВо  ПользователиПользователи
 Войти и проверить личные сообщенияВойти и проверить личные сообщения

Контуры
На страницу Пред.  1, 2, 3  След.
 
Начать новую тему   Ответить на тему    Список форумов Kage Project -> Техническая поддержка
Предыдущая тема :: Следующая тема 
Автор Сообщение
Slink

Переводы



Зарегистрирован: 29.05.2006
Сообщения: 270
Откуда: Мозгва
СообщениеДобавлено: Сб Ноя 14, 2009 19:25 pm   Ответить с цитатой

z0rc, а какой код из перечисленных именно для убирания этих помех?
Без телекино, ресайза, шарпа и прочих.

ColorMatrix, это вообще для чего?

Shitsu, можно попросить и ваш код тоже?

К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Отправить e-mail Посетить сайт автора Номер ICQ
Shitsu
Гость





СообщениеДобавлено: Сб Ноя 14, 2009 19:47 pm   Ответить с цитатой

Slink
там у меня намучено, что ничего не понятно, но могу прокомментировать, может что-нибудь еще интересное найдется.


Код:
DGDecode_mpeg2source("H:\Temp\weiss\[090626] Weiss Survive #04 (D-TBS 1440x1080).d2v", info=3)
ColorMatrix(hints=true, threads=0)
загружаем видео
Код:

loadplugin("H:\HARD\3\C\2009\GradMask\Release\GradMask.dll")
пока экспериментальная плагина
Код:

trim(5,4500)

SetMTmode(2,2)

Import("H:\Temp\weiss\AUFInfo\aufilters.avs")

tfm(order=-1,display=false,PP=0,mode=1).tdecimate()
прореживаем БЕЗ постпроцессинга
Код:


EraseLOGO(logofile="Weiss Survive - 072 1440x1080.lgd",fadein=0, fadeout=0,start=0, end=5000)
удаляем логотип
Код:


ConvertToYUY2()
Bilinearresize(848,1080)
подготавливаем для линейного ресайза
Код:

ConvertYUY2ToAviUtlYC()
AU_linear_resizeMT(486,1,0,2,4,true,false)
ConvertAviUtlYCToYUY2()
сам ресайз (подробнее про него выше)
Код:


crop(2,0,-2,480)



eedi2().turnright().eedi2().turnleft()
ееди интерполяция с учетом направления краев
Код:




spline36resize(1280,720)
к стандартному разрешению
Код:

ConvertToYV12()




c=last
m1=DePan(c,inputlog="Weiss Survive - 04 rev2des.shake.log",offset=1,mirror=0).trim(1,0)
m2=DePan(c,inputlog="Weiss Survive - 04 rev2des.shake.log",offset=-1,mirror=0)
interleave(c,m2,m1)
maska=motionmask(thy1=2,thy2=2,thsd=255).binarize()
static=degrainMedian().deblock()
#.deen("a2d",4,1,3)
#Convolution3D(0, 6, 12, 6, 8, 2.8, 0)
#.deen("a2d",4,1,3)
dinamic=TDeint(field=0,type=1,mode=2).deblock.deen("a2d",4,3,4)
#Overlay(dinamic,static,mask=maska)
mt_merge(dinamic,static,maska,luma=true,u=3,v=3)
selectevery(3,0)

тут чистка с компенсацией движения (думаю убрать (толку мало))
Код:


input=last
range=5
radius=1
adapt=20
   #GradMask=mt_luts(input,input,mode="range",pixels=mt_square(radius),expr="y",u=1,v=1).mt_lut(expr="255 x 1 "+string(range)+" / * 2 ^ /",u=1,v=1).removegrain(19,-1)
GradMask=input.mt_edge(mode="min/max",thY1=0,thY2=255,u=1,v=1).mt_lut(expr="255 x 1 "+string(range)+" / * 2 ^ /",u=1,v=1).removegrain(19,-1)
   #Mmaska=motionmask(thy1=1,thy2=1,thsd=255).binarize()
   #Grads=deen("a2d",4,3,4).Gradfun2db(1.8)
Grads=input.deen("a2d",4,1,3).Gradfun2db(1.8)
   #adapts=Grads.mt_lut("x "+string(adapt)+" - abs 255 * "+string(adapt)+" 128 - abs 128 + /").levels(20,1,70,0,255).removegrain(19,-1)
#vectors = Grads.MVAnalyse(isb = false)
   #adapts=motionmask(Grads,thy1=0,thy2=1,thC1=0,thC2=1,thsd=255).removegrain(19,-1).temporalsoften(1,255,0,255,2).mergeChroma(blankclip(Grads,color_yuv=$808080))
#adapts=Grads.MVMask(vectors,gamma = 1.0,ml=255).ColorYUV(gain_y=2000)
adapts=GradMask(Grads.deen("a2d",4,5,0),1).bilinearResize(320,180).bilinearResize(1280,720)
#adapts=GradMask(input,1)
#.bilinearResize(320,180).bilinearResize(1280,720)
   #.mergeChroma(blankclip(Grads,color_yuv=$808080))
diff=blankclip(Grads,color_yuv=$808080).addgrainC(2,2,0,0,constant = true)

#tar=ImageSource("target4.png",end=34524).ConvertToYUY2().coloryuv(levels="tv->pc")
#tar=DePan(tar,inputlog="Weiss Survive - 04 rev2des.moution.log",offset=1,mirror=15)
#dgrain=Overlay(Grads,tar,mode="Add")

dgrain=mt_makediff(Grads,diff,u=3,v=3)
   #dgrain=mt_makediff(Grads,diff.mergeluma(diff.temporalsoften(1,255,0,255,2),0.1),u=3,v=3)
Grads=mt_merge(Grads,dgrain,adapts,luma=true,u=3,v=3)
   #Grads=adapts
тут копипаста из градфунмода
Код:



ConvertToYUY2()
ConvertYUY2ToAviUtlYCFix()
AU_edgelevelMT(10,0,31,0)
ConvertAviUtlYCToYUY2Fix()

затемнитель линий вродее тоона
Код:




#LimitedSharpenFaster(edgemode=1,ss_x=1.004,ss_y=1.004)
#toon(0.4)

ConvertToYV12()

chromma=aWarpSharp(24,2,0.3,1)
#aWarpSharp2(48,4,0,60,4)
WarpSharp (128,3, 91,-0.6)
lines=MergeChroma(chromma)

двойной варпшарп для люмы - японския, для хромы - америкосский
Код:


mt_merge(lines,Grads,GradMask,luma=true)
объединяем линии и градиенты по маске
Код:

#mt_merge(adapts,adapts,GradMask)
#mt_merge(Mmaska,Mmaska,Mmaska)

#deen("a2d",4,8,8)
#Gradfun2dbmod(str=4,adapt=200)
#trim(2400,2500)+trim(2750,2850)


#  aWarpSharp2(int "thresh", int "blur", int "type", int "depth", int "chroma")
#    aWarpSharp(float "depth", int "blurlevel", float "thresh", int "cm")
#WarpSharp (clip, int depth = 128, int blur = 3, int bump = 128, float cubic = -0.6)
#  aWarpSharp2(48,4,50,4)
#    aWarpSharp(24,4,0.2,1)
#    thresh = thresh*256
#    blur   = blurlevel
#    depth  = depth*blurlevel/2
#    chroma = 0->2, 1->4, 2->3



[/code]все[code]



К началу
Shiko

Переводы



Зарегистрирован: 06.03.2008
Сообщения: 104

СообщениеДобавлено: Сб Ноя 14, 2009 19:57 pm   Ответить с цитатой

Shitsu
Если не лень - заскриньте, пожалуйста, превью кадра, где больше мелких деталей (например, 13ый) без украшательств, идущих после spline36resize(1280,720). Хочется сравнить непосредственно работу aviutl-овского AU_linear_resizeMT со своими наработками.

К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Shitsu
Гость





СообщениеДобавлено: Сб Ноя 14, 2009 20:25 pm   Ответить с цитатой

Shiko

после AU_linear_resizeMT

после eedi() и spline36resize(1280,720)


^ваша для сравнения


а соурсы можно глянуть?

К началу
Shiko

Переводы



Зарегистрирован: 06.03.2008
Сообщения: 104

СообщениеДобавлено: Сб Ноя 14, 2009 20:39 pm   Ответить с цитатой

Shitsu
Спасибо! Пока сорсы в таком состоянии, что толку от них мало. :) Судя по сравнению, отличия в устранении вертикального заблюривания минимальны (возможно, даже разница лишь из-за того, что я использовал nnedi2 интерполяцию для апскейла, а у вас eedi), а горизонтальные детали можно попробовать вернуть, поиграв с параметром в этой строчке:
Код:
Bilinearresize(848,1080)

Вы делаете предположение, что в изначальном видео были квадратные пиксели, а там мог быть анаморф. Если вместо 848 поставить 720 или около того, горизонтальную заблюренность, возможно, получится побороть.

К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора
Slink

Переводы



Зарегистрирован: 29.05.2006
Сообщения: 270
Откуда: Мозгва
СообщениеДобавлено: Сб Ноя 14, 2009 22:22 pm   Ответить с цитатой

Shitsu, что-то для меня это слишком сложно -_-
И откуда мне взять GradMask.dll? Гугл ничего не говорит.

К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Отправить e-mail Посетить сайт автора Номер ICQ
Shitsu
Гость





СообщениеДобавлено: Сб Ноя 14, 2009 23:45 pm   Ответить с цитатой

Цитата:
GradMask.dll
можно и без нее. в градфунмоде просто инвертированная картинка в качестве маски используется.

Основной код весь в начале до Spline36Resize() (который убирает эти самые артефакты)

плагина для авиутила здесь: http://www.geocities.jp/flash3kyuu/
комплект импорта плагин в ависюнх здесь: http://seraphy.fam.cx/~seraphy/program/WarpSharp/index.html
с ним вместе идет варпшарп

можно и через авиутил все это делать, но мне не нравится: http://spring-fragrance.mints.ne.jp/aviutl/
зато удобно фильтры в нем настраивать

К началу
z0rc

Переводы



Зарегистрирован: 10.06.2007
Сообщения: 280
Откуда: Киев
СообщениеДобавлено: Вс Ноя 15, 2009 2:25 am   Ответить с цитатой

Shitsu
Прошу небольшой ман по использованию logoscan плага aviutl.

Гм, и использования aufilters.avs. Получить-то, я его получил, но при использовании получаю краш где-то в глубине ависинта, так, что он даже не выдаёт, что именно ему не нравится.

К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора Номер ICQ
Slink

Переводы



Зарегистрирован: 29.05.2006
Сообщения: 270
Откуда: Мозгва
СообщениеДобавлено: Вс Ноя 15, 2009 17:31 pm   Ответить с цитатой

Shitsu, вот так?


DGDecode_mpeg2source("H:\Temp\weiss\[090626] Weiss Survive #04 (D-TBS 1440x1080).d2v", info=3)
ColorMatrix(hints=true, threads=0)
trim(5,4500)
SetMTmode(2,2)
Import("H:\Temp\weiss\AUFInfo\aufilters.avs")
tfm(order=-1,display=false,PP=0,mode=1).tdecimate()
ConvertToYUY2()
Bilinearresize(848,1080)
ConvertYUY2ToAviUtlYC()
AU_linear_resizeMT(486,1,0,2,4,true,false)
ConvertAviUtlYCToYUY2()
crop(2,0,-2,480)
eedi2().turnright().eedi2().turnleft()
spline36resize(1280,720)

К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Отправить e-mail Посетить сайт автора Номер ICQ
Shitsu
Гость





СообщениеДобавлено: Вс Ноя 15, 2009 18:07 pm   Ответить с цитатой

z0rc
С aufilters.avs было что-то подобное, но уже не помню что я делал. То ли что-то с дефелтовыми параметрами было, то ли в папке plugins какая-то длл-ка лишняя была. Прицепляю свою версию fufilters.avs


С логоскан вроде никаких проблем не было. Получилось с первого раза. Вот как я делал:

1. Делаем avs скрипт:
Код:
DGDecode_mpeg2source("C:\Download\Torrent\(Anime) 11eyes - 01 Raw (D-MX 1440x1080 MPEG2-TS).d2v", info=3)
ColorMatrix(hints=true, threads=0)
trim(200,1000)

вырезаем кусок, где присутствует логотип и обязательно ставим ColorMatrix, иначе из-за неправильного представления цветов от логотипа будут оставаться следы в зависимости от цвета фона.

2. Запускаем авиутл с плагиной логоскан, обрисовываем прямоугольник с логотипом. Еще можно поставить первый флажок - это что-то вроде "добавить в библиотеку". Жмем большую кнопку.


3. Начнется сканирование. Немного ждем. как надоест жмем отмену, получаем наш логотип:

4. Сохраняем, нажатием второй сверху кнопки в нужное место.

Если мы добавляли логотип в библиотеку, то можем посмотреть его в действии. Выбираем плагину eraselogo. Можно скопипастить от туда код для ависюнха:


Или лучше взять такой, напрямую из файла:
Код:
EraseLOGO(logofile="(Anime) 11eyes - 01 Ra 1440x108",fadein=0, fadeout=0,start=0, end=51629)


Вроде все.

Slink
да, только еще функцию AU_linear_resizeMT надо будет добавить в файл aufilters.avs. Примерный вариант в архиве


aufilters.zip  [1.15 KB] [Загрузок: 878]
К началу
Slink

Переводы



Зарегистрирован: 29.05.2006
Сообщения: 270
Откуда: Мозгва
СообщениеДобавлено: Вс Ноя 15, 2009 18:26 pm   Ответить с цитатой

Shitsu, спасибо, буду пробовать.

z0rc, из вашего варианта у меня почему-то отказывается подгружаться gradfun2dbmod и прога крешится, а без этого как я смотрю некоторые шумы остаются.

К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Отправить e-mail Посетить сайт автора Номер ICQ
z0rc

Переводы



Зарегистрирован: 10.06.2007
Сообщения: 280
Откуда: Киев
СообщениеДобавлено: Вт Ноя 17, 2009 18:33 pm   Ответить с цитатой

Shitsu
Разобрался, был старый варпшарп.

Slink
Какая прога и как крашится? Ависинт должен указывать, какие функции он не может найти. Там же в самом скрипте написано, что ему надо:
Цитата:
### /!\ Needed filters : Masktools (v2.0a35), Removegrain (v1.0PR),
### -------------------- GradFun2db (v1.0), AddGrainC(v1.4).

К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист Посетить сайт автора Номер ICQ
Shitsu
Гость





СообщениеДобавлено: Пн Мар 08, 2010 2:20 am   Ответить с цитатой

Насчет краха разобрался. Проблема была в переполнении памяти. AviUtl, видать, резервирует немного больше, поэтому в нем такая ошибка не происходит. Для АвиСюнха пришлось выделять отдельную область памяти и копировать туда исходный кадр.

Выкладываю готовый пропатченный варпшарп. Надо будет к нему еще патч сделать


warpsharp.7z  [145.77 KB] [Загрузок: 772]
К началу
ARiS

Переводы



Зарегистрирован: 25.07.2008
Сообщения: 43

СообщениеДобавлено: Пн Мар 08, 2010 3:13 am   Ответить с цитатой

Shitsu, отличное faq по некоторым плагинам, благодарствую. И такой вопрос, а сколько всё это дело кодится (имею ввиду этот скрипт в целом)? Результат хорош, но стоит ли он потраченного времени...

К началу
Посмотреть профиль Отправить личное сообщение Добавить в игнор-лист
Shitsu
Гость





СообщениеДобавлено: Пн Мар 08, 2010 15:58 pm   Ответить с цитатой

ARiS
Там в основном ееди ресурсы жрет. На моем intel dual core E5200 2.5GHz получается около 0.78 fps. 1 эпизод 5минут*24фпс/0.78фпс=154 минуты=~2.5 часа

К началу
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Kage Project -> Техническая поддержка Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3  След.
Страница 2 из 3
 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы, прикрепленные к сообщениям