Aide - Recherche - Membres - Calendrier
Version complète : Filtre anti mosquito (attention image 1,5Mo)
Forum Ripp-it After Me > Les ressources > Filtres avisynth....
Pages : 1, 2
stryke
Encore un filtre basé sur la détection de masque (masktools). L'origine de ce script est ici :

-http://atlas2.tgv.net/~media-video/forum2/viewtopic.php?t=4739 (lien hs)


Je l'ai légèrement modifié pour en faire une "fonction" externe, voilà la procédure pour la créée :

- Créez un fichier texte et nommez le "NoMosquito.avs" par exemple.
- Collez le code suivant :

CODE
function ManaoMosquito(clip source)
{
  petitmasque = source.msmooth(threshold = 13, strength = 3, highq = true, mask = true)
  grandmasque = source.msmooth(threshold = 7, strength = 3, highq = true, mask = true)
  masquecontour = hysteresymask(petitmasque, grandmasque, y=3,u=3,v=3)

  masquecontouragrandi = masquecontour.Expand(y=3, u=3, v=3).\
  Expand(y=3, u=3, v=3).Expand(y=3, u=3, v=3)

  masquecontouragrandi = masquecontouragrandi.Blur(1.0).Blur(1.0)

  masquesanscontour = Logic(masquecontouragrandi, masquecontour, mode = "andn", y=3, u=3, v=3 )

  clipdebruite = source.deen("a2d", 3,15,20)

  resultat = source.maskedmerge(clipdebruite, masquesanscontour, y=3,u=3,v=3)
 
  return resultat
}


- Enregistrez et stockez dans un répertoire (Attention le chemin du répertoire sera réutilié dans votre script avs)

- Ajoutez dans votre script avs l'appel de la fonction en début de script, voici un exemple :


CODE
# **** Ripp-it & AVIsynth 2.5x script **** pass 2+

LoadPlugin("E:\PROGRA~1RIPP-I~1dllsundot.dll")
LoadPlugin("E:\PROGRA~1RIPP-I~1dllsMPEG2Dec3.dll")
Import("E:\MonCheminQuiVaBien\NoMosquito.avs")
....


- Attention au chemin de la ligne d'Import

- ATTENTION la fonction ManaoMosquito utilise les maskTools + les filtres DEEN et MSMOOTH, pensez à rajouter les lignes d'appels des dlls (sauf s'ils sont dans votre répertoire plugins d'avisynth)

Pour trouver les filtres DEEN et MSMOOTH voir ce lien ci-dessous :

http://www.avisynth.org/warpenterprises/


- Ajoutez la ligne pour le filtre, voici un exemple :

CODE
....
Video=mpeg2Source(Source)
Video=Undot(Video2)
Video=LanczosResize(Video, Largeur, Hauteur)
video=ManaoMosquito(video)
Video=Crop(Video, crop_g, crop_h, crop_d, crop_b)
...


Voilà c'est tout il ne reste plus qu'à tester, quelques screens pour visualiser l'effet. Toutes les simulations ont été faites avec un resize Lanczos (y compris pour HybridFupp). Ce n'est pas judicieux dans le cas présent, mais cela permet d'accentuer les défauts et de mieux visualiser les corrections par les filtres.


user posted image


Amusez vous bien.....
jeru
tu connais le jpg?
jeru
j'avous ne pas voir de difference gloups.gif
yober
ouai, idem... et j'y est passer du temps... euh.gif
J'y voit que des couleur un peu plus claire avec le nomoustiquo
stryke
Citation
ouai, idem... et j'y est passer du temps... euh.gif
J'y voit que des couleur un peu plus claire avec le nomoustiquo


Ce filtre ne touche pas les couleurs il filtre une bande autour de chaque masque (contour)

Et un jpg pour les raleurs....

Image postée
lauden
Ouais, ce n'est pas flagrant
jeru
Citation
Ouais, ce n'est pas flagrant


raleur vas ...

