Bonjour
Voilà, j'ai un film hyper bruité
à chaque fois que j'essaye de le débruiter, j'suis obligé de régler hyper fort, donc ça floute beaucoup, et quand j'essaye de sharper, j'suis donc obligé d'également régler très fort, et après ça donne un résultat BIZARRE Les visages sont toujours aussi flouts, sauf que y a des artefacts en plus et l'apparition des DCT
Comment faire
Après j'au aussi le blème que beaucoup de débruiteurs spatio-temporel, tel que convolution 3D, nécessitent des espaces de couleurs YUY2 et autres, je vois pas du tout la différence entre tous ces espaces de couleur
Comment faire ?
Merci
Bonjour,
LE spécialiste AviSynth, c'est Léon...
Afin de faire avancer le Schmilblick avant son arrivée, affiche une capture avant et après et un lien pour récupérer un petit bout de vidéo d'origine d'un passage très bruité...
@+
PS : J'ai fermé l'autre post presque identique pour éviter de répondre à 2 endroits pour la même question...
Ok Merci Sg1
J'm'étais trompé sur le titre
Comment est-ce qu'on poste un bout de vidéo sans passer par youtube
Bonjour,
OK
Mais j'y arrive pas avec le forum lui même, li me marque "Erreur L'envoi a échoué. Vous n'êtes pas autorisé à envoyer ce type de fichier."
Bah c'est pas grave, je vais utiliser le service dl de free
Voici ma source :
http://dl.free.fr/lqTTM85Pj
La vidéo ayant subi la commande "SoftSharpen(DeBr=60)" :
http://dl.free.fr/rPpRbGYaL
La vidéo ayant subi la commande "SoftSharpen(DeBr=60,sharp=70)" :
http://dl.free.fr/rpEjqWnUl
Toujours et encore merci de m'aider
Et juste, c'est pas dans le sujet mais, où est-ce que je peux avoir LimitedSharpen, s'il vous plaît ?
Et ça, qu'est-ce que c'est et à quoi ça sert :
# LimitedSharpen() ( a modded version, 29 Oct 2005 )
#
# A multi-purpose sharpener by Didée
#
#
# Changes in this mod:
#
# - RemoveGrain >= v0.9 IS REQUIRED!!
# ==================================
#
# - Smode=4 / sometimes does the magic
# - a separate "undershoot" parameter, to allow for some line darkening in comic or Anime
# - Lmode=3 / on edges, limited sharpening with zero OS & US. On not-edges, limited sharpening with specified OS + LS
# - "soft" acts different now: no more boolean true/false, but instead integer 0 - 100 (or -1 -> automatic)
# instead of blurring before finding minima/maxima, it now softens the "effect-of-sharpening"
# - edgemode=-1 now shows the edgemask. (scaling still not implemented )
#
## - MODIFIED version using MaskTools 2.0
function LimitedSharpenFaster( clip clp, float "ss_x", float "ss_y",
\ int "dest_x", int "dest_y", int "Smode" , int "strength", int "radius",
\ int "Lmode", bool "wide", int "overshoot", int "undershoot",
\ int "soft", int "edgemode", bool "special", int "exborder" )
{
ox = clp.width
oy = clp.height
Smode = default( Smode, 3 )
ss_x = (Smode==4)
\ ? default( ss_x, 1.25)
\ : default( ss_x, 1.5 )
ss_y = default( ss_y, ss_x)
Assert(ss_x >= 1.0 && ss_y >= 1.0,"ss_x and ss_y must be at least 1.0!")
dest_x = default( dest_x, ox )
dest_y = default( dest_y, oy )
strength = (Smode==1)
\ ? default( strength, 160 )
\ : default( strength, 100 )
strength = (Smode==2&&strength>100) ? 100 : strength
radius = default( radius, 2 )
Lmode = default( Lmode, 1 )
wide = default( wide, false )
overshoot = default( overshoot, 1)
undershoot= default( undershoot, overshoot)
softdec = default( soft, 0 )
soft = softdec!=-1 ? softdec : sqrt( (((ss_x+ss_y)/2.0-1.0)*100.0) ) * 10
soft = soft>100 ? 100 : soft
edgemode = default( edgemode, 0 )
special = default( special, false )
exborder = default( exborder, 0)
#radius = round( radius*(ss_x+ss_y)/2) # If it's you, Mug Funky - feel free to activate it again
xxs=round(ox*ss_x/8)*8
yys=round(oy*ss_y/8)*8
smx=exborder==0?dest_x:round(dest_x/Exborder/4)*4
smy=exborder==0?dest_y:round(dest_y/Exborder/4)*4
clp.isYV12() ? clp : clp.converttoyv12()
ss_x != 1.0 || ss_y != 1.0 ? last.spline36resize(xxs,yys) : last
tmp = last
edge = mt_logic( tmp.mt_edge(thY1=0,thY2=255,"8 16 8 0 0 0 -8 -16 -8 4")
\ ,tmp.mt_edge(thY1=0,thY2=255,"8 0 -8 16 0 -16 8 0 -8 4")
\ ,"max") .mt_lut("x 128 / 0.86 ^ 255 *") #.levels(0,0.86,128,0,255,false)
tmpsoft = tmp.removegrain(11,-1)
dark_limit1 = tmp.mt_inpand()
bright_limit1 = tmp.mt_expand()
dark_limit = (wide==false) ? dark_limit1 : dark_limit1 .removegrain(20,-1).mt_inpand()
bright_limit = (wide==false) ? bright_limit1 : bright_limit1.removegrain(20,-1).mt_expand()
minmaxavg = special==false
\ ? mt_average(dark_limit1, bright_limit1)
\ : mt_merge(dark_limit,bright_limit,tmp.removegrain(11,-1),Y=3,U=-128,V=-128)
Str=string(float(strength)/100.0)
normsharp = Smode==1 ? unsharpmask(strength,radius,0)
\ : Smode==2 ? sharpen(float(strength)/100.0)
\ : Smode==3 ? mt_lutxy(tmp,minmaxavg,yexpr="x x y - "+Str+" * +")
\ : mt_lutxy(tmp,tmpsoft,"x y == x x x y - abs 16 / 1 2 / ^ 16 * "+Str+
\ " * x y - 2 ^ x y - 2 ^ "+Str+" 100 * 25 / + / * x y - x y - abs / * + ?")
OS = string(overshoot)
US = string(undershoot)
mt_lutxy( bright_limit, normsharp, yexpr="y x "+OS+" + < y x y x - "+OS+" - 1 2 / ^ + "+OS+" + ?")
mt_lutxy( dark_limit, last, yexpr="y x "+US+" - > y x x y - "+US+" - 1 2 / ^ - "+US+" - ?")
Lmode==1 ? mt_clamp(normsharp, bright_limit, dark_limit, overshoot, undershoot) : last
normal = last
zero = mt_clamp(normsharp, bright_limit, dark_limit, 0,0)
Lmode==3 ? mt_merge(normal,zero,edge.mt_inflate()) : normal
edgemode==0 ? last
\ : edgemode==1 ? mt_merge(tmp,last,edge.mt_inflate().mt_inflate().removegrain(11,-1),Y=3,U=1,V=1)
\ : mt_merge(last,tmp,edge.mt_inflate().mt_inflate().removegrain(11,-1),Y=3,U=1,V=1)
AMNT = string(soft)
AMNT2 = string(100-soft)
sharpdiff=mt_makediff(tmp,last)
sharpdiff2=mt_lutxy(sharpdiff,sharpdiff.removegrain(19,-1),
\ "x 128 - abs y 128 - abs > y "+AMNT+" * x "+AMNT2+" * + 100 / x ?")
soft==0 ? last : mt_makediff(tmp,sharpdiff2)
(ss_x != 1.0 || ss_y != 1.0)
\ || (dest_x != ox || dest_y != oy) ? spline36resize(dest_x,dest_y) : last
ex=blankclip(last,width=smx,height=smy,color=$FFFFFF).addborders(2,2,2,2).coloryuv(levels="TV->PC")
\.removegrain(mode=19).mt_inpand().removegrain(mode=19).bicubicresize(dest_x,dest_y,1.0,.0)
tmp = clp.spline36resize(dest_x,dest_y)
clp.isYV12() ? ( exborder==0 ? tmp.mergeluma(last)
\ : mt_merge(tmp,last,ex,Y=3,U=1,V=1) )
\ : ( exborder==0 ? tmp.mergeluma(last.converttoyuy2())
\ : tmp.mergeluma( mt_merge(tmp.converttoyv12(),last,ex,Y=3,U=1,V=1)
\ .converttoyuy2()) )
(edgemode!= -1) ? last : edge.spline36resize(dest_x,dest_y).greyscale
return last
}
Merci de m'aider
Bonjour,
J'y ai déjà cherché, j'ai pas trouvé
Google est ton ami (comme disent certains) :
http://avisynth.org/mediawiki/LimitedSharpen
J'y ai également cherché, y a pas de liens de téléchargement
Le lien download affiche ça
# LimitedSharpen() ( a modded version, 29 Oct 2005 )
#
# A multi-purpose sharpener by Didée
#
#
# Changes in this mod:
#
# - RemoveGrain >= v0.9 IS REQUIRED!!
# ==================================
#
# - Smode=4 / sometimes does the magic wink.gif
# - a separate "undershoot" parameter, to allow for some line darkening in comic or Anime
# - Lmode=3 / on edges, limited sharpening with zero OS & US. On not-edges, limited sharpening with specified OS + LS
# - "soft" acts different now: no more boolean true/false, but instead integer 0 - 100 (or -1 -> automatic)
# instead of blurring before finding minima/maxima, it now softens the "effect-of-sharpening"
# - edgemode=-1 now shows the edgemask. (scaling still not implemented na1.gif )
#
## - MODIFIED version using MaskTools 2.0
function LimitedSharpenFaster( clip clp, float "ss_x", float "ss_y",
\ int "dest_x", int "dest_y", int "Smode" , int "strength", int "radius",
\ int "Lmode", bool "wide", int "overshoot", int "undershoot",
\ int "soft", int "edgemode", bool "special", int "exborder" )
{
ox = clp.width
oy = clp.height
Smode = default( Smode, 3 )
ss_x = (Smode==4)
\ ? default( ss_x, 1.25)
\ : default( ss_x, 1.5 )
ss_y = default( ss_y, ss_x)
Assert(ss_x >= 1.0 && ss_y >= 1.0,"ss_x and ss_y must be at least 1.0!")
dest_x = default( dest_x, ox )
dest_y = default( dest_y, oy )
strength = (Smode==1)
\ ? default( strength, 160 )
\ : default( strength, 100 )
strength = (Smode==2&&strength>100) ? 100 : strength
radius = default( radius, 2 )
Lmode = default( Lmode, 1 )
wide = default( wide, false )
overshoot = default( overshoot, 1)
undershoot= default( undershoot, overshoot)
softdec = default( soft, 0 )
soft = softdec!=-1 ? softdec : sqrt( (((ss_x+ss_y)/2.0-1.0)*100.0) ) * 10
soft = soft>100 ? 100 : soft
edgemode = default( edgemode, 0 )
special = default( special, false )
exborder = default( exborder, 0)
#radius = round( radius*(ss_x+ss_y)/2) # If it's you, Mug Funky - feel free to activate it again
xxs=round(ox*ss_x/8)*8
yys=round(oy*ss_y/8)*8
smx=exborder==0?dest_x:round(dest_x/Exborder/4)*4
smy=exborder==0?dest_y:round(dest_y/Exborder/4)*4
clp.isYV12() ? clp : clp.converttoyv12()
ss_x != 1.0 || ss_y != 1.0 ? last.spline36resize(xxs,yys) : last
tmp = last
edge = mt_logic( tmp.mt_edge(thY1=0,thY2=255,"8 16 8 0 0 0 -8 -16 -8 4")
\ ,tmp.mt_edge(thY1=0,thY2=255,"8 0 -8 16 0 -16 8 0 -8 4")
\ ,"max") .mt_lut("x 128 / 0.86 ^ 255 *") #.levels(0,0.86,128,0,255,false)
tmpsoft = tmp.removegrain(11,-1)
dark_limit1 = tmp.mt_inpand()
bright_limit1 = tmp.mt_expand()
dark_limit = (wide==false) ? dark_limit1 : dark_limit1 .removegrain(20,-1).mt_inpand()
bright_limit = (wide==false) ? bright_limit1 : bright_limit1.removegrain(20,-1).mt_expand()
minmaxavg = special==false
\ ? mt_average(dark_limit1, bright_limit1)
\ : mt_merge(dark_limit,bright_limit,tmp.removegrain(11,-1),Y=3,U=-128,V=-128)
Str=string(float(strength)/100.0)
normsharp = Smode==1 ? unsharpmask(strength,radius,0)
\ : Smode==2 ? sharpen(float(strength)/100.0)
\ : Smode==3 ? mt_lutxy(tmp,minmaxavg,yexpr="x x y - "+Str+" * +")
\ : mt_lutxy(tmp,tmpsoft,"x y == x x x y - abs 16 / 1 2 / ^ 16 * "+Str+
\ " * x y - 2 ^ x y - 2 ^ "+Str+" 100 * 25 / + / * x y - x y - abs / * + ?")
OS = string(overshoot)
US = string(undershoot)
mt_lutxy( bright_limit, normsharp, yexpr="y x "+OS+" + < y x y x - "+OS+" - 1 2 / ^ + "+OS+" + ?")
mt_lutxy( dark_limit, last, yexpr="y x "+US+" - > y x x y - "+US+" - 1 2 / ^ - "+US+" - ?")
Lmode==1 ? mt_clamp(normsharp, bright_limit, dark_limit, overshoot, undershoot) : last
normal = last
zero = mt_clamp(normsharp, bright_limit, dark_limit, 0,0)
Lmode==3 ? mt_merge(normal,zero,edge.mt_inflate()) : normal
edgemode==0 ? last
\ : edgemode==1 ? mt_merge(tmp,last,edge.mt_inflate().mt_inflate().removegrain(11,-1),Y=3,U=1,V=1)
\ : mt_merge(last,tmp,edge.mt_inflate().mt_inflate().removegrain(11,-1),Y=3,U=1,V=1)
AMNT = string(soft)
AMNT2 = string(100-soft)
sharpdiff=mt_makediff(tmp,last)
sharpdiff2=mt_lutxy(sharpdiff,sharpdiff.removegrain(19,-1),
\ "x 128 - abs y 128 - abs > y "+AMNT+" * x "+AMNT2+" * + 100 / x ?")
soft==0 ? last : mt_makediff(tmp,sharpdiff2)
(ss_x != 1.0 || ss_y != 1.0)
\ || (dest_x != ox || dest_y != oy) ? spline36resize(dest_x,dest_y) : last
ex=blankclip(last,width=smx,height=smy,color=$FFFFFF).addborders(2,2,2,2).coloryuv(levels="TV->PC")
\.removegrain(mode=19).mt_inpand().removegrain(mode=19).bicubicresize(dest_x,dest_y,1.0,.0)
tmp = clp.spline36resize(dest_x,dest_y)
clp.isYV12() ? ( exborder==0 ? tmp.mergeluma(last)
\ : mt_merge(tmp,last,ex,Y=3,U=1,V=1) )
\ : ( exborder==0 ? tmp.mergeluma(last.converttoyuy2())
\ : tmp.mergeluma( mt_merge(tmp.converttoyv12(),last,ex,Y=3,U=1,V=1)
\ .converttoyuy2()) )
(edgemode!= -1) ? last : edge.spline36resize(dest_x,dest_y).greyscale
return last
}
Comment je fais ?
Est-ce que c'est un "script d'importation", si oui à quoi ça sert ?
Edit : C'est bon je l'ai trouvé dans le mask tool v2
Merci beaucoup SG1
Si on en revenait au sujet initial
Quelles sont les différences entre les espaces de couleur YV12, YUY2 (tout le bordel quoi) et comment passer de l'un à l'autre
Est-il possible d'appliquer un débruitage très puissant sans trop trop flouter, au moins pour qu'on puisse sharper et retrouver la netteté de départ
Merci à tous pour votre aide précieuse
YUY2 , YV12, RGB24, etc.. sont des manières différentes de coder les couleurs.
On passe des uns aux autres par les commandes "ConvertTo" :
voir http://avisynth.org/mediawiki/ConvertToRGB24 pour la liste de toutes les conversions possibles .
Cela paraît compliqué de fortement débruiter sans flouter.
J'ai des difficultés pour voir ta vidéo source :
il y a du bruit certes, mais je crois qu'il y a surtout du blocking (bloc de DCT)
Donc il faut commencer par utiliser l'option "debl" de softsharpen.
Et DeBr = 60 est beaucoup trop fort : DeBr = 15 devrait suffire ...
Quant à Sharp=70, c'est beaucoup trop !! Sharp=20 pour commencer...
Bref, essaie quelque chose comme SoftSharpen(deBr=15, deBl=10, sharp=20)
c'est bien un problème de blocking apparemment. Utilise simplement
SoftSharpen(deBl=20,deBr=10)
sans forcer les valeurs de débruitage et sharp...
ta source : http://leon1789.perso.sfr.fr/tmp/eoudmax1.jpg
après traitement : http://leon1789.perso.sfr.fr/tmp/eoudmax2.jpg
Heureusement Léon est un couche tard...
Perso je rentre d'un repas... J'ai bien ######é et j'ai bien bu, j'ai la peau du ventre bien tendue (Comme dit le chanson)...
...En clair, bonne nuit et à demain !
Rol, c'est pas normal, on est censuré, lorsque l'on à trop bouffé...
Merci Leon
Je vais tester ça demain
Et oui SG1, heureusement, Bonne nuit
Eh y a un blème
Avant de poster ma vidéo, y avait pas du tout de blocks, juste du bruit
D'ailleurs, je fais un petit comparatif, est-ce que tu saurais quel filtre utiliser, autre queSoftSharpen, pour débruiter cette vidéo, j'ai essayé FluxSmooth, NoMoSmooth et Convolution 3D, que dalle que des artéfacts en plus et l'image n'est même pas floutée comme elle devrait l'être dans ce cas.
Merci
il y a aussi Deen, hqdn3d, etc... il y a plein de débruiteurs.
Je suis étonné que cela ne fasse rien, car convolution3D poussé à fond floute, c'est certain !
hqdn3d, faut que je teste
Deen, je l'ai dans le zip softsharpen que tu as posté, après j'ai trouvé un fichier txt pour le paramétrer, mais il semble que ce soit pas les même versions, pas lorsque j'utilise le parmaètre mode=c3d, il reconnaissait pas l'argument.
il faut que j'essayer de retester convolution3d
C'est bon j'ai réussi avec convolution 3D et hqdn3d, alors après j'ai sharpé compenser le floutage causé par le débruitage, l'image est bien mais le blème c'est la texture des couleurs, on dirait qu'il sont un peu trop "crémeux" et blanc par rapport à la normal, est-ce qu'on peut faire quelque chose pour ça ?
Les couleurs sont également un peu trop homogènes, comment faire ?
Merci
Pour moi, c'est difficile de dire sans voir vraiment.
ouais Leon je te poste ça ce week-end, depuis la rentrée, j'ai le temps que pendant le week; désolé.
Désolé pour le retard
En fait c'est bon ma vidéo est plutôt bonne j'ai pas besoin de la sharper
Merci beaucoup
Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)