Dll filtre médianne

Où on parle des différentes versions de Pixia, de script Gonta...

Modérateur: gg

Dll filtre médianne

Messagede Eric le Sam Aoû 01, 2009 12:18

L' artcle est ici
http://grifouilli.free.fr/index.php/filtres/36-filtres/50-dll-filtre-medianne.html

le téléchargement ici:
http://grifouilli.free.fr/index.php/docman/cat_view/38-dll-pixia.html

Je vais travailler à la rapidité .... c' est pas top

@+ Eric


image du site: avant ............aprés
Image
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Dll filtre médianne

Messagede gg le Sam Aoû 01, 2009 13:59

Merde, j'avais lu l'exemple à l'envers :) Je me demandais pourquoi faire un filtre qui rajoute du bruit :)

bon, après test, ça marche très bien.

C'est vrai que c'est un peu lent (mais bon, ce n'est pas le genre d'opération que l'on va faire dix fois non plus). En revanche, sur de grosses images 3000x2000, parfois ça me fait planter mon xpsp3, 1gig de ram. Principalement si je mets le rayon à 3. J'avoue, je pousse un peu la machine :)

petite question inutile : pourquoi tu mélanges l'anglais et le français (radius, cancel) et le français (actualiser) ? Une déformation de programmeur ? :)
je modère, alors, svp, pas de politique, pas de guerre windows/mac/linux, pas d'insultes, pas de fichiers illégaux, pas de sms
Avatar de l’utilisateur
gg
 
Messages: 984
Inscription: Lun Aoû 28, 2006 12:55

Re: Dll filtre médianne

Messagede Eric le Dim Aoû 02, 2009 09:17

L' occupation mémoire est importante.
Je récupere la totalité de l' image soit par exemple 3000*2000*4 octets ( 4 pour rvb et alpha)
je cree une deuxième zone mémoire de la même taille pour y placer le résultat du filtre ( autrement les calculs sont faussé )
Donc c' est vite énorme
Cette mémoire est réservée à l' entré de la dll, libérée à la sortie de la même dll et normalement y' a pas de soucis

par contre le crash ?? un probleme de pointeur ? Il faut que je vérifie ce point car j' ai pas eu ça et mes 512 de ram ont tenu le coup

de toute façon je vais refaire l' algorithme de tri car il est un peu mou et induit peut etre une fragmentation de la mémoire.
j' utilise un tableau d' entier de 49 (pour un radius 3 ) multiplié par 3 (RVB) .
En fait, cela ne prends pas beaucoup de place
par contre ce tableau est créé à chaque appel de la fonction de tri et détruit en sortie .
SI il est créé à des endroits différents de la mémoire, celle ci peut devenir un vrai gruyère .
Je vais modifier cette routine.
petite question inutile : pourquoi tu mélanges l'anglais et le français (radius, cancel) et le français (actualiser)


A force de lire des tutos et des bouts de codes en anglais je ne fait plus attention et j' en perd mon latin
Pour moi avant ta remarque radius était français :D :oops:

J'ai trouvé un autre truc sympa que j' expose brievement
On trouve sur la toile une foule de tuto ( toshop) pour corriger un visage.
En gros voici le processus:
un calque avec l' image clonée sur lequel on utilise un flou gaussien pour lisser le visage
un calque avec l' image de départ sur lequel on applique un filtre High Pass et ce calque est réglé en "incrustation "
cela diminue le flou précédent et fait ressortir les détails !!!
puis la gomme pour faire réapparaitre les yeux naturels

J' utilise pas toshop , donc je traduis en pixia:
le mode incrustation c' est pour nous le mode Calque ou Overlay suivant la traduction
Pour le flou gaussien et le High Pass j' utilise FIlterMeister ( pour faire des 8bf )
Lancez FilterMeister par l' intermédiaire D' ébisawa
Dans le répertoire de FilterMeister , allez dans le dossier sourcecode puis codelibrairie et selectionnez highpass.ffp
Vous aurez le choix entre le flou gaussien et le highpass grace à une case à cocher.
Vous pouvez en toute légalité utiliser FilterMeiser gratuitement

Donc nous avons tous les outils et y' a plus qu' a ..... :)
je vous expliquerais ça plus en image
@+ Eric
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Dll filtre médianne

Messagede gg le Dim Aoû 02, 2009 15:22

ok :)
je modère, alors, svp, pas de politique, pas de guerre windows/mac/linux, pas d'insultes, pas de fichiers illégaux, pas de sms
Avatar de l’utilisateur
gg
 
Messages: 984
Inscription: Lun Aoû 28, 2006 12:55

Re: Dll filtre médianne

