Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2008-07-06 18:43:55 multiples trackcolor

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

multiples trackcolor



salut a tous,
pour relancer le débat en cette période estivale....

je souhaiterai savoir sil est possible de "tracker" plusieurs couleurs avec JMyron?
Sur la meme frame biensur...

Hors ligne

 

#2 2008-07-07 10:25:43 Re : multiples trackcolor

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: multiples trackcolor



Oui, il y a pas de raison ... il faut juste voir si tes performances suivent - mais peut-être était-ce le sens de ta question ...?

Hors ligne

 

#3 2008-07-07 16:39:31 Re : multiples trackcolor

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: multiples trackcolor



slt,

la raison de ma question est plutot de savoir s'il est possible de creer plusieurs méthodes m.trackcolor(x,x,x); dans une meme instance de capture video jmyron m;
a premiere vue, non...
je suis donc pour l'instant passé par une capture de la cam en plusieurs PImage mais du coup la methode .trackColor() ne s'applique pas dans le processing.core...
si tu as une idée la dessus smile
++

Hors ligne

 

#4 2008-07-07 17:11:40 Re : multiples trackcolor

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: multiples trackcolor



hmmmad - vraiment dommage ... je bidouille pas trop p5 depuis que je suis passé sur Ubuntu, et le temps que je refasse mon setup, c'est pas demain la veille.

J'ai du code qui fait l'équivalent : je ne me sers de JMyron que pour la capture et je fais mon tracking/recherche de blob après ...
C'est assez basique, mais ça marche (à peu près).
Je le posterai dans la soirée, si tu veux jeter un coup d'oeil.

Hors ligne

 

#5 2008-07-07 22:31:54 Re : multiples trackcolor

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: multiples trackcolor



yep,

je veux bien ton code de traitement de blob post jmyron ...

ubuntu...j'essaierai bien sur mon futur computer...t'en ai satisfait?
++

Hors ligne

 

#6 2008-07-08 11:19:19 Re : multiples trackcolor

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: multiples trackcolor



Oki, je te poste ça ce soir ...

Ubuntu ... je l'adore !

Hors ligne

 

#7 2008-07-08 19:04:37 Re : multiples trackcolor

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: multiples trackcolor



Yop,

Je te file un .pde relativement commenté, si tu as des questions n'hésite pas ...

La méthode de recherche de couleur est triviale, je te laisse regarder.
Celle pour regrouper en globe est un peu plus hardcore ... je me suis basé sur les HashMap :
Je parcours mon tableau de pixel, tout ceux qui correspondent à la couleur donnée sont stockés dans un Map avec la clé suivante :
x + "s" + y
Ainsi, lorsque je fais mon algo récursif pour déterminer les globes, il m'est facile de voir si le voisin d'un point donné appartient au HashMap :
Si hashMap.get(x' + "s" +y') != null  (avec x' et y' les coordonnées du voisin)

Il te suffit de construire autant de map qu'il y a de couleurs que tu veux tracker.

La liste des globes est ensuite nettoyée des globes jugés trop petits.

Voici le résultat du programme (pas efficace à 100% ...) : http://vimeo.com/1000558

+
+

Hors ligne

 

#8 2008-07-08 23:17:30 Re : multiples trackcolor

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: multiples trackcolor



:Dmerci bien:D
je vais regarder de plus prés d'ici la fin de semaine...

+++

Hors ligne

 

#9 2008-07-09 16:53:00 Re : multiples trackcolor

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: multiples trackcolor



salut,

je viens de survoler rapidement le code que tu m'as envoyé,
... je penses que je vais mettre un petit moment pour le déchiffrer,big_smile
non pas qu'il soit illisible, au contraire, mais je suis un peu en deça du niveau nécessaire pour capter toutes ses subtilités...
donc je vais me donner un peu de temps pour analyser tout ça ...
hehe
bon merci en tout cas

Hors ligne

 

#10 2008-08-04 14:30:43 Re : multiples trackcolor

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: multiples trackcolor



ok,

j'ai pu integrer un tout petit peu le concept de map... j'ai doublé toutes les fonctions pour pouvoir capturer 2 couleurs.
ça fonctionne bien, par contre au bout de 2 min une exception apparait de type stackoverflowerror.

cela te dit il quelque chose?

Hors ligne

 

#11 2008-08-04 20:34:45 Re : multiples trackcolor

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: multiples trackcolor



rhaa ... un classique, c'est la pile de récursion qui déborde ... en gros, quand tu fais appel à une fonction récursive, tout le bordel est stocké dans une partie la mémoire vive, si ton appel récursif est trop profond, ça pète ... je vais essayer de transformer mon code en non récursif et je te tiens au jus.

Hors ligne

 

#12 2008-08-05 10:22:41 Re : multiples trackcolor

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: multiples trackcolor



hummmm...

ces fameuses méthodes récursives...
peut être est ce la méthode "trouvercentre(arrayliste globes)" ?

en tous les cas c'est lorsque j'augmente la "differenceacceptable" qu'au bout d'un moment l'exception arrive.

sinon ton code mis à part ça fonctionne à merveille , merci pour le coup de main.big_smile

si tu peux voir pour la récursion c'est nickel.

mais alors pas de vacances ? ou accros de codelab ?tongue

+++

Hors ligne

 

#13 2008-08-05 14:42:10 Re : multiples trackcolor

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: multiples trackcolor



... pas de vacances ...

J'ai pas encore regardé, je suis un peu dans le pâté niveau taf ... mais avec le recul, c'était pas forcément une grande idée de vouloir faire une récursion sur des listes de pixels.
Quand tu augmentes la différence acceptable, tu relâches la contrainte sur la couleur, ce qui fait que tes Map, et surtout tes globes deviennent trop gros pour être traités de cette manière.

PS : C'est la méthode trouverGlobes_trtUnit() qui est récursive (elle s'appelle elle-même).

+
+

Hors ligne

 

#14 2008-08-05 16:21:12 Re : multiples trackcolor

oyster_twiter
membre
Lieu: saint-herblain
Date d'inscription: 2008-04-01
Messages: 444
Site web

Re: multiples trackcolor



yep,

ok pour la definition de recursive wink mais la methode "trouvercentre(arrayliste globes)" utilise un return qui est générée par elle meme ... donc récursive également non?

dont know...

sinon je t'envoi ce pde qui est une transformation du tien (pas grand chose de plus) pour que tu es un aperçu du bug "stackflow..."

bonne courage pour ton taf, ici pas de vacances non plus
+++

Hors ligne

 

#15 2008-08-08 13:15:02 Re : multiples trackcolor

22_80
membre
Lieu: Paris
Date d'inscription: 2008-02-29
Messages: 205

Re: multiples trackcolor



Je viens de regarder ton code, il me semble que tu as dédoublé toutes tes méthodes inutilement, elles font toutes la même chose, peu importe que tu changes le nom du paramètre.

Le seul dédoublement utile serait éventuellement pour la fonction qui permet de trouver la couleur, mais il est plus judicieux de rajouter un paramètre à la méthode :
couleurCorrespond(color c) -> couleurCorrespond(color c, color couleurRecherchere) et ainsi utiliser la même méthode pour tes 2 couleurs.
ça n'a aucune influence en terme d'efficacité, mais il faut essayer de factoriser son code tant que faire se peut.

Je n'ai pas encore fait la correction, mais peut-être peux-tu déjà essayé d'augmenter la taille mémoire allouée à processing ainsi que la taille de la pile stack,
Je sais plus comment ça marche sous l'interface p5 pour gérer ça (j'utilise eclipse) ... l'idéal serait que tu lances ton programme à partir de la console (je dis ça sans savoir si c'est possible)  ...

java -Xss[native stack size]  -Xms [taille initiale du heap] -Xmx[taille maximale du heap]

Xss : taille de ta pile stack ; c'est ça qui déborde chez toi
Xms : allocation de la ram pour ton programme au démarrage
Xmx : ram maximale allouée à ton programme.

tu peux essayer : java -Xss=512m -Xms =1024m -Xmx=2048m

malheureusement, l'option Xss n'a pas l'air accessible depuis processing ... http://processing.org/discourse/yabb_be … 1212688476

J'essaye de regarder l'algo dans le we, le seul problème étant que je ne pourrais pas le tester, j'ai quelques soucis avec les webcams sous linux ...
courage ...

+
+

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024