an_ouarf.gif
Jack...
merci Stryke... J'avais vu le script dans un post sur U.V. mais ça avait l'air bien compliqué... Là  c'est tout simple... aga.gif

Ne les écoute pas, ce sont des mauvaises langues, l'effet du Nomosquito est quand même bien visible (comparez le "standard" avec le NoMosquito+HFupp autour des contours)... Bon, sur platine, je ne suis pas sà»r qu'on fasse encore la différence, quoi que, de tte façon tu économises du débit et c'est tjrs bon à  prendre... glass.gif

Par contre avec H.Fupp tu vas pouvoir aussi donner de l'Isostar glacé à  ton CPU entre 2 passes... an_ouarf.gif
D'ailleurs, NoMosquito augmente de bcp le temps d'encodage ?

PS : C'est un encodage avec StackVertical ? cling.gif
stryke
A vrai dire j'ai pas encore lancé d'encodage donc pour le temps je ne sais pas.... na.gif

C'est effectivement un script avec un StackVertical envoyé directement dans VDM sans compression
DAN
Désolé mais je ne vois pas non plus de différence euh.gif
stryke
le mosquito c'est du bruit lié à  un sharp trop fort. Ca se traduit par des points sur les contours des formes; il faut donc regarder à  proximité des traits noirs délimant le personnage ou les pigeons.

Par exemple regardes l'aile du pigeon qui vient toucher le visage du personnage. Surtout entre les lignes intérieures de l'aile.

Détail agrandi x2

Image postée
lauden
Peut-être que sur certaines sources ça procure une amélioration de l'image, mais sur tes exemples, en l'occurrence, je ne vois pas l'intérêt de rallonger l'encodage pour si peux, à  moins d'utiliser un facteur de zoom x100 en lecture yahoo.gif
DAN
ma télé est pas assez grande en zoom x 100 euh.gif yahoo.gif
Jack...
bbbb1.gif Mais quelles mauvaises langues !!! hem.gif


Citation
Peut-être que sur certaines sources ça procure une amélioration de l'image


Il est clair que c'est un filtre destiné à  de l'anime (contours et applats). Et dans l'exemple de Stryke c'est tout à  fait pertinent, ne serait-ce que pour l'économie de débit si vous ne voyez pas d'amélioration malgré les lunettes...

grrrr_pepsi.gif
yober
Mais si on les voit (maintenant) les améliorations même si on est des mauvaises langues et ce genre de chose, c'est toujours bon à  connaitre
Merci Stryke cling.gif

Mais pourquoi donc que ça économise du débit ? En limitant les sharpes ? gloups.gif
Jack...
good.gif yahoo2.gif an_ouarf.gif

pour le débit, s'il y a moins de "moustiques" à  coder et plutà´t une surface unie (comme le blanc de l'aile ou le bleu du ciel), il y aura moins d'infos à  coder donc moins de débit nécessaire (enfin un peu moins), et moins d'artefacts aussi probablement...
jeru
la je vois la difference aga.gif
pepsilite
C un filtre anti moustiques? du "fly tox" en somme yahoo1.gif
jeru
en plus il y a le nomosquito jaune et le nomosquito vert yahoo2.gif
Jack...
Fly & the Tox c'est un groupe rock de la région toulousaine, hein Jeru cling.gif





CODE
LoadPlugin("C:PROGRA~1RIPP-I~1dllsbaygon_jaune.dll")

LoadPlugin("C:PROGRA~1RIPP-I~1dllsbaygon_vert.dll")



Video=Baygon(video, pschitt=10, kill=true)

Return(Video)


yahoo2.gif
stryke
aga.gif

@jack : Tu t'es trompé dans les arguments, voir ce lien :

-http://atlas2.tgv.net/~media-video/forum2/viewtopic.php?t=3752 (lien hs)
yober
Vache !!!! je me suis creusé la tête gloups.gif , j'ai tout relu 3 fois... bbbb1.gif
Pour trouver ça an_kes.gif :
CODE
En fait la syntaxe est toute simple :