Messagede Eric le Ven Aoû 07, 2009 22:13

J' ai changé la méthode de tri . Un gain de temp certain sur de GROSSES images

par contre ce tableau est créé à chaque appel de la fonction de tri et détruit en sortie .


Modifié aussi. Il n' est créé que lorsque que l' on clique sur Actualiser ou sur Appliquer :wink:
( et non plus a chaque pixel examiné )

En ma fiant au gestionnaire des taches, pour une image de 3000x2000 et un rayon de 3, le temps est divisé par 2 , c' est pas rien
Par contre je ne suis pas arrivé à reproduire le crash que tu rapportes , mon vieil ordi et ses 512 de ram tiennent bon
Cela m' embete ce truc

je peux préciser différents types de processeurs dans les options de compilations , et la je parts dans un monde inconnu ..

la nouvelle dll est au meme endroit que l' ancienne

@+ Eric
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Dll filtre médianne

Messagede gg le Sam Aoû 08, 2009 00:33

nouveau test avec la nouvelle version et bonne nouvelle :
je refais un test avec une image de 2267x4000.... (superbe demoiselle au demeurant :roll: )

et ça marche, bon, ça prend 2 minutes chrono en laissant pixia travailler tout seul et sans rien faire d'autre sur l'ordi. :)

et en fait, je pense qu'avant non plus ça ne plantait pas, le tout c'est que comme c'était très long (plus de deux minutes d'après ce que je comprends de l'amélioration du filtre) je trouvais le temps long devant mon ordi (plus de deux minutes devant un écran, à ne rien faire, c'est long :)). En plus, pendant ce temps, pixia ne répond plus à rien (gestionnaire de taches qui signale "ne répond pas", les barres d'outils qui deviennent blanches, etc...) tous les symptômes d'un plantage.

donc, a priori, le seul bug c'est une relative impatience chez moi :)
je modère, alors, svp, pas de politique, pas de guerre windows/mac/linux, pas d'insultes, pas de fichiers illégaux, pas de sms
Avatar de l’utilisateur
gg
 
Messages: 984
Inscription: Lun Aoû 28, 2006 12:55

Re: Dll filtre médianne

Messagede Eric le Ven Aoû 14, 2009 23:10

Tu m'as fait peur ! :D

Bon j'ai modifié des petites choses pour la rapidité , et aussi une barre de progression ( aie la rapidité :oops: )
( celle de pixia n' indique que le transfert du resultat vers pixia )

j' ai aussi refait le flou standard de Pixia , avec une prévisualisation ( ç' est plus pratique )
celui la ne décale pas l' image vers le bas à droite

et un flou gaussien ( un tantinet long pour les grosses images , mais avec une barre de progression itout :D )
Il faut que je le retravaille

sur tous, la touche escape est un raccouci pour annuler.

les dll sont ici :http://grifouilli.free.fr/index.php/docman/cat_view/38-dll-pixia.html
pas eu le temps pour des images

@+ Eric
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Dll filtre médianne

Messagede gg le Sam Aoû 15, 2009 00:09

filtre médiane : nette amélioration... tant au niveau du temps de traitement que de l'ergonomie.... en fait, il donne des résultats assez impressionnant je trouve. En revanche, pendant qu'il travaille, mieux vaut ne plus toucher à rien... ça continue à tourner, mais ça fait croire que ça plante :) (barre de progression qui stoppe, petit mot sur la fenêtre "le filtre ne répond plus", etc.... c'est vicieux ces petites bêtes... ça fait peur et puis pouf, c'est fini et tout c'est bien passé.

filtre flou standard : marche très bien, plus de décalage...

flou gaussien : marche très bien...

pour la vitesse, c'est vrai que c'est un peu lent avec les grosses images... m'enfin, faire du flou sur du 2000x4000 ça ne doit pas arriver tous les jours... le tout c'est de le savoir.

En revanche, avec les trois, ça s'amuse à faire croire que ça plante dès qu'on touche à pixia une fois le processus lancé. Suffit aussi de le savoir et d'attendre que ça finisse pour que tout rentre dans l'ordre.
Et pour les trois aussi, la prévisualisation, c'est bien sympa.

j'ai enfin compris la différence de résultat entre un flou gaussien et un flou standard... jusqu'à présent je n'avais pas réussi :)
je modère, alors, svp, pas de politique, pas de guerre windows/mac/linux, pas d'insultes, pas de fichiers illégaux, pas de sms
Avatar de l’utilisateur
gg
 
Messages: 984
Inscription: Lun Aoû 28, 2006 12:55

Re: Dll filtre médianne

Messagede Eric le Sam Aoû 15, 2009 22:18

deux autres en ébauches ici:
http://grifouilli.free.fr/index.php/docman/cat_view/38-dll-pixia.htmlhttp://grifouilli.free.fr/index.php/docman/cat_view/38-dll-pixia.html

le but étant un set " retouche visage " ....

vite rapide :

une image: clone 2 calques( donc 3 au final

sur le plus haut: flou gaussien
le second : Filtre passe haut ( aye des fois ç crashh pour du vrai :oops: )
réglé en mode calque ou ovelay suivant la trad ) : il réintroduit de le netteté)

