racavedigger.com
Daily insights on Bitcoin and crypto markets
  • Facebook
  • Pinterest
  • Home
  • News

Kinect usa l’infrarosso

Notizia

Riepilogo

In questo articolo, esploreremo come Microsoft Kinect può essere modificato per funzionare come fotocamera a infrarossi (IR). Kinect è in genere noto come fotocamera di profondità, ma con alcune modifiche, può catturare le immagini IR. Bloccando il proiettore IR e aggiungendo lampade IR esterne, possiamo consentire a Kinect di rilevare e registrare la luce a infrarossi. Ecco i punti chiave discussi in questo articolo:

  1. Kinect è una periferica per la console Xbox 360 che consente agli utenti di interagire senza utilizzare un controller.
  2. Kinect è una fotocamera di profondità, il che significa che può calcolare le distanze tra se stesso e gli oggetti nel suo campo visivo.
  3. Modificando Kinect, possiamo usarlo come fotocamera IR per catturare le immagini IR.
  4. I componenti di Kinect includono un proiettore IR, una fotocamera IR e una fotocamera RGB.
  5. Il proiettore IR emette una griglia di punti IR sugli oggetti, che la fotocamera IR rileva per calcolare le immagini di profondità.
  6. Una descrizione dettagliata di Kinect e i suoi potenziali usi possono essere trovati nel libro “Making Things See” di Greg Borenstein.
  7. Per collegare Kinect a un computer, dobbiamo installare software e librerie specifiche, come Openni, NITE, Sensore e SensorkInect.
  8. Dopo l’installazione, possiamo verificare il successo eseguendo gli script di esempio nell’elaborazione.
  9. Per bloccare il proiettore IR, possiamo creare una benda con nastro adesivo e cuscinetti in velcro.
  10. Poiché il blocco del proiettore IR colpisce la visibilità IR, è necessario aggiungere le lampade IR esterne per fornire un’illuminazione IR sufficiente.
  11. Per costruire lampade IR, possiamo seguire un diagramma a circuito e calcolare i valori di resistenza per i LED.

Domande e risposte

Q1: a cosa serve Kinect principalmente?

A1: Kinect è principalmente noto come una fotocamera di profondità, in grado di calcolare le distanze tra oggetti e se stesso.

Q2: come può essere modificato Kinect per funzionare come una fotocamera a infrarossi?

A2: Kinect può essere modificato bloccando il proiettore IR e aggiungendo lampade IR esterne per catturare immagini a infrarossi.

Q3: quali sono i componenti del Kinect?

A3: I componenti di Kinect includono un proiettore IR, una fotocamera IR e una fotocamera RGB.

Q4: come fanno le immagini di profondità di Kinect?

A4: Kinect calcola le immagini di profondità emettendo una griglia di punti IR sugli oggetti, che la fotocamera IR rileva e utilizza per calcolare le distanze.

Q5: ci sono risorse raccomandate per saperne di più sul Kinect?

A5: Sì, “fare le cose see” di Greg Borenstein fornisce una descrizione dettagliata del Kinect e delle sue potenziali applicazioni.

Q6: quali software e librerie sono necessari per collegare Kinect a un computer?

A6: il software e le librerie necessarie includono Openni, Nite, Sensor e SensorkInect.

Q7: come possiamo verificare l’installazione riuscita del software Kinect?

A7: eseguendo gli script di esempio nell’elaborazione, come profondità e profondità in grana, possiamo verificare se l’installazione ha avuto successo.

Q8: come può essere bloccato il proiettore IR di Kinect?

A8: una benda può essere creata usando nastro adesivo e cuscinetti in velcro per coprire e bloccare il proiettore IR.

Q9: perché è necessario aggiungere lampade IR esterne?

A9: bloccare il proiettore IR riduce la visibilità IR, quindi sono necessarie lampade IR esterne per fornire un’illuminazione IR sufficiente per catturare le immagini IR.

Q10: come possiamo costruire lampade IR per migliorare la visibilità dell’IR?

A10: seguendo un diagramma del circuito e calcolando i valori di resistenza per i LED, possiamo costruire lampade IR per migliorare la visibilità dell’IR.

Conclusione

In questo articolo, ho esplorato come Microsoft Kinect può essere modificato per funzionare come una fotocamera a infrarossi. Con le giuste modifiche e aggiunte, Kinect può catturare immagini a infrarossi e fornire nuove possibilità per vari progetti. Questo progetto ci consente di sfruttare il potenziale di Kinect oltre i suoi usi tradizionali, dimostrando la sua versatilità e l’espansione.

Utilizzando un Kinect come telecamera a infrarossi