Tu as le choix entre byegone(green) et byegone(yellow)



pfff1.gif hop1.gif yahoo.gif











an_ouarf.gif
pepsilite
Quel bordel ce forum yahoo2.gif
Jack...
QUOTE
aga.gif

@jack : Tu t'es trompé dans les arguments, voir ce lien :

-http://atlas2.tgv.net/~media-video/forum2/viewtopic.php?t=3752 (lien hs)



gloups.gif ...mon fake qui a fait long feu... hop1.gif
stryke
Citation
Vache !!!! je me suis creusé la tête gloups.gif , j'ai tout relu 3 fois...  bbbb1.gif 

pffiuuuu, ça force le respect "tout 3 fois" ....... glass.gif



@jack : Hé oui il y a eu des précurseurs sur le sujet, en plus dans la section Avisynth sur U.V, t'imagines !!!
pepsilite
Et oui, tous les fous ne sont pas enfermés yahoo2.gif
yober
tomtom75.gif tomtom75.gif tomtom75.gif tomtom75.gif tomtom75.gif tomtom75.gif

Tout ça pasque que j'l'ai tacquiné sur son à¢ge... hop1.gif
Tu serais pas un p'tit peu cocquet, Pepsi ? yahoo.gif
pepsilite
je ne sais pas si tu es fou, mais visiblement parano... je parlais des gens de chez UV .......
yober
Oups ! bon mais t'étais pas clair... euh.gif cling.gif

Mais de toute façon, je peux pas te garantir ma (pleine) santé mentale good.gif
Je me sais juste "taquin", ça oui yahoo.gif Mais promis j'arrête... un instant

glass.gif
Jack...
Hi, j'ai un petit souci avec mon premier test de NoMosquito, une instruction non reconnue :

Image postée

mon script :
CODE
LoadPlugin("C:PROGRA~1RIPP-I~1dllsundot.dll")

Import("C:PROGRA~1RIPP-I~1dllsHybridFuPP.avsi")

LoadPlugin("C:PROGRA~1RIPP-I~1dllsdeen.dll")

LoadPlugin("C:PROGRA~1RIPP-I~1dllsmotion.dll")

LoadPlugin("C:PROGRA~1RIPP-I~1dllsMSharpen.dll")

LoadPlugin("C:PROGRA~1RIPP-I~1dllsMaskTools.dll")

LoadPlugin("C:PROGRA~1RIPP-I~1dllsunfilter.dll")

LoadPlugin("C:PROGRA~1RIPP-I~1dllsdecomb.dll")

LoadPlugin("C:PROGRA~1RIPP-I~1dllsFluxSmooth.dll")

LoadPlugin("C:PROGRA~1RIPP-I~1dllsMPEGDecoder.dll")

Import("C:PROGRA~1RIPP-I~1dllsNoMosquito.avs")



Source="W:T_7-11~1vobs.lst"

Largeur=576

Hauteur=464

#1/2 PAL

ratio  =1.242424

vratio =1.242424

Crop_g=16

Crop_d=-16

Crop_h=4

Crop_b=-4

Indice=0.128650



Video=MPEGSource(Source)

LoadPlugin("C:PROGRA~1RIPP-I~1dllskerneldeint140.dll")

Video=kerneldeint(Video, order=0, threshold=10, sharp=true)

Video=Crop(Video, crop_g, crop_h, crop_d, crop_b)

Video=Undot(Video)

Video=FluxSmooth(Video,8,0)

Video=HybridFupp ( Video, Largeur, Hauteur, preset="medium")

video=ManaoMosquito(video)

Video=Sharpen(video,0.3)

Video=tweak(video, sat=1.15)

Video=Limiter(Video)



Return(Video)
stryke
postes le script nomosquito.avs que tu as fait
vérifies les versions des dll masktools et motion
Jack...
et voilou cling.gif

