Annonce

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


#1 2016-04-18 11:09:36 Balayage

Clejuben
nouveau membre
Date d'inscription: 2016-04-11
Messages: 5

Balayage



Bonjour,
Toujours dans le cadre de notre projet d'ISN, j'ai rencontré un problème, qui doit être surement facile à résoudre quand on s'y connait, mais vu que je débute, je ne trouve pas; je cherche a faire un balayage pour trouver la distance épaule/bassin représenté par la surface noir du tee-shirt, j'ai donc chercher les pixels avec une luminosité <15, je trouve donc tous les points avec cette luminosité, cependant je cherche juste le premier et le dernier point avec cette luminosité pour ainsi établir la distance, ou alors directement la distance si c'est possible. Tout cela pour me permettre de continuer mon projet sans encombres.

Voici deux images qui permettent d'illustrer mon problème :

http://codelab.fr/up/Captureprocessing.PNG
http://codelab.fr/up/Capturephoto.PNG

Merci d'avance pour votre aide.
Bon journée/soirée.

Hors ligne

 

#2 2016-04-18 11:55:14 Re : Balayage

thoskan
membre
Date d'inscription: 2010-09-18
Messages: 87

Re: Balayage



Bonjour Clejuben,

Si tu veux ton premier point, parcours simplement ton tableau et sauvegarde les positions y de ton premier et ton dernier point.

je t'ai écris un code à la rache , pas testé wink

citation :

// declare tes variables tout en haut
int firstY = -1;
int lastY = -1;


// dans ton draw , à la place du println
if(lum < 15)
{
  if(firstY == -1)
  {
    firstY = py
  }
  lastY = py;
}

//apres ta boucle for
float dist = dist(0, firstY, 0, lastY);

// ou sinon plus simple -> int dist = lastY - firstY;

Pour la distance, il existe une fonction à qui tu passe deux points -> dist(x1, y1, x2, y2);
mais dans ton cas , tu utilise seulement y donc c'est inutile je pense.

https://processing.org/reference/dist_.html


Par ailleurs pour ce genre de problème, je te conseille de faire un seuillage (threshold) avec la fonction filter().

J'espère que ça t'aidera.

Dernière modification par thoskan (2016-04-18 11:55:55)

Hors ligne

 

#3 2016-04-18 15:10:42 Re : Balayage

Clejuben
nouveau membre
Date d'inscription: 2016-04-11
Messages: 5

Re: Balayage



Merci de ta réponse rapide thoskan,

Le fait est que le println ne doit pas être dans le programme à la toute fin, je l'ai introduit ici pour anticiper le résultat et ainsi voir si cela marchait, et le fait de prendre dans le tableau la première et la dernière valeur n'est pas a envisager car nous cherchons quelque chose d'automatisé.
Je n'ai pas encore testé ton code mais je ne comprend pas vraiment pourquoi quand tu déclares le point, que signifie le "-1", à quoi sert-il? (désolé nous sommes encore que très peu expérimenté sur les codes et sur processing roll )

Hors ligne

 

#4 2016-04-18 16:56:11 Re : Balayage

thoskan
membre
Date d'inscription: 2010-09-18
Messages: 87

Re: Balayage



Le -1 est juste là pour dire que ce n'est pas un pixel, car le premier pixel commence à 0.
En java le int ne peut être null, sinon il faut travailler avec l'objet Integer apparement (http://stackoverflow.com/questions/2254 … ll-in-java)....mais c'est un autre sujet.

Eh ouais, j'avais bien compris que le println était là pour débugger wink

En fait, tu prends la première et dernière valeur seulement quand la luminosité est inférieur à 15. mais effectivement ça ne sert à rien dans le cas où tu veux automatiser ta manip. Dans tout les cas si tu cherches quelque chose d'automatisé, il faut que tu partes sur autre chose que "width/3" pour trouver l'épaule.

Si t'as une kinect sous la main, y a plein de choses à faire de beaucoup plus puissant.
https://www.youtube.com/watch?v=l058fnGf-u0

Hors ligne

 

#5 2016-04-18 23:13:59 Re : Balayage

Clejuben
nouveau membre
Date d'inscription: 2016-04-11
Messages: 5

Re: Balayage



Ah d'accord merci de l'explication, donc nous allons surement surement adapter le programme pour qu'il soit "semi-automatisé" car vu que nous sommes débutants on va pas se lancer dans quelque chose de très compliqué car je pense que les autres solutions pour arriver aux même résultat en mode "automatisé" sont au-delà de nos capacités non?
En tout cas merci de ton aide, cela nous fais beaucoup avancer dans notre projet.

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024