Borenstein, Greg, Far vedere le cose, O’Reilly Media, Inc., 978-1-449-30707-3, gennaio 2012.

Kinect usa l’infrarosso

Об этой сттце

Ыы зарегистрировали подозритеstituire. С помощю ээй ст р ы ыы сможем о imperceде quello. Почему ээо мо л поззти?

Эта страница отображается в тех с лччч, когда автоматическиtal систе quisi которые наршают условия иполззования. Страница перестан scegliere. До этого момента для иполззования сжж google необходимо пхоходить поверку по по по по по.

” ылку запросов. Если ы и ипоеете общий доступ в интернет, проmma. Обратитесь к с ое системому администратору. Подробнеi.

Проверка по слову может также появляться, если вы вводите сложные запросы, обычно распространяемые автоматизированными системами, или же вводите запросы очень часто.

Utilizzando un Kinect come telecamera a infrarossi

Questo progetto mostrerà come la Microsoft Kinect può essere modificata per essere utilizzata come fotocamera a infrarossi (IR).

  • Tempo richiesto: 2-3 ore
  • Stampa questo progetto

Utilizzando un Kinect come telecamera a infrarossi

Di Damon Conover

Damon Conover

Kinect è una periferica per la console Xbox 360 che consente a un utente di interagire con Xbox 360 senza toccare un controller. Una descrizione generale di Kinect è che si tratta di una fotocamera di profondità. Ciò significa che puoi posizionare gli oggetti davanti a esso e calcolerà la distanza da esso agli oggetti, creando così un’immagine di profondità. Pertanto, Kinect può fornire le posizioni degli oggetti in un’immagine relativa a se stessa e queste informazioni possono essere utilizzate in una varietà di progetti. Inoltre, Kinect contiene molti componenti che, con lievi modifiche, possono essere utilizzati per nuovi scopi. Ad esempio, questo progetto mostrerà come la Kinect può essere utilizzata come fotocamera a infrarossi (IR).

