ola,
y a t'il quelqu'un dans l'assemblée qui sait comment obtenir les cordonnées x et y de pixels.
il est possible d'obtenir la couleur de pixels avec get(), mais comment faire pour x et y?
cette opération doit s'effectuer lors d'un rafraichissement de frame pour de la motion capture, et je cherche à savoir si les pixels rafraichis se trouvent dans une zone délimité dans le but de générer du boolean.
merci d'avance.
Hors ligne
Yop,
En fait : get(x,y) = pixels[y*width+x]
Donc si tu as une liste d'index du tableau pixels, pour un index donné (pixels[index]), je crois (je crois ...) que ça donnerait ça :
Sinon, tu peux faire ça pour examiner une zone donnée de ton image :
for(int i = debut_zone_width ; i < fin_zone_width ; i++){ for(int j = debut_zone_height ; i < fin_zone_height ; j++){ color cCourant = pixels[j*width + i]; } }
PS : évite d'utiliser get() - assez lent comme méthode, le mieux étant de manipuler directement pixels[] :
citation :
Getting the color of a single pixel with get(x, y) is easy, but not as fast as grabbing the data directly from pixels[]. The equivalent statement to "get(x, y)" using pixels[] is "pixels[y*width+x]". The (BETA) version of Processing requires calling loadPixels() to load the display window data into the pixels[] array before getting the values.
Dernière modification par 22_80 (2008-05-29 10:23:43)
Hors ligne
merci beaucoup de ta réponse je file de ce pas l'essayer...
si t'as d'autre idées hésite pas
Hors ligne
Attention, si tu as fais un copier/coller sur le code, j'ai fais une petite coquille :
for(int j = debut_zone_height ; i < fin_zone_height ; j++){
-->
for(int j = debut_zone_height ; j < fin_zone_height ; j++){
C'est le genre d'erreur qui peut rendre fou.
Hors ligne
Pages: 1