CODE
function ManaoMosquito(clip source)

{

  petitmasque = source.msmooth(threshold = 13, strength = 3, highq = true, mask = true)

  grandmasque = source.msmooth(threshold = 7, strength = 3, highq = true, mask = true)

  masquecontour = hysteresymask(petitmasque, grandmasque, y=3,u=3,v=3)



  masquecontouragrandi = masquecontour.Expand(y=3, u=3, v=3).

  Expand(y=3, u=3, v=3).Expand(y=3, u=3, v=3)



  masquecontouragrandi = masquecontouragrandi.Blur(1.0).Blur(1.0)



  masquesanscontour = Logic(masquecontouragrandi, masquecontour, mode = "andn", y=3, u=3, v=3 )



  clipdebruite = source.deen("a2d", 3,15,20)



  resultat = source.maskedmerge(clipdebruite, masquesanscontour, y=3,u=3,v=3)

   

  return resultat

}
stryke
Citation
vérifies les versions des dll  masktools et motion


Y'a un truc qui m'a échappé : il faut également le filtre msmooth, vérifies que tu as bien le fichier msmooth.dll dans le répertoire plugin d'avisynth (vu qu'il n'y a pas d'appel de cette dll dans ton script)
Jack...
ben non, je n'ai pas msmooth.dll; ni dans les plugins d'AviSynth, ni dans les dlls, vu que le fichier n'est pas dans le pack HybridFupp... M'en vais voir ça chez Avisynth/warpenterprise cling.gif
stryke
HybridFupp ne se sert pas de ce filtre, c'est le "NoMosquito" qui s'en sert.


petitmasque = source.msmooth(threshold = 13, strength = 3, highq = true, mask = true)
grandmasque = source.msmooth(threshold = 7, strength = 3, highq = true, mask = true)


Je ne l'avais pas vu, je modifie un de mes post plus haut.
Jack...
hé vi... cling.gif
Yeno
C'est encore moi ! gniark.gif Bon ba lui non plus je n'arrive pas à le faire fonctionner lol gloups.gif

CODE
Script error: There is no function named "hysteresymask"


Je vous ajoute mes deux scripts, celui de lecture et le mosquito. J'ai bien les deux dll cité dans le post initial et je possède avisynth 2.5

CODE
Import("C:\Program Files\AviSynth 2.5\plugins\NoMosquito.avs")

Video=AVISource("D:\Animes\BLEACH_37.avi")
Video=ChangeFPS(video, 23.96)
Video=KillAudio(video)
Video=ManaoMosquito(video)

Return Video


CODE
function ManaoMosquito(clip source)
{
 petitmasque = source.msmooth(threshold = 13, strength = 3, highq = true, mask = true)
 grandmasque = source.msmooth(threshold = 7, strength = 3, highq = true, mask = true)
 masquecontour = hysteresymask(petitmasque, grandmasque, y=3,u=3,v=3)

 masquecontouragrandi = masquecontour.Expand(y=3, u=3, v=3).\
 Expand(y=3, u=3, v=3).Expand(y=3, u=3, v=3)

 masquecontouragrandi = masquecontouragrandi.Blur(1.0).Blur(1.0)

 masquesanscontour = Logic(masquecontouragrandi, masquecontour, mode = "andn", y=3, u=3, v=3 )

 clipdebruite = source.deen("a2d", 3,15,20)

 resultat = source.maskedmerge(clipdebruite, masquesanscontour, y=3,u=3,v=3)

 return resultat
}


Voui je sais je suis emmerdant snif.gif
stryke
t'es entrain de tout déterrer... :-))

Il y a bien longtemps que je ne me suis pas servi de ce script. Tu es sur d'avoir la dll des masktools ?

Voir en rouge dans mon premier post.

Si oui, possible que la dll des masktools ne soit plus compatible. Cette dll a énormément évoluée.
rol
QUOTE(stryke @ vendredi 08 juillet 2005 à 16:45)
t'es entrain de tout déterrer... :-))
*


an_ouarf.gif
stryke
je viens de faire un essai, le script fonctionne. Pour info j'ai la version 1.4.16 de MaskTools.dll

Ceci étant ce script ne donne de bons résultats qu'associé avec HybridFupp. Le pb c'est que la vitesse d'encodage en devient excessivement lente et rend ce script inintéressant, avis perso bien entendu...

Je n'ai jamais réussi à extraire "le morceau qui va bien" d'HybridFupp pour avoir cette qualité et augmenter la vitesse d'encodage (pas beaucoup cherché non plus, pour être honnête)
Yeno
Effectivement je n'avais pas cette dll mais avec la dernière version cela ne semble pas marcher pour autant. Ne pouvant avoir accès aux arguments je pensé que la réponse de Jack était à peu près bonne, donc le gain de temps m'y était bénéfique. Mais vu qu'il semble que ce soit le contraire ba tan pis, et en qualité d'image on vera pas grand chose de différent.

Merci, et désolé de retourner tout votre forum euh.gif
rol
QUOTE(Yeno @ vendredi 08 juillet 2005 à 18:48)
Merci, et désolé de retourner tout votre forum euh.gif
*



No pb glass.gif
stryke
hum...avec masktools.dll, je crois qu'il faut également motion.dll

Ainsi que deen & msmooth


Mon avis ne vaut pas grand chose, c'est le tien qui compte. Ne te tracasses pas pour les posts, ça leur fait du bien de prendre l'air yahoo.gif
pepsilite
quand je viens ici, j'ai l'impression de lire un post en "martien" yahoo1.gif

et.gif
rol
QUOTE(stryke @ vendredi 08 juillet 2005 à 18:55)
Mon avis ne vaut pas grand chose, c'est le tien qui compte. Ne te tracasses pas pour les posts, ça leur fait du bien de prendre l'air yahoo.gif
*


an_ouarf.gif

QUOTE(pepsilite @ vendredi 08 juillet 2005 à 19:03)
quand je viens ici, j'ai l'impression de lire un post en "martien" yahoo1.gif

et.gif
*



Pareil pour moi gniark.gif
stryke
QUOTE(pepsilite @ vendredi 08 juillet 2005 à 19:03)
quand je viens ici, j'ai l'impression de lire un post en "martien" yahoo1.gif

et.gif
*


an_ouarf.gif

ah oui, j'avais oublié de dire....Ne te tracasses pas, mais saches qu'on va encore passer pour des Extra-Terrestres au pire ou pour des fous sur Terre au mieux yahoo.gif
Yeno
lol guix_edoom7.gif

La seul chose que j'ai pus trouver c'est genmotion_25_dll_20031228, enfin bon t'embète pas j'ai pas envis de chercher plus longtemps cling.gif
stryke
les anciennes versions d'HybridFupp utilisaient les masktools et motion, voilà un lien d'une ancienne version :

http://www.unite-video.com/phpbb/download.php?id=766
CastorTroy
Je me demande la pertinence de ce scripts (contre le mosquito) : le xvid en avait besoin, mais avec la qpel qui augmente la précision, ce problème de mosquitos est pas mal réduit... le rv10 n'en as pas besoin. Quid du vp6/7 (trop lent et trop laid pour que j'essaie) ? Le x264, d'après le peu de souvenir, n'en a pas besoin non plus.
Le mosquitos est une sorte de bruit qui "suit" les contours. Me souviens du film "le convoyeur" (avec Dupontel, pas la bessonnerie) en xvid, faiblement denoiser qui avait ce problème bien visible.
stryke
Tu résonnes avec des films.

Prends un manga japonais commercialisé (donc ré-encodé) en France par des bourrins et tu verras...

Regardes bien le DVD Français "Le chateau dans le ciel" par exemple...
C'est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez Filtre anti mosquito (attention image 1,5Mo).
Invision Power Board © 2001-2008 Invision Power Services, Inc.