le dernier ( donc l' original)
ajoutez un transparence
remplir cette derniere en blanc ( totalement transparent)
avec un pinceau noir(dans la transparence) faite ressortir les yeux, bouches..cheveux, arrière plan de l' original....

Éventuellement ( ur un autre calque ) renforcez la netteté des cils.... bouche....

Je pense avoir construit les outils , mais c' est pas forcement "tip top"
ajouté filtre passe haut et rehausse contrsate (pas garanti 100% )
les dlls sont ici http://grifouilli.free.fr/index.php/docman/cat_view/38-dll-pixia.html
@Eric
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Dll filtre médianne

Messagede gg le Dim Aoû 16, 2009 14:12

je n'arrive pas à télécharger rehausse et pass haut....
ça me dit dans un bandeau en haut de page : The document is being edited/updated by a User and is unavailable at this moment.
je modère, alors, svp, pas de politique, pas de guerre windows/mac/linux, pas d'insultes, pas de fichiers illégaux, pas de sms
Avatar de l’utilisateur
gg
 
Messages: 984
Inscription: Lun Aoû 28, 2006 12:55

Re: Dll filtre médianne

Messagede Eric le Dim Aoû 16, 2009 19:26

C' est réglé . un histoire de permission sur les fichiers
j' avais testé, mais sans doute logé comme administrateur
Merci GG
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Dll filtre médianne

Messagede gg le Dim Aoû 16, 2009 22:29

bien bien bien....

pas mal, j'avoue que l'assemblage des deux (contraste et pass haut) donnent un résultat sympathique, ... en revanche, ça va demander une certaine habitude je pense pour bien les utiliser. Et ne pas y aller comme un bourrin en mettant des valeurs trop fortes.
j'avoue qu'après quelques essais sur une image flouté avec ton flou standard à 5, j'obtiens le meilleur résultat avec pass haut réglé sur deux, ensuite je reclone le calque filtré et je gère la transparence de ce calque supplémentaire, vers 50%.

j'ai un souci avec pass haut... si je dépasse 8, ça "brule" les teints clairs... en gros ça devient bleu ou rouge ou vert sur ces parties.
je modère, alors, svp, pas de politique, pas de guerre windows/mac/linux, pas d'insultes, pas de fichiers illégaux, pas de sms
Avatar de l’utilisateur
gg
 
Messages: 984
Inscription: Lun Aoû 28, 2006 12:55

Re: Dll filtre médianne

Messagede Eric le Lun Aoû 17, 2009 09:53

Et ne pas y aller comme un bourrin en mettant des valeurs trop fortes.


j' utilise un flou gaussien entre 5 et 10, suivant la taille de l' image.
10 c' est pour 2000*3000
et le passe haut entre 2 et 4
Si l' effet de netteté produit ,n' est pas assez fort, je clone le calque passe haut et je regle

le passe haut: image flou gaussien - image originale +127
le réglage du passe haut est en fait le rayon d' un flou gaussien

en utilisant luminosté contraste sur le calque passe haut, tu donne une teinte plus pale ou plus bronzée.

j'ai un souci avec pass haut... si je dépasse 8, ça "brule" les teints clairs... en gros ça devient bleu ou rouge ou vert sur ces parties.


OUPS ... :oops: j' ai pas fait gaffe pour les grandes valeurs
Effectivement, une lueur dans l' oeuil et hop

Ce doit etre un dépassement , une valeur en sortie supérieur à 255
je vais ajouter un test à 255 pour voir

un tuto est en cours de réalisation

un script gonta pour enlever les taches de rousseur, grain de beauté et autre ...
Fenêtre gauche:
Code: Tout sélectionner
coord=0;
?quoi,Rouge/Noir,0,1,0;
cx=0;cy=0;
cas=0;
teinte=0;
sat=0;
lum=0;

xa=0;
ya=0;
xb=xs-1;
yb=ys-1;


fenêtre droite:
Code: Tout sélectionner
TX=x/xs;
TY=y/ys;
V1=R(xa,ya)+(R(xb,ya)-R(xa,ya))*TX;
V2=R(xa,yb)+(R(xb,yb)- R(xa,yb))*TX;
R1=V1+(V2-V1)*TY;

V1=G(xa,ya)+(G(xb,ya)-G(xa,ya))*TX;
V2=G(xa,yb)+(G(xb,yb)- G(xa,yb))*TX;
G1=V1+(V2-V1)*TY;

V1=B(xa,ya)+(B(xb,ya)-B(xa,ya))*TX;
V2=B(xa,yb)+(B(xb,yb)- B(xa,yb))*TX;
B1=V1+(V2-V1)*TY;
HLS(R1,G1,B1);
teinte=H;
sat=S;
lum=L;
if (quoi == 0){
HLS(R,G,B);
RGB(teinte,L,sat);
B=B+(B*4/100);
}
if (quoi == 1){
HLS(R,G,B);
RGB(H,lum,sat);
}


utilisation: rouge pour les rougeurs, noir pour les grains de beauté ou autre
rouge: pas tip top
noir passe bien

faire une selection , la plus petite possible , autour du grain à enlever et appliquer le filtre
Attention:
les coins de la selection doivent etre dans une couleur acceptable visuellement et non sur une tache
Ce sont ces coins qui servent à calculer la valeur de remplacement des pixels.
plus la selection est petites, plus on preservera le grain de la peau pour le filtre passe haut.

Petite astuce pour les rougeurs inopportune:
un calque en mode teinte saturation sous le calque image
avec la pipette, prendre une couleur le plus pres possible de la zone à traiter
et peindre dans le caque teinte saturation
ça aide pas mal.

ce calque peut servir à blanchir les dents, modifier la couleur des yeux ...
mais il vaut mieux faire cela apres le lissage de la peau

je vais enlever l' option rouge du script

Bref: de quoi s' amuser

petite remarque: le passe haut en mode calque peut etre utilisé pour compenser les PETITS flous de mise au point.

@+ Eric
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Re: Dll filtre médianne

Messagede gg le Lun Aoû 17, 2009 14:39

pour le script gonta... je ne suis pas persuadé de l'utilité... même si effectivement le noir marche très bien pour virer tache de rousseur ou grain de beauté (petites zones en tout cas)... mais bon, un coup de tampon, intensité à 50 sur 255... ça le fait aussi et je trouve ça plus "précis" ... :). Avec le filtre, parfois on voit bien la démarcation de la sélection... qu'il faut retravailler après pour l'atténuer

petite remarque: le passe haut en mode calque peut etre utilisé pour compenser les PETITS flous de mise au point.

en fait, c'est dans cette optique que j'ai fait les essais :)
je modère, alors, svp, pas de politique, pas de guerre windows/mac/linux, pas d'insultes, pas de fichiers illégaux, pas de sms
Avatar de l’utilisateur
gg
 
Messages: 984
Inscription: Lun Aoû 28, 2006 12:55

Re: Dll filtre médianne

Messagede Eric le Ven Aoû 21, 2009 09:08

mais bon, un coup de tampon

Alors celui la, je l' évite au maximum
Avec la version que j' utilise , y' a des jours ou y' a pas moyen
L' écart ne correspond pas , ou il reste collé au curseur
Mais des fois ça marche :lol:
Dans ce cas, avec des changements frequents d' écarts, si jamais j' appuye sur ctrl ( juste sous shift :evil: ),
parce que je regarde l' écran et non le clavier, c' est le calque qui bouge, et pas d' undo

moins de probleme de fonctionnement du tampon avec la 43a
par contre dans cette version, la gestion des calques est buggée.
Il y a toujours un moment ou je ne peux plus selectionner les calques inférieurs.
Je suis obligé de les faire glisser au sommet da la pile pour modifié reglage ou utiliser un filtre
Puis les remettre au bon endroit

Avec le filtre, parfois on voit bien la démarcation de la sélection... qu'il faut retravailler après pour l'atténuer


un masque filtrant et ça s' arrange
mais sur une tache de grande taille, c' est difficile.

une autre possibilité:
un calque en mode luminosité, avec ton image en noir et blanc
en dessous l' image en couleur, mode de fusion teinte saturation
les retouches , quelque soit le procédé, se font sur l' un ou sur l' autre , ce qui permet de garder au moins une des
composante HSL de l' image originale

Hélas parfois il faut retoucher les deux ....

@+ Eric
Avatar de l’utilisateur
Eric
 
Messages: 761
Inscription: Ven Aoû 25, 2006 10:49
Localisation: France (80)

Suivante

Retourner vers Développement de Pixia

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

cron