Per una descrizione dettagliata di come funziona Kinect e di come può essere utilizzato in diversi progetti, ti consiglio di leggere Far vedere le cose Di Greg Borenstein (http: // shop.Oreilly.com/prodotto/06369200…). L’immagine nel passaggio 1 mostra i componenti del Kinect che sono necessari per comprendere questo progetto. Il proiettore IR brilla una griglia di punti IR sugli oggetti di fronte. Non siamo in grado di vedere i punti, ma la fotocamera IR può rilevarli. Usando il modello di punti su ciascun oggetto, Kinect è in grado di calcolare l’immagine di profondità. Il componente finale è una fotocamera RGB simile a una webcam standard.

Passaggi del progetto

Installa il software necessario per collegare Kinect al tuo computer

Segui le istruzioni specifiche della piattaforma qui per:

Installa driver OpenNi, Nite, Sensor e SensorkInct

Installa la libreria SimplePenni per l’elaborazione

Verificare che l’installazione abbia avuto successo

Inizia a elaborare ed eseguire gli esempi di profondità e profondità.

Fornisci energia al tuo Kinect e collegalo al tuo computer tramite la porta USB.

Vai al file → esempi → librerie fornite → simpleopenni → openni.

Fare doppio clic sull’esempio che si desidera eseguire (ad esempio, profondità) e lo script di esempio si aprirà.

Fai clic sul pulsante Esegui e verrà visualizzata un’immagine sullo schermo. Per lo script di profondità, un’immagine di profondità sarà a sinistra e un’immagine IR sarà a destra, come mostrato a sinistra.

Blocca il proiettore IR

Come si può vedere nel passaggio precedente, l’immagine IR prodotta dallo script di profondità contiene un modello di punti che desideriamo rimuovere.

Per fare ciò, crea una benda per coprire il proiettore IR.

Prendi due strisce di nastro adesivo, ognuna più lunga di 9 pollici, e posiziona una di quelle che si sovrappongono leggermente all’altra. Quindi ripetere usando altre due strisce di nastro adesivo.

Prendi le due strisce di nastro adesivo a doppia larghezza e mettili insieme i lati appiccicosi.

Tagliare la striscia risultante a 9 pollici di lunghezza.

Posizionare i cuscinetti Velco su un’estremità della striscia, avvolgere la striscia attorno al Kinect, coprendo il proiettore IR e posizionare i cuscinetti Velco opposti in modo tale che la striscia sia tenuta stretta, come mostrato a sinistra.

Costruisci le lampade IR

Ora che il proiettore IR è stato bloccato, non c’è più abbastanza luce IR per la fotocamera IR per generare una buona immagine.

Pertanto, è necessario aggiungere l’illuminazione IR esterna. Il diagramma del circuito a sinistra mostra un possibile design per due lampade IR.

Collegare l’alimentazione DC al jack di alimentazione e misura la sua tensione (VDC) utilizzando un multimetro. Per il mio alimentatore, VDC = 15.6 v.

Cerca la tipica tensione in avanti (VF) e la massima corrente in avanti (se, max) dei LED. I miei erano vf = 1.5 V e if = 20 mA, rispettivamente.

Calcola la resistenza (R1 = R2 = R3 = R4) necessario per limitare la corrente attraverso ogni serie di sei LED. Ho usato resistori a 360 Ω. R> ((vdc – (# di LED)*vf)/if)

Costruisci le lampade IR (continua)

Con una metà di un PCB, posizionare sei LED e un resistore. Fili di saldatura che collegano i LED, il catodo all’anodo e il resistore. Ripeti per l’altra metà del PCB. Quindi saldare un filo che collega gli anodi liberi e un altro filo che collega l’estremità libera dei resistori.

Saldare un lungo filo rosso agli anodi collegati e un lungo filo nero ai resistori collegati.

(Opzionale) Utilizzare SUGRU per tenere i fili lunghi al PCB per fornire un certo rilievo.

Colpisci i fori sul fondo di un bicchiere di plastica, nutri i fili attraverso il foro e premi il PCB saldamente nella tazza. Se il PCB non si adatta perfettamente, usa SUGRU per tenerlo in posizione.

Ripeti i quattro passaggi precedenti per la seconda lampada.

Costruisci il controller di intensità della lampada

Utilizzare le calibri per misurare le dimensioni dei fori necessari per montare i due vasi, l’interruttore, il portafusibile e il martinetto di alimentazione.

Fori di perforazione nel recinto del progetto e montare l’hardware. Inoltre, perforare due piccoli fori per i fili per entrare. Quando si pianifica su dove posizionare ogni buca, tieni presente dove ogni parte si siederà nel recinto, al fine di assicurarti che tutto si adatti.

Dovrai aprire il foro per il jack di potenza usando uno strumento Dremel o con un coltello.

Posizionare SUGRU all’interno e all’esterno del recinto per tenere il jack in posizione.

Costruisci il controller di intensità della lampada (continua)

Trasforma ogni vaso nella posizione che sarà l’impostazione bassa e quindi usa il multimetro’S Tester di continuità per trovare i due pin che verranno utilizzati nel circuito (il tester emetterà un segnale acustico).

Inoltre, utilizzare il tester di continuità per determinare quali due pin sull’interruttore sono collegati quando l’interruttore è verso l’alto e quali sono collegati quando l’interruttore è verso il basso.

Fili corti di saldatura che collegano le parti all’interno del contenitore, secondo lo schema circuito.

Salda due fili lunghi e rossi alle pentole e due fili lunghi e neri all’interruttore, quindi li colpiscono attraverso i due piccoli fori.

Avvitare il recinto’S. S e posizionare un fusibile nel titolare del fusibile.

Ruota i fili che uscono dalle lampade insieme ai fili che entrano nel controller (rosso-rosso, nero-nero), se necessario, coprire i fili esposti con nastro elettrico.

Montare il kinect e le lampade

Posizionare Kinect su una superficie, puntato sull’oggetto che si desidera immaginare.

(opzionale) Collegare Kinect al connettore del treppiede e quindi a un treppiede. Collegare il treppiede a un supporto ad anello e posizionarlo davanti alla superficie di imaging.

Montare le lampade in un orientamento in modo tale che la superficie di imaging sia illuminata.

(Opzionale) Collegare le lampade al supporto dell’anello e tenerle in posizione con i morsetti, le cerniere e il nastro.

Collegare l’alimentazione ad adattamento da parete in una presa e quindi collegarlo al controller di intensità lampada tramite il jack di alimentazione.

Eseguire l’esperimento

Prendi un pezzo di carta da costruzione e disegna un oggetto sul lato sinistro e un altro sul lato destro, usando una matita a carbone.

Colore sopra l’oggetto sinistro con il pastello blu phthalo e colorare sull’oggetto destro con il pastello blu prussiano.

Posizionare la carta davanti alla fotocamera.

Apri elaborazione, crea script RGB_SAVE.PDE E ir_save.PDE (Il codice è fornito nel codice allegato.PDF), modificare il codice in modo tale che i nomi dei file e dei percorsi siano appropriati per il tuo computer, eseguire RGB_SAVE.PDE, e poi corre ir_save.PDE.

Accendere le lampade lanciando l’interruttore, quindi regola l’intensità usando le manopole sul controller. Non sarai in grado di vedere la luce IR emessa dai LED, quindi usa il video IR catturato dalla fotocamera per determinare l’intensità desiderata. Dovrai eseguire nuovamente i due script, dopo aver regolato le lampade.

L’immagine risultante, mostrata a sinistra, dovrebbe mostrare un’immagine a colori nella parte superiore e un video IR in basso. I risultati mostrano che i due pigmenti sembrano simili nella porzione di colore dello spettro, ma molto diversi nella porzione IR.

Per una descrizione dettagliata della scienza dietro questo esperimento, ti consiglio di leggere i documenti di Delaney et al. elencato nei riferimenti.

Riferimenti

Wiki semplice-openni (ultimo accesso 20 aprile 2012). *** Gli esempi inclusi nella casella degli strumenti sono particolarmente utili.

Borenstein, Greg, Far vedere le cose, O’Reilly Media, Inc., 978-1-449-30707-3, gennaio 2012.

Rea, Casey e Ben Fry, Iniziare con l’elaborazione, O’Reilly Media, Inc., 978-1-449-37980-3, giugno 2010.

Blake, Joshua, “Kinect Hacking”, Fare:, volume 29, 124-133, http: // makeprojects.com/wiki/29#section_… (ultimo accesso 20 aprile 2012).

Delaney, John K., Elizabeth Walmsley, Barbara H. Berrie e Colin F. Fletcher, “Imaging multispettrale di dipinti nell’infrarosso per rilevare e mappare i pigmenti blu”, (Sackler Nas Colloquio) Esame scientifico dell’arte: tecniche moderne in conservazione e analisi, Atti della National Academy of Sciences, 120-136, http: // www.pisolino.Edu/Catalogo/11413.HTML (ultimo accesso 20 aprile 2012), 0-309-54961-2, 2005.

Delaney, John K., Jason G. Zeibel, Mathieu Thoury, Roy Littleton, Kathryn M. Morales, Michael Palmer, E. René de la Rie, “Spettroscopia di imaging di riflettanza visibile e a infrarossi dei dipinti: mappatura dei pigmenti e una migliore riflessione a infrarossi”, Q3A: Optics for Arts, Architecture and Archaeology II, a cura di Luca Pezzati e Renzo Salimbeni, Proc. di spie vol. 7391, 2009.

Riconoscimenti

L’autore desidera ringraziare il dott. Murray Loew, della George Washington University e DR. John Delaney e Dr. E. Melanie Gifford, della National Gallery of Art, Washington, D.C., Per il loro feedback riguardo alla configurazione sperimentale.

L’autore desidera inoltre riconoscere il sostegno delle borse di studio che ha ricevuto dalle Fondazioni per gli scienziati del college (ARCS).

Conclusione

Nota: una volta installato correttamente il software per la connessione di Kinect al computer, le uniche passaggi richieste per completare questo progetto sono: 1) Blocca il proiettore IR, 2) Build e montare una sorgente di luce IR sostitutiva (con una lunghezza d’onda centrale vicino a 830 nm) e 3) esperimento. Vengono forniti i dettagli del mio apparato e dell’esperimento, ma ti incoraggio a modificare i dettagli in base alle parti e alle attrezzature che hai a disposizione e in base alle cose che si desidera immaginare. Felice edificio!

Come funziona il rilevamento del movimento in Xbox Kinect

Il prototipo per Microsoft’La fotocamera Kinect e il microfono costano notoriamente $ 30.000. A mezzanotte di giovedì mattina, tu’Saremo in grado di acquistarlo per $ 150 come periferica Xbox 360. Microsoft sta proiettando che venderà 5 milioni di unità tra oggi e Natale. Noi’Avrei più dettagli e una revisione del sistema presto, ma per […]

Salva la storia

Salva la storia

Il prototipo per la fotocamera e il microfono Kinect di Microsoft costa notoriamente $ 30.000. A mezzanotte di giovedì mattina, potrai acquistarlo per $ 150 come Xbox 360 periferico.

Microsoft sta proiettando che venderà 5 milioni di unità tra oggi e Natale. Avremo più dettagli e una revisione del sistema presto, ma per ora vale la pena dedicare del tempo a pensare a come funziona tutto.

Telecamera

La fotocamera di Kinect è alimentata da hardware e software. E fa due cose: generare un’immagine tridimensionale (in movimento) degli oggetti nel suo campo visivo e riconoscere (in movimento) gli esseri umani tra quegli oggetti.

Programmi software più vecchi utilizzavano differenze di colore e trama per distinguere gli oggetti dai loro background. PrimeSense, la società il cui tecnologia poteva Kinect e la recente acquisizione Microsoft Canesta usano un modello diverso. La fotocamera trasmette la luce invisibile del vicino infrarosso e misura il suo “tempo di volo” dopo che si riflette sugli oggetti.

Il tempo di volo funziona come Sonar: se sai quanto tempo impiega la luce per tornare, sai quanto è lontano un oggetto. Crea un grande campo, con molti ping che vanno avanti e indietro alla velocità della luce e puoi sapere quanto sono lontani molti oggetti.

L’uso di un generatore a infrarossi risolve parzialmente il problema della luce ambientale. Dal momento che il sensore non è progettato per registrare la luce visibile, non ottiene altrettanto falsi positivi.

PrimeSense e Kinect fanno un ulteriore passo avanti e codificano le informazioni nella luce vicina. Man mano che tali informazioni vengono restituite, alcune di esse sono deformate, il che a sua volta può aiutare a generare un’immagine più fine della trama 3-D di quegli oggetti, non solo la loro profondità.

Con questa tecnologia, Kinect può distinguere la profondità degli oggetti entro 1 centimetro e la loro altezza e larghezza entro 3 mm.

Un tradizionale controller di videogiochi è individuale e seriale: sono io e qualunque cosa io controlli sullo schermo rispetto a te e su ciò che stai controllando. Potremmo giocare in modo cooperativo, ma siamo sostanzialmente entità discrete isolate l’una dall’altra, manipolando gli oggetti nelle nostre mani.

Un controller di videogiochi è anche un dispositivo altamente specializzato. Potrebbe fare un lavoro leggero come telecomando, ma i pulsanti, i D-pad, i joystick, gli accelerometri, i giroscopi, i meccanismi di feedback tatti.

Kinect è qualcosa di diverso. È comune, continuo e generale: un’interfaccia utente naturale (o NUI) per multimedia, piuttosto che una GUI per i giochi.

Ma ci vuole molta tecnologia per creare un’interfaccia del genere che si riunisce senza soluzione di continuità e “.”

Kinect 2 Hands on Labs

Immagine a infrarossiLab 2: visualizzazione di dati a infrarossi

Tempo stimato per completare: 20min

Questo laboratorio fa parte di una serie di mani sui laboratori che ti insegnano come creare un Windows 8.Applicazione 1 Memorizza, utilizzando quasi tutte le funzionalità disponibili di Kinect 2. Questo è il secondo laboratorio della serie. In questo laboratorio imparerai come recuperare il mangime a infrarossi dal sensore Kinect e come presentare il feed in XAML come immagine.

  • Come aprire il lettore di frame a infrarossi sul sensore Kinect in codice.
  • Come ricevere il telaio a infrarossi quando è pronto.
  • Come convertire i dati del frame a infrarossi in una bitmap monocromatica
  • Come presentare la bitmap che cambia su XAML.
  • Come ottenere e presentare dati sullo stato e sulla risoluzione di Kinect 2.

Esercizio 1 – Visualizzazione del telaio a infrarossi

  1. Apri l’esistenza Campione di Kinect 2 Soluzione in Visual Studio o la copia che hai dalla fine del laboratorio precedente.
  2. Prima aprirai il Lettore di frame a infrarossi Al fine di recuperare i dati infrarossi dal sensore Kinect. Apri il Pagina principale.xaml.cs file da Esploratore di soluzioni. Il codice che scrivi imposterà il feed a infrarossi, gli eventi e i dati richiesti, prima di aprire il sensore Kinect. Quando Kinect inizia a consegnare frame, hai qualcosa che riceve l’input. Per spiegare il seguente codice qui è una descrizione delle variabili importanti:
    • InfradFramereader – Lettore per cornici a infrarossi
    • Infradframetata – Archiviazione intermedia per la ricezione dei dati del frame dal sensore
    • infraredpixels – Archiviazione intermedia per i dati del frame convertiti in pixel a colori per la visualizzazione
    • bitmap – Il WritibleBitmap che sostituirà il contenuto di un’immagine in XAML

Una nuova cornice viene ricevuta dal lettore di frame quando è pronto, di solito a circa 30 fotogrammi al secondo. Ogni frame arriva come dati a infrarossi per ogni pixel della risoluzione della fotocamera. Questi dati vengono convertiti in una gamma di colori in scala di grigi, negli infraredpixel. Quindi gli infraredpixel vengono utilizzati per scrivere su un oggetto bitmap.

Tutte queste variabili devono essere inizializzate con la dimensione appropriata, che è la dimensione del frame a infrarossi proveniente dal Kinect 2.

Per inizializzare correttamente queste variabili, copiare il codice evidenziato di seguito:

// . Altri spazi dei nomi Usando Windows.UI.Xaml.Media.Imaging; Spazio nomi Kinect2Sample < public sealed partial class MainPage : Page < // Size of the RGB pixel in the bitmap Private const int bytesperpixel = 4; Kinectsensor private Kinectsensor = null; Private WriteablebitMap BitMap = null; // frame a infrarossi private infraredFramereAder InfraredFrameReader = null; privato ushort [] infraredFrameData = null; byte privato [] infraredpixels = null; public mainPage () < // one sensor is currently supported this.kinectSensor = KinectSensor.GetDefault(); // get the infraredFrameDescription from the // InfraredFrameSource FramedAscription InfradFrameDescription = Questo.Kinectsensor.InfradFramesOurce.Framedscription; // Apri il lettore per i telai a infrarossi Questo.InfradFrameReader = Questo.Kinectsensor.InfradFramesOurce.OpenReader (); // gestore di filo per arrivo del telaio Questo.InfradFramereader.Framearrived += Questo.Reader_infrarDframeArrived; // Assegna lo spazio per mettere i pixel che venivano // ricevuti e convertiti Questo.InfradFrameData = Nuovo ushort [InfradFrameDscription.Larghezza * InfradFrameDescription.Altezza]; Questo.infraredpixels = Nuovo byte [InfradFramedScription.Larghezza * InfradFrameDescription.Altezza * bytesperpixel]; // crea la bitmap da visualizzare Questo.bitmap = New WriteablebitMap (InfradFrameDscription.Larghezza, InfradFrameDescription.Altezza); // Apri il sensore questo.Kinectsensor.Aprire(); Questo.InitializeComponent (); >>>

PUBBLICO CLASSA PARZIALE CLASSAGGIO DI PUBBLICA: PAGINA < // . Private void reader_infradframearrived (mittente oggetto, InfradFrameArriveDEventArgs E) < bool infraredFrameProcessed = false; // Infradframe è idisposabile Utilizzando (InfradFrame InfradFrame = e.Framereference.Acquisito ())  if (InfradFrame != null) < FramedAscription InfradFrameDescription = Infradframe.Framedscription; // Verifica i dati e scrivi i nuovi dati del frame a infrarossi // sulla bitmap di visualizzazione if (((InfradFramedScription.Larghezza * InfradFrameDescription.Altezza) == questo.Infradframetata.Lunghezza) && (InfradFrameDescription.Larghezza == Questo.bitmap.Pixelwidth) && (InfradFrameDescription.Altezza == Questo.bitmap.Pixelheight))  // Copia i dati pixel dall'immagine in A // Array temporaneo Infradframe.CopyFrameDataTaray ( Questo.infraredframetata); InfradFrameProcessed = true; > > > // Abbiamo ottenuto una cornice, converti e renderla if (infraredframeprocessed)  ConvertInfrarDDataPixels (); Renderpixelarray (questo.infraredpixels); > > >

PUBBLICO CLASSA PARZIALE CLASSAGGIO DI PUBBLICA: PAGINA < /// & ltsummary & gt /// il valore più alto che può essere restituito nell'infratena. /// è lanciato su un galleggiante per la leggibilità nel codice di visualizzazione. /// & lt/Summary & GT Private const float infraredSourceValueMaximum = (Float) Ushort.Maxvalue; /// & lt/Summary & GT /// utilizzato per impostare il limite inferiore, post elaborazione, del /// Dati a infrarossi che renderemo. /// L'aumento o la riduzione di questo valore imposta una luminosità /// "muro" più vicino o più lontano. /// & lt/Summary & GT const privato float infraredututputValueminimum = 0.01f; /// & ltsummary & gt /// il limite superiore, post elaborazione, del /// dati infrarossi che renderranno. /// & lt/Summary & GT const privato float infraredutputputValuemaximum = 1.0f; /// & ltsummary & gt /// Il valore InfraredScenevalueAverage specifica il /// Valore medio a infrarossi della scena. /// Questo valore è stato selezionato analizzando la media /// intensità pixel per una determinata scena. /// Questo potrebbe essere calcolato in fase di esecuzione per gestire diversi /// IR Condizioni di una scena (fuori vs all'interno). /// & lt/Summary & GT Private const float infraredscenevalueaverage = 0.08f; /// & ltsummary & gt /// Il valore InfraredScenestandardDeviations specifica /// il numero di deviazioni standard a cui applicare /// infraredscenevalueaverage. /// Questo valore è stato selezionato analizzando i dati da una determinata scena. /// Questo potrebbe essere calcolato in fase di esecuzione per gestire diversi /// IR Condizioni di una scena (fuori vs all'interno). /// & lt/Summary & GT Private const float infraredscenestandardDeviations = 3.0F; //. Seguono altre variabili private>

PUBBLICO CLASSA PARZIALE CLASSAGGIO DI PUBBLICA: PAGINA < // Reader_InfraredFrameArrived() before this. Vuoto privato convertInfrarDDataPixels () < // Converti l'infrarosso in RGB int colorPixelIndex = 0; per (int i = 0; i < this.infraredFrameData.Length; ++i) // normalizza i dati a infrarossi in arrivo (ushort) a // un galleggiante che va dall'infraredutputValueminimum // a infraredutputputvaluemaximum] // 1. dividendo il valore in arrivo per // Valore massimo della sorgente float intensyRatio = (float) questo.infraredframetata [i] / Infraredsourcevaluemaximum; // 2. dividendo per il // (valore medio della scena * Deviazioni standard) intensitàRatio /= Infraredscenevalueaverage * infraredscenestandarddeviations; // 3. limitare il valore a infrarteutputputvaluemaximum intensitàRatio = matematica.Min (InfraredOutputValueMaximum, intensitàRatio); // 4. Limitare il valore inferiore InfraredutputputValueMiMum intensitàRatio = matematica.Max (InfraredOutputValueMiMum, intensitàRatio); // 5. convertire il valore normalizzato in byte e usare // Il risultato come componenti RGB richiesti dall'immagine Intensità del byte = (byte) (intensità * 255.0f); Questo.infraredpixels [colorpixelindex ++] = intensità; //Blu Questo.infraredpixels [colorpixelindex ++] = intensità; //Verde Questo.infraredpixels [colorpixelindex ++] = intensità; //Rosso Questo.infraredpixels [colorpixelindex ++] = 255; //Alfa > > >

PUBBLICO CLASSA PARZIALE CLASSAGGIO DI PUBBLICA: PAGINA < // convertInfrarDDataPixels () prima di questo. private void renderpixelarray (byte [] pixel)  Pixel.Copia (questo.bitmap.Pixelbuffer); Questo.bitmap.Invalidate (); FramedisplayImage.Fonte = questo.bitmap; > >

& ltgrid background = "" & gt & ltgrid margin = "30" & gt & ltgrid.RowDefinitions & Gt & ltrowdefinition height = "70"/& gt & ltrowdefinition height = "*"/& gt & ltrowdefinition height = "100"/& gt & LT/GRID.RowDefinitions> & ltTextBlock Grid.Riga = "0" Style = "" Text = "Kinect per Windows 2"/> & ltimage x: name = "FrameDisplayImage" Grid.Riga = "1" Stretch = "uniform"/> & LT/GRID> & LT/GRID>

Immagine a infrarossi

Per divertimento, prova a spegnere le luci. La luce a infrarossi è invisibile per gli umani e quindi la fotocamera funziona anche nell’oscurità completa, questa è la base di come funziona la visione notturna.

  • Come compito opzionale, prova a modificare i valori const che sono stati impostati nel passaggio 4 di questo esercizio e vedi la differenza che fanno nell’output del frame risultante. Vedrai la profondità di visibilità e la luminosità della modifica dell’immagine a seconda di questi valori.
  • Lab 2: visualizzazione di dati a infrarossi

    Questo esercizio ti mostrerà come presentare utili dati di debug sull’attuale frame a infrarossi e anche sullo stato attuale di Kinect. Questo esercizio ti aiuterà a risolvere i problemi eventuali problemi con Kinect in seguito e per evidenziare la differenza di risoluzione tra i fotogrammi nei prossimi esercizi.

    Per recuperare e visualizzare i dati del frame da Kinect 2, seguire i passaggi seguenti:

    Immagine di configurazione

    1. In primo luogo, potresti aver notato che il progettista Quando la visualizzazione di XAML non è disponibile durante la costruzione per le architetture X64. Quello&rsquo;Sing perché Kinect 2 è anche compatibile con l’architettura X86, a cui puoi passare ora:
      1. Clic COSTRUIRE Poi Configuration Manager… per aprire il gestore della configurazione.
      2. Fai clic sulla casella a discesa sotto Soluzione attiva Piattaforma: e seleziona x86.
      3. Clic Vicino.
      4. Ora apri le proprietà del progetto facendo clic con il pulsante destro del mouse sul progetto Kinect2Sample nell’Explorer Solution, quindi facendo clic su Proprietà.
      5. Clicca il Costruire scheda a sinistra, poi accanto piattaforma: Selezionare x86 Dal discesa.
      6. Clic FILE, Poi Salva tutto o colpire Ctrl + shift + s Per salvare tutti i file.
      7. Costruire e correre L’applicazione per verificare gli errori.
    2. Le cose su cui dovresti concentrarti sono i stato di Kinect (se risponde o meno) e il Risoluzione corrente del frame (che è interessante ora, e più tardi quando il laboratorio cambia il tipo di frame). È abbastanza facile ottenere questi valori nel codice. Per abilitare l’XAML di legarsi ai valori di stato, se cambiano, è necessario implementare il Inotifyproperty -changed interfaccia nel Pagina principale classe. Quindi il codice licenzierà l’evento modificato della proprietà quando lo stato cambia e quando la descrizione del frame cambia. Per impostare questo, prima copiare il seguente codice evidenziato nelle sezioni pertinenti del Pagina principale Classe per inizializzare e utilizzare proprietà modificabili:

      Utilizzo del sistema.Componentmodel; Spazio nomi Kinect2Sample < public sealed partial class MainPage : Page, Inotifyproperty -changed < // . consts and other private variables. private KinectSensor kinectSensor = null; stringa privata statusText = null; Private WriteablebitMap BitMap = null; Framedscription privato CurrentFrameScription; // Variabili del frame a infrarossi. Evento pubblico PropertyChangedeventHandler Property Changed; String pubblico StatusText  Ottenere impostato  se questo.StatusText != valore)  Questo.statusText = value; se questo.Cambiata di proprietà != null)  Questo.Proprietà Changed (questo, nuovo PropertyChangeDEventArgs ("StatusText")); > > > > Framedscription pubblico CurrentFrameScription  Ottenere impostato  se questo. CurrentFrameDescription!= valore)  Questo. CurrentFrameDescription = value; se questo.Cambiata di proprietà != null)  Questo.Proprietà Changed (questo, nuovo PropertyChangeDEventArgs ("CurrentFrameDescription")); > > > > // . >>

      public mainPage () < // . // create the bitmap to display this.bitmap = new WriteableBitmap(infraredFrameDescription.Width, infraredFrameDescription.Height); Questo.CurrentFrameDescription = InfradFrameDescription; // Imposta Notificer per eventi isavailablechanged Questo.Kinectsensor.Isavailablechanged += Questo.Sensor_isavailablechanged; // usa l'oggetto finestra come modello di visualizzazione in questo esempio Questo.DataContext = this; // Apri il sensore questo.Kinectsensor.Aprire(); Questo.InitializeComponent (); > privato void sensor_isavailablechanged (mittente Kinectsensor, ISAVailableChangeDEventargs Args)  Questo.StatusText = this.Kinectsensor.È disponibile ? "Running": "non disponibile"; > 

      & ltTextBlock Grid.Row = "0" style = "" text = "kinect per Windows 2"/& gt & ltStackPanel Grid.Row = "0" orientamento = "orizzontale" HorizontalaLalignment = "Right" VerticaLalignment = "Bottom" & GT & ltTextBlock text = "Kinect Status:"/& gt & ltTextBlock text = ""/& gt & ltTextBlock text = ", framewidth"/& gt & ltTextBlock text = ", frameHeight"/& gt & lt/stackpanel & gt & ltimage x: name = "FrameDisplayImage" Grid.Row = "1" Stretch = "uniform"/& gt

      Costruisci immagine

      Prova a scollegare Kinect e vedere il cambiamento di stato. Quindi se si collega il Kinect, lo stato si aggiornerà e il feed tornerà.

      Riepilogo

      Questo laboratorio ti ha insegnato come Recupera e usa un frame a infrarossi dal dispositivo Kinect 2 e Usa quei dati del frame per creare una bitmap visibile essere Visualizzato in XAML.

      È interessante notare che la maggior parte di questo processo è manuale. I dati dal Infradframe non è utilizzabile fino a quando non&rsquo;s convertito in una bitmap. Questo è in fase di progettazione in quanto ci sono molti usi della luce a infrarossi oltre a convertirla in un’immagine visibile. Kinect 2 utilizza la telecamera a infrarossi per calcolare i corpi e le forme note in condizioni di scarsa illuminazione. Ecco perché la risoluzione del frame a infrarossi è così bassa: corrisponde alla risoluzione vista dal frame di profondità per calcolare ciò che è ed non è&rsquo;t una persona.

      Nel prossimo laboratorio, vedrai la differenza di risoluzione tra ColorFrame e Infradframe ora che hai visualizzato i dati del frame in XAML.

      È disponibile un codice che è la soluzione di codice completata del lavoro in questo laboratorio. Il prossimo laboratorio inizierà da questo codice.

    Kindle funziona su Windows 10 האם לאבטחת האינטרנט של קספרסקי יש כסף בטוח?

    Related Posts

    Notizia

    Vinyl suona bene su Sonos

    Notizia

    Fa Epson 4700 Print Cardstock

    Notizia

    Le cuffie ad alto volume di volume

    banner
    banner

    PROMO

    racavedigger.com
    © racavedigger.com 2026