Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [java] scansione matrice

    Ho una matrice che rappresenta un'immagine di una persona. Questa immagine è costituita da pixel bianchi e pixel neri. In pratica i pixel bianchi rappresentano la pelle e quelli neri tutto il resto. Devo effetturare un'elaborazione solo sui pixel bianchi cercando di minimizzare il carico computazionale. La domanda è: come faccio a creare un ciclo for che vada a vedere solo i pixel bianchi cercando di non considerare tutto il resto dell'immagine? In pratica mi servirebbe un for "dinamico" in cui la fine della ricerca non è impostata a priori... nn so se mi sono spiegato. qualcuno ha qualche idea?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Il "for dinamico" in cui la fine non è impostata a priori, in programmazione si chiama "while"...

    ... ma devo ancora capire secondo quali criteri puoi decidere che la scansione (di una riga?) è finita...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    ci avevo pensato, però anche usando il while dovrei scansionare tutta l'immagine. Utilizzando il while dovrei usare come condizione il fatto che un certo pixel sia bianco. Però così facendo dovrei comunque scansionare l'immagine e vedere se il pixel considerato è bianco... come condizione di termine ho cmq il fatto che l'immagine ha una dimensione predefinita. quindi potrei utilizzarla in or con il colore del pixel. Dato che questa cosa deve essere fatta per tutti i frame acquisiti da una webcam, nn risulta troppo lenta?

  4. #4
    Utente di HTML.it L'avatar di Pastore12
    Registrato dal
    Oct 2008
    Messaggi
    1,051
    Prova a lasciar perdere while e for per il momento e pensa alla tua immagine: un bel rettangolo di quadratini bianchi e neri.
    E' evidente che la disposizione dei quadrati bianchi non è del tutto casuale ma ricalca a pezzi e in qualche modo la figura della persona. Però queste informazioni, da sole, sono inutili: è impossibile stabilire un criterio per individuare tutti i quadratini bianchi senza esaminare anche tutti i quadratini neri.
    Ora invece immagina di avere nella tua immagine tutta la persona. E di saperlo a priori. Arriva il prima frame: esaminandolo tutto ricavi uno spazio preciso in cui si trova la persona.
    Ora immagina anche che, per motivi fisici, si possa stabilire che i puntini bianchi del secondo frame saranno distanti dai quadrati bianchi del primo frame non più di un certo valore. Ovviamente dovresti essere in grado di calcolare in modo scientifico questo valore.
    Allora sapresti già che nel secondo frame non devi esaminare tutti i quadratini oltre quella distanza dai quadratini bianchi del primo frame.
    Se la persona sta in centro all'immagine, è piccola rispetto all'immagine e fosse nuda.. avresti decisamente un bel risparmio.
    Se invece l'immagine inquadra solo una porzione della persona e la persona è vestita con dei veli che si possono spostare lasciando nuda la pelle nel giro di poche frazioni di secondo allora tutta sta roba non servirebbe a nulla...

    Altro discorso sarebbe se non ti occorre trovare tutti i punti bianchi, ma solo l'80%.. allora potresti cercare di costruirti un algoritmo euristico sia per esaminare il primo frame che i successivi..
    "Ethics are to me something private. Whenever you use it as an argument for why somebody_else should do something, you’re no longer being ethical, you’re just being a sanctimonious dick-head"
    Linus Torvalds

  5. #5
    in pratica devo identificare gli occhi di una persona in un'immagine a mezzo busto. proverò a vedere cosa riesco a combinare...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.