Namespace easyar
Classi
- Accelerometer
Accelerometer chiama l'accelerometro fornito dal sistema, output AccelerometerResult. Quando il dispositivo non è più necessario, puoi chiamare close per chiuderlo. Dopo close, non dovrebbe essere più utilizzato. Non è consigliato aprirlo più volte contemporaneamente, potrebbe diventare inutilizzabile o la precisione potrebbe diminuire.
- AccelerometerResult
Lettura dell'accelerometro. La direzione positiva dell'asse x va dal centro del dispositivo alla parte destra dello schermo. La direzione positiva dell'asse y va dal centro del dispositivo alla parte superiore dello schermo. La direzione positiva dell'asse z va dal centro del dispositivo perpendicolarmente allo schermo verso l'esterno. Le unità per x, y, z sono m/s^2. L'unità per il timestamp è secondi.
- AccelerometerResultSink
Porta di ingresso dei risultati dell'accelerometro. Utilizzato per esporre una porta di ingresso di un componente. Tutti i membri di questa classe sono thread-safe.
- AccelerometerResultSource
Porta di uscita dei risultati dell'accelerometro. Utilizzata per esporre una porta di uscita di un componente. Tutti i membri di questa classe sono thread-safe.
- ARCoreCameraDevice
ARCoreCameraDevice implementa un dispositivo fotocamera basato su ARCore, che emette InputFrame (contenente immagini, parametri della fotocamera, timestamp, informazioni sulla posizione 6DOF e stato di tracciamento). Per utilizzarlo, è necessario caricare prima libarcore_sdk_c.so utilizzando java.lang.System.loadLibrary. Dopo la creazione, è possibile chiamare start/stop per avviare e interrompere l'acquisizione dei dati del flusso video. Quando il dispositivo non è più necessario, chiamare close per chiuderlo. Dopo la chiusura non deve più essere utilizzato. ARCoreCameraDevice emette InputFrame tramite inputFrameSource; inputFrameSource deve essere collegato a un InputFrameSink per l'utilizzo. bufferCapacity indica la capacità del buffer di InputFrame. Se vengono emessi da questo dispositivo più InputFrame di questo numero e non vengono rilasciati, il dispositivo cesserà di emettere nuovi InputFrame finché quelli precedenti non saranno rilasciati. Ciò potrebbe causare problemi come il congelamento dello schermo. Nota: l'implementazione corrente di ARCore (v1.13.0) presenta una perdita di memoria durante la creazione e la distruzione della sessione. Creazioni e distruzioni ripetute porteranno a un aumento continuo dell'utilizzo della memoria e la memoria non verrà liberata dopo la distruzione.
- ARCoreDeviceListDownloader
ARCoreDeviceListDownloader è utilizzato per scaricare e aggiornare i parametri di calibrazione della lista dei dispositivi utilizzati in ARCoreCameraDevice.
- ARKitCameraDevice
ARKitCameraDevice implementa un dispositivo camera basato su ARKit, che emette InputFrame (contenente immagini, parametri della camera, timestamp, informazioni sulla posizione 6DOF e stato di tracciamento). Dopo la creazione, è possibile chiamare start/stop per iniziare e fermare la raccolta dei dati del flusso video. Quando il dispositivo non è più necessario, è possibile chiamare close per chiuderlo. Dopo close, non dovrebbe essere più utilizzato. ARKitCameraDevice emette InputFrame tramite inputFrameSource, e inputFrameSource dovrebbe essere collegato a InputFrameSink per l'uso. bufferCapacity indica la capacità del buffer InputFrame. Se vengono emessi più InputFrame da questo dispositivo e non vengono rilasciati, il dispositivo smetterà di emettere nuovi InputFrame finché quelli precedenti non vengono rilasciati. Ciò potrebbe causare problemi come il blocco dello schermo.
- AttitudeSensor
AttitudeSensor utilizza il sensore di assetto fornito dal sistema, output AttitudeSensorResult. Quando il dispositivo non è più necessario, è possibile chiamare close per chiuderlo. Dopo close, non dovrebbe essere più utilizzato. Non è consigliato aprirlo più volte contemporaneamente, potrebbe diventare inutilizzabile o la precisione potrebbe diminuire.
- AttitudeSensorResult
Letture del sensore di assetto. La direzione positiva dell'asse x va dal centro del dispositivo verso la destra dello schermo. La direzione positiva dell'asse y va dal centro del dispositivo verso la parte superiore dello schermo. La direzione positiva dell'asse z va dal centro del dispositivo perpendicolarmente verso l'esterno dello schermo. Il dispositivo ha ruotato di un angolo θ attorno agli assi (x, y, z). Il quaternione unitario di rotazione è (cos(θ/2), xsin(θ/2), ysin(θ/2), zsin(θ/2)). (v0, v1, v2, v3) = (cos(θ/2), xsin(θ/2), ysin(θ/2), zsin(θ/2)). Il sistema di riferimento è definito come una base ortonormale orientata dove
Z punta verso il cielo, parallelo al suolo. (X, Y, Z) forma un sistema destrorso.L'unità di timestamp è in secondi.
- AttitudeSensorResultSink
Porta di ingresso per i risultati del sensore di assetto. Utilizzata per esporre una porta di ingresso di un componente. Tutti i membri di questa classe sono thread-safe.
- AttitudeSensorResultSource
Porta di uscita dei risultati del sensore di assetto. Utilizzata per esporre una porta di uscita di un componente. Tutti i membri di questa classe sono thread-safe.
- BlockInfo
Il modello ottenuto dalla ricostruzione densa è rappresentato da una mesh triangolare, chiamata mesh. Poiché la mesh viene aggiornata frequentemente, per garantire efficienza, l'intera mesh del modello di ricostruzione è suddivisa in numerosissimi mesh block. Un mesh block è composto da un cubo con lato di circa 1 metro, contenente elementi come vertici e indici. BlockInfo descrive il contenuto di un mesh block. Le coordinate (x,y,z) sono gli indici del mesh block; moltiplicando (x,y,z) per le dimensioni fisiche di ciascun mesh block si ottengono le coordinate dell'origine del mesh block nel sistema di coordinate mondiale. È possibile filtrare in anticipo le parti da visualizzare tramite la posizione del mesh block nel mondo, per risparmiare tempo di rendering.
- BlockPriorResult
Informazioni sulla mappa a priori. blockIds sono gli ID della mappa. mode è la modalità in cui le informazioni a priori vengono utilizzate dal sistema, che può essere soft o hard. Riferimento BlockPriorMode.
- Buffer
Buffer memorizza un array di byte grezzi, utilizzabile per accedere ai dati dell'immagine. Nelle API Java, puoi ottenere il buffer da Image e copiare i dati in un array di byte Java. In tutte le versioni di EasyAR Sense, puoi accedere ai dati dell'immagine. Consulta Image.
- BufferDictionary
Una mappatura da percorsi di file a Buffer. Utilizzata per rappresentare più file caricati in memoria.
- BufferPool
BufferPool implementa un pool di memoria utilizzabile per funzioni come l'accesso personalizzato alla fotocamera che richiedono ripetute allocazioni di memoria della stessa dimensione, riducendo i tempi di allocazione.
- CalibrationDownloader
CalibrationDownloader è utilizzato per scaricare aggiornamenti dei parametri di calibrazione utilizzati in MotionTracker. Dopo il download, è necessario ricreare MotionTracker affinché funzioni.
- CallbackScheduler
Scheduler di callback. Ci sono due sottoclassi DelayedCallbackScheduler e ImmediateCallbackScheduler. Di cui DelayedCallbackScheduler è utilizzato per posticipare la chiamata di callback fino a quando viene chiamata manualmente, può essere utilizzato in ambienti a thread singolo (come vari ambienti UI). ImmediateCallbackScheduler è utilizzato per eseguire immediatamente la callback, può essere utilizzato in ambienti multithread (come server o servizi in background).
- CameraDevice
CameraDevice implementa un dispositivo camera,che emette InputFrame (contiene immagini,parametri della camera e timestamp).Disponibile su Windows,Mac,Android e iOS. Dopo l'apertura,è possibile chiamare start/stop per iniziare e interrompere l'acquisizione dei dati.start/stop non influisce sui parametri della camera impostati in precedenza. Quando il dispositivo non è più necessario,è possibile chiamare close per chiuderlo.Dopo close,non dovrebbe essere più utilizzato. CameraDevice emette InputFrame tramite inputFrameSource;inputFrameSource dovrebbe essere collegato a InputFrameSink per l'uso. bufferCapacity indica la capacità del buffer per InputFrame;se vengono emessi più InputFrame da questo dispositivo e non vengono rilasciati,il dispositivo non emetterà nuovi InputFrame finché quelli precedenti non vengono rilasciati.Ciò potrebbe causare problemi come il blocco dello schermo. Su Android,è necessario dichiarare il permesso android.permission.CAMERA in AndroidManifest.xml. Su iOS,è necessario dichiarare il permesso NSCameraUsageDescription in Info.plist.
- CameraDeviceSelector
Per scegliere l'API della fotocamera su Android (camera1 o camera2). camera1 ha una migliore compatibilità, ma manca di alcune informazioni necessarie, come il timestamp. camera2 ha problemi di compatibilità su alcuni dispositivi. Le diverse opzioni sceglieranno camera1 o camera2 in base all'uso.
- CameraParameters
Parametri della fotocamera, incluse dimensioni dell'immagine, lunghezza focale, punto principale, tipo di fotocamera e angolo di rotazione della fotocamera rispetto all'orientamento naturale del dispositivo.
- CloudLocalizer
CloudLocalizer realizza la funzione di localizzazione cloud.
- CloudLocalizerBlockInstance
L'istanza del blocco localizzata da CloudLocalizer.
- CloudRecognizer
CloudRecognizer implementa la funzionalità di riconoscimento cloud. Per utilizzare la funzione di riconoscimento cloud, è necessario creare una galleria di immagini per il riconoscimento cloud sul cloud. Fare riferimento alla documentazione di EasyAR CRS. Quando il componente non è più necessario, è possibile chiamare close per chiuderlo. Dopo la chiusura, non dovrebbe essere più utilizzato. Prima di utilizzare CloudRecognizer, è necessario impostare e preparare un ImageTracker. Qualsiasi target restituito deve essere caricato manualmente nell'ImageTracker utilizzando loadTarget prima di essere tracciato. Dopo il caricamento, il riconoscimento e il tracking del target sono identici all'utilizzo di target locali. Dopo che un target è stato riconosciuto, puoi ottenerlo dalla callback, quindi dovresti utilizzare l'UID del target per distinguere tra target diversi. Il runtimeID del target è generato dinamicamente e non è adatto come identificatore unico per i target nello scenario di riconoscimento cloud.
- DelayedCallbackScheduler
Pianificatore di callback ritardati. Utilizzato per posticipare i callback fino a quando non vengono richiamati manualmente, può essere utilizzato in ambienti a thread singolo (come vari ambienti UI). Tutti i membri di questa classe sono thread-safe.
- DenseSpatialMap
DenseSpatialMap viene utilizzato per la ricostruzione tridimensionale densa e accurata dell'ambiente. Il modello ricostruito è rappresentato da una mesh triangolare, chiamata mesh. DenseSpatialMap occupa 1 buffer della camera.
- EventDumpRecorder
Registratore di dump di eventi. Utilizzato per salvare alcune informazioni diagnostiche critiche in un file EED. Tutti i membri di questa classe sono thread-safe.
- FeedbackFrame
Frame di feedback. Contiene un frame di input e un frame di output storico, utilizzato per componenti di elaborazione sincrona di feedback come ImageTracker.
- FeedbackFrameFork
Divisore di frame di feedback. Utilizzato per trasmettere un frame di feedback in parallelo a più componenti. Tutti i membri di questa classe sono thread-safe.
- FeedbackFrameSink
Porta di ingresso del frame di feedback. Utilizzato per esporre una porta di ingresso di un componente. Tutti i membri di questa classe sono thread-safe.
- FeedbackFrameSource
Porta di uscita del frame di feedback. Utilizzato per esporre la porta di uscita di un componente. Tutti i membri di questa classe sono thread-safe.
- FrameFilterResult
FrameFilterResult è la classe base per tutti i risultati che utilizzano componenti di algoritmo sincrono.
- Gyroscope
Gyroscope utilizza il giroscopio fornito dal sistema, output GyroscopeResult. Quando il dispositivo non è più necessario, è possibile chiamare close per chiuderlo. Dopo close, non dovrebbe essere continuato a usare. Non è consigliato aprirlo più volte contemporaneamente, potrebbe non funzionare o la precisione potrebbe diminuire.
- GyroscopeResult
Lettura del giroscopio. La direzione positiva dell'asse-x va dal centro del dispositivo verso il lato destro dello schermo. La direzione positiva dell'asse-y va dal centro del dispositivo verso la parte superiore dello schermo. La direzione positiva dell'asse-z va dal centro del dispositivo verso l'esterno perpendicolarmente allo schermo. x, y, z indicano la velocità angolare di rotazione attorno al rispettivo asse, in radianti al secondo. La direzione di rotazione positiva è antioraria quando si guarda il dispositivo da un punto sull'asse positivo. L'unità per il timestamp è secondi.
- GyroscopeResultSink
Porta di ingresso del risultato del giroscopio. Utilizzato per esporre una porta di ingresso di un componente. Tutti i membri di questa classe sono thread-safe.
- GyroscopeResultSource
Porta di uscita dei risultati del giroscopio. Utilizzato per esporre una porta di uscita di un componente. Tutti i membri di questa classe sono thread-safe.
- Image
Image memorizza i dati dell'immagine, utilizzati per rappresentare l'immagine in memoria. Image fornisce accesso ai dati originali sotto forma di array di byte, oltre a un'interfaccia per accedere a informazioni come width/height. In tutte le versioni di EasyAR Sense, puoi accedere ai dati dell'immagine. Su iOS, puoi accedervi in questo modo
#import <easyar/buffer.oc.h> #import <easyar/image.oc.h> easyar_OutputFrame * outputFrame = [outputFrameBuffer peek]; if (outputFrame != nil) { easyar_Image * i = [[outputFrame inputFrame] image]; easyar_Buffer * b = [i buffer]; char * bytes = calloc([b size], 1); memcpy(bytes, [b data], [b size]); // use bytes here free(bytes); }Su Android,
import cn.easyar.*; OutputFrame outputFrame = outputFrameBuffer.peek(); if (outputFrame != null) { InputFrame inputFrame = outputFrame.inputFrame(); Image i = inputFrame.image(); Buffer b = i.buffer(); byte[] bytes = new byte[b.size()]; b.copyToByteArray(0, bytes, 0, bytes.length); // use bytes here b.dispose(); i.dispose(); inputFrame.dispose(); outputFrame.dispose(); }
- ImageHelper
Classe helper per immagini.
- ImageTarget
ImageTarget rappresenta il target di un'immagine piana, che può essere tracciato da ImageTracker. I valori all'interno di ImageTarget devono essere popolati tramite metodi come create... prima di poter essere letti. Successivamente, dopo essere stati caricati con successo in ImageTracker tramite loadTarget, possono essere rilevati e tracciati da ImageTracker.
- ImageTargetParameters
ImageTargetParameters rappresenta i parametri necessari per creare ImageTarget.
- ImageTracker
ImageTracker implementa il rilevamento e il tracking di carte piane. ImageTracker occupa (1 + SimultaneousNum) buffer della camera. Dovrebbe usare setBufferCapacity della camera per impostare un numero di buffer della camera non inferiore a quello occupato da tutti i componenti. Dopo la creazione, è possibile chiamare start/stop per iniziare e fermare l'esecuzione; start/stop sono chiamate molto leggere. Quando il componente non è più necessario, è possibile chiamare close per chiuderlo. Dopo close, non dovrebbe essere più utilizzato. ImageTracker riceve input tramite feedbackFrameSink FeedbackFrame; FeedbackFrameSource dovrebbe essere connesso a feedbackFrameSink per l'uso. Prima che Target possa essere tracciato da ImageTracker, è necessario caricarlo tramite loadTarget/unloadTarget. È possibile ottenere i risultati di load/unload tramite callback dell'interfaccia.
- ImageTrackerConfig
ImageTracker crea configurazione.
- ImageTrackerResult
ImageTracker il risultato di.
- ImmediateCallbackScheduler
Scheduler di callback immediato. Utilizzato per eseguire immediatamente le callback, può essere utilizzato in ambienti multithread, come server o servizi in background. Tutti i membri di questa classe sono thread-safe.
- InertialCameraDevice
InertialCameraDevice implementa un dispositivo camera basato sull'inerzia del movimento, emette CameraTransformType come FiveDofRotXZ e InputFrame (contiene immagine, parametri camera, timestamp, matrice di trasformazione della posa e stato di tracciamento). Dopo la creazione, puoi chiamare start/stop per iniziare e fermare la raccolta dei dati del flusso video. Quando il dispositivo non è più necessario, puoi chiamare close per chiuderlo. Dopo close, non dovrebbe essere più utilizzato. InertialCameraDevice emette InputFrame tramite inputFrameSource, inputFrameSource dovrebbe essere connesso a InputFrameSink per l'uso. bufferCapacity indica la capacità del buffer InputFrame, se vengono emessi più di questo numero di InputFrame dal dispositivo e non vengono rilasciati, il dispositivo non emetterà nuovi InputFrame finché quelli precedenti non vengono rilasciati. Questo può causare problemi come immagini bloccate.
- InputFrame
Frame di input. Contiene immagini, parametri della camera, timestamp, trasformazione della camera rispetto al sistema di coordinate mondiale e stato di tracciamento. Tra questi, i parametri della camera, il timestamp, la trasformazione della camera rispetto al sistema di coordinate mondiale e lo stato di tracciamento sono opzionali, ma specifici componenti algoritmici possono avere requisiti specifici per l'input.
- InputFrameFork
Divisore di frame di ingresso. Utilizzato per trasmettere un frame di ingresso in parallelo a più componenti. Tutti i membri di questa classe sono thread-safe.
- InputFramePlayer
Player di frame di input. C'è una porta di uscita per frame di input per estrarre frame di input da file EIF. Tutti i membri di questa classe sono thread-safe.
- InputFrameRecorder
Registratore di frame di input. C'è una porta di input per i frame di input e una porta di output per i frame di input, utilizzata per salvare i frame di input passati in un file EIF. Tutti i membri di questa classe sono thread-safe.
- InputFrameSink
Porta di ingresso del frame di input. Utilizzato per esporre una porta di ingresso di un componente. Tutti i membri di questa classe sono thread-safe.
- InputFrameSource
Porta di uscita del frame di input. Utilizzata per esporre una porta di uscita di un componente. Tutti i membri di questa classe sono thread-safe.
- InputFrameThrottler
Limitatori di frame di input. C'è una porta di input per i frame di input e una porta di output per i frame di input, utilizzato per impedire a nuovi frame di input di entrare nel componente algoritmico quando non ha completato l'elaborazione del frame di dati precedente. InputFrameThrottler occupa 1 buffer della fotocamera. Dovrebbe essere utilizzato setBufferCapacity della fotocamera per impostare un numero di buffer non inferiore a quello occupato da tutti i componenti. Tutti i membri di questa classe sono thread-safe. È importante notare che la connessione e la disconnessione del suo signalInput non dovrebbero essere eseguite mentre ci sono dati in entrata, altrimenti potrebbe bloccarsi in uno stato in cui non può emettere output. (Si consiglia di completare la connessione del flusso di dati prima di avviare la fotocamera.)
- InputFrameToFeedbackFrameAdapter
Adattatore da frame di input a frame di feedback. Dispone di una porta di input per il frame di input, una porta di input per il frame di output storico e una porta di output per il frame di feedback, che combina il frame di input e il frame di output storico in un frame di feedback da passare a componenti algoritmici che richiedono un frame di feedback, come ImageTracker. Ad ogni frame di input in ingresso, viene combinato con l'ultimo frame di output storico per generare il frame di feedback. Se non è mai stato fornito un frame di output storico, la parte storica nel frame di feedback sarà vuota. InputFrameToFeedbackFrameAdapter occupa 1 buffer della camera. La capacità del buffer della camera, impostata con camera.setBufferCapacity, dovrebbe essere non inferiore alla somma dei buffer occupati da tutti i componenti. Tutti i membri di questa classe sono thread-safe.
- InputFrameToOutputFrameAdapter
Adattatore da frame di input a frame di output. C'è una porta di input per frame di input e una porta di output per frame di output, utilizzata per incapsulare il frame di input in un frame di output, realizzando la funzionalità di rendering diretto senza collegare componenti algoritmici. Tutti i membri di questa classe sono thread-safe.
- JniUtility
Classe di utilità JNI. Utilizzata per incapsulare gli array e ByteBuffer di Java in Unity. Non supporta la piattaforma iOS.
- LocationResult
Lettura della posizione. latitude, longitude unità in gradi. altitude unità in metri. horizontalAccuracy è la precisione orizzontale, unità in metri. verticalAccuracy è la precisione verticale, unità in metri.
- LocationResultSink
Porta di ingresso del risultato di posizione. Utilizzato per esporre una porta di ingresso di un componente. Tutti i membri di questa classe sono thread-safe.
- LocationResultSource
Porta di uscita del risultato di posizionamento. Utilizzata per esporre una porta di uscita di un componente. Tutti i membri di questa classe sono thread-safe.
- Log
Classe di log. Utilizzata per registrare log o impostare una funzione di output log personalizzata.
- Magnetometer
Magnetometer chiama il magnetometro fornito dal sistema, emette MagnetometerResult. Quando il dispositivo non è più necessario, è possibile chiamare close per chiuderlo. Dopo close, non dovrebbe essere più utilizzato. Non è consigliabile aprirlo più volte contemporaneamente, potrebbe diventare inutilizzabile o la precisione potrebbe diminuire.
- MagnetometerResult
Lettura del magnetometro. L'asse x positivo punta dal centro del dispositivo alla destra dello schermo. L'asse y positivo punta dal centro del dispositivo alla parte superiore dello schermo. L'asse z positivo punta dal centro del dispositivo verso l'esterno, perpendicolarmente allo schermo. Le unità per x, y, z sono uT(microtesla). L'unità per il timestamp è secondi.
- MagnetometerResultSink
Porta di ingresso per i risultati del magnetometro. Utilizzato per esporre una porta di ingresso di un componente. Tutti i membri di questa classe sono thread-safe.
- MagnetometerResultSource
Porta di uscita dei risultati del magnetometro. Utilizzata per esporre una porta di uscita di un componente. Tutti i membri di questa classe sono thread-safe.
- Matrix33F
matrice quadrata di terzo ordine. I dati sono disposti in modo row-major.
- Matrix44F
Matrice quadrata di quarto ordine. I dati sono disposti in row-major.
- MegaLandmarkFilter
MegaLandmarkFilter implementa la funzione di filtraggio del posizionamento cloud VPS.
- MegaTracker
Fornisce la funzione di localizzazione cloud. MegaTracker occupa 1 buffer della camera.
- MegaTrackerBlockInstance
Istanza del block localizzato da MegaTracker.
- MegaTrackerLocalizationResponse
MegaTracker risposta alla richiesta di localizzazione.
- MegaTrackerResult
L'output di MegaTracker verrà aggiornato alla frequenza di OutputFrame.
- MotionInputData
Dati di input di movimento. Contiene timestamp, trasformazione rispetto al sistema di coordinate mondiale e stato di tracciamento.
- MotionTrackerCameraDevice
MotionTrackerCameraDevice implementa un dispositivo fotocamera con tracciamento del movimento 6DOF a scala reale, che emette InputFrame (inclusa immagine, parametri della fotocamera, timestamp, informazioni sulla posizione 6DOF e stato di tracciamento). Dopo la creazione, è possibile chiamare start/stop per avviare e interrompere il flusso di dati. Quando il dispositivo non è più necessario, chiamare close per chiuderlo. Dopo close non dovrebbe essere più utilizzato. MotionTrackerCameraDevice emette InputFrame tramite inputFrameSource; inputFrameSource deve essere collegato a InputFrameSink per l'utilizzo.
- ObjectTarget
ObjectTarget rappresenta un target di oggetto 3D, che può essere tracciato da ObjectTracker. Le dimensioni di ObjectTarget sono determinate dal file
obj. È possibile modificarescaleper cambiare le dimensioni.scaleè impostato predefinitamente a 1. ObjectTarget può essere rilevato e tracciato da ObjectTracker dopo essere stato caricato con successo tramite loadTarget in ObjectTracker.
- ObjectTargetParameters
ObjectTargetParameters rappresenta i parametri necessari per creare ObjectTarget.
- ObjectTracker
ObjectTracker implementa il rilevamento e il tracking di target 3D object. ObjectTracker occupa buffer di (1 + SimultaneousNum) fotocamere. Impostare la capacità del buffer della fotocamera con setBufferCapacity non inferiore al numero totale di buffer occupati da tutti i componenti. Dopo la creazione, è possibile chiamare start/stop per avviare e interrompere l'esecuzione. start/stop sono chiamate molto leggere. Quando il componente non è più necessario, chiamare close per chiuderlo. Dopo close, non dovrebbe essere più utilizzato. ObjectTracker riceve input tramite feedbackFrameSink da FeedbackFrame. Collegare FeedbackFrameSource a feedbackFrameSink per l'utilizzo. Prima che un Target possa essere tracciato da ObjectTracker, è necessario caricarlo tramite loadTarget/unloadTarget. Il risultato del caricamento/scaricamento può essere ottenuto tramite callback passate nell'interfaccia.
- ObjectTrackerResult
ObjectTracker il risultato di.
- OutputFrame
Frame di output. Contiene i risultati del frame di input e dei componenti di elaborazione sincrona.
- OutputFrameBuffer
Buffer di frame di output. C'è una porta di input per il frame di output e una funzione per ottenere il frame di output, utilizzata per convertire il modo di acquisizione del frame di output da asincrono a polling sincrono, adatto per il rendering frame by frame. OutputFrameBuffer occupa 1 buffer della camera. Dovrebbe essere utilizzata la funzione setBufferCapacity della camera per impostare un numero non inferiore al numero di buffer della camera occupati da tutti i componenti. Tutti i membri di questa classe sono thread-safe.
- OutputFrameFork
Splitter di frame di output. Utilizzato per trasmettere un frame di output in parallelo a più componenti. Tutti i membri di questa classe sono thread-safe.
- OutputFrameJoin
Output Frame Combiner. Utilizzato per unire i frame di output di più componenti in un unico frame di output. Tutti i membri di questa classe sono thread-safe. Si consiglia di non connettere o disconnettere più input mentre scorrono i dati, altrimenti potrebbe entrare in uno stato di non output. (Si raccomanda di completare la connessione del flusso dati prima di avviare la Camera.)
- OutputFrameSink
Porta di ingresso del frame di uscita. Utilizzato per esporre una porta di ingresso di un componente. Tutti i membri di questa classe sono thread-safe.
- OutputFrameSource
Porta di uscita del frame di output. Utilizzata per esporre una porta di output del componente. Tutti i membri di questa classe sono thread-safe.
- ProximityLocationResult
Lettura di posizione vicina. x, y, z in metri. L'origine è l'origine del tile della mappa. y verso l'alto. accuratezza in metri. timestamp e validTime in secondi. is2d indica se y non è utilizzato.
- ProximityLocationResultSink
Porta di ingresso per i risultati della posizione prossimale. Utilizzato per esporre una porta di ingresso di un componente. Tutti i membri di questa classe sono thread-safe.
- ProximityLocationResultSource
Porta di uscita per i risultati di posizione vicina. Utilizzata per esporre una porta di uscita di un componente. Tutti i membri di questa classe sono thread-safe.
- Recorder
Recorder implementa la funzionalità di registrazione dello schermo per l'ambiente di rendering corrente. Attualmente Recorder funziona solo su Android (4.3 o successivi) e in ambienti iOS con OpenGL ES 3.0. A causa della dipendenza da OpenGLES, tutte le funzioni di questa classe (eccetto requestPermissions, incluso il distruttore) devono essere chiamate in un singolo thread contenente il contesto OpenGLES. Solo Unity In Unity, se si utilizza la funzionalità Multi-threaded rendering, il thread dello script sarà separato dal thread di rendering, rendendo impossibile chiamare updateFrame sul thread di rendering. Pertanto, se è necessario utilizzare la registrazione dello schermo, disabilitare la funzionalità Multi-threaded rendering. Su Android è necessario dichiarare il permesso android.permission.RECORD_AUDIO in AndroidManifest.xml. Su iOS è necessario dichiarare il permesso NSMicrophoneUsageDescription in Info.plist.
- RecorderConfiguration
RecorderConfiguration è la configurazione di avvio per Recorder.
- SignalSink
Porta di ingresso del segnale. Utilizzato per esporre una porta di ingresso di un componente. Tutti i membri di questa classe sono thread-safe.
- SignalSource
Porta di uscita del segnale. Utilizzata per esporre una porta di uscita di un componente. Tutti i membri di questa classe sono thread-safe.
- SparseSpatialMap
Fornisce le funzioni principali del sistema SparseSpatialMap: generazione e archiviazione della mappa, caricamento e localizzazione della mappa. Consente inoltre di acquisire informazioni ambientali come nuvole di punti, piani ed eseguire hitTest. SparseSpatialMap occupa 2 buffer della camera. Utilizzare setBufferCapacity della camera per impostare una capacità non inferiore al numero totale di buffer della camera occupati da tutti i componenti.
- SparseSpatialMapConfig
Per configurare la strategia di localizzazione nella mappatura sparsa.
- SparseSpatialMapManager
Classe di gestione di SparseSpatialMap, utilizzata per gestire la funzione di condivisione di SparseSpatialMap.
- SparseSpatialMapResult
Ottiene l'output del sistema di mappatura sparsa e localizzazione, che viene aggiornato alla frequenza di OutputFrame.
- SurfaceTracker
SurfaceTracker implementa il tracciamento delle superfici ambientali. SurfaceTracker occupa 1 buffer della camera. Dovrebbe essere utilizzato setBufferCapacity della camera per impostare un numero di buffer della camera non inferiore a quello occupato da tutti i componenti. Dopo la creazione, è possibile chiamare start/stop per avviare e fermare l'esecuzione; start/stop sono chiamate molto leggere. Quando il componente non è più necessario, è possibile chiamare close per chiuderlo. Dopo close, non dovrebbe essere più utilizzato. SurfaceTracker riceve input tramite inputFrameSink InputFrame, e InputFrameSource dovrebbe essere collegato a inputFrameSink per l'uso.
- SurfaceTrackerResult
SurfaceTracker il risultato di.
- Target
Target è la classe base in EasyAR per tutti gli obiettivi che possono essere tracciati da ImageTracker o da altri algoritmi.
- TargetInstance
TargetInstance è il target tracciato dal tracker. Include il Target originale che è stato tracciato e lo stato e la posa attuali di questo Target.
- TargetTrackerResult
TargetTrackerResult è la classe base per ImageTrackerResult e ObjectTrackerResult.
- TextureId
TextureId incapsula l'oggetto texture nelle API grafiche. Per OpenGL/OpenGLES, utilizzare getInt e fromInt; per Direct3D, utilizzare getPointer e fromPointer.
- ThreeDofCameraDevice
ThreeDofCameraDevice implementa un dispositivo camera a tre-dof, che emette CameraTransformType come ThreeDofRotOnly InputFrame (che include immagini, parametri della camera, timestamp, matrice di trasformazione della posa e stato di tracciamento). Dopo la creazione, è possibile chiamare start/stop per iniziare e interrompere la raccolta dei dati del flusso video. Quando il dispositivo non è più necessario, è possibile chiamare close per chiuderlo. Dopo close, non dovrebbe essere più utilizzato. ThreeDofCameraDevice emette InputFrame tramite inputFrameSource, e inputFrameSource dovrebbe essere collegato a InputFrameSink per l'uso. bufferCapacity indica la capacità del buffer InputFrame, se vengono emessi più InputFrame da questo dispositivo e non vengono rilasciati, il dispositivo non emetterà nuovi InputFrame finché i precedenti non saranno rilasciati. Ciò può causare problemi come il blocco dell'immagine.
- Vec2F
vettore float bidimensionale.
- Vec2I
vettore bidimensionale di interi.
- Vec3D
vettore double tridimensionale.
- Vec3F
Vettore float tridimensionale.
- Vec4F
Vettore float quadridimensionale.
- Vec4I
vettore intero quadridimensionale.
- VideoInputFramePlayer
Lettore di frame di input. Ha una porta di output per i frame di input, utilizzata per estrarre frame di input da file EIF MKV. Tutti i membri di questa classe sono thread-safe.
- VideoInputFrameRecorder
Registratore di frame di input. Ha una porta di input per i frame di input e una porta di output per i frame di input, utilizzata per salvare i frame di input passati in un file EIF MKV. Tutti i membri di questa classe sono thread-safe.
- VideoPlayer
VideoPlayer è la classe per la riproduzione video. EasyAR supporta la riproduzione di video normali, video trasparenti e streaming. Il contenuto video verrà renderizzato sulla texture passata a setRenderTexture. Questa classe supporta solo texture OpenGLES 3.0. A causa della dipendenza da OpenGLES, tutte le funzioni di questa classe (incluso il distruttore) devono essere chiamate in un singolo thread contenente il contesto OpenGLES. La versione corrente richiede che larghezza e altezza siano multipli di 16. Formati video supportati Windows: Formati compatibili con Media Foundation, l'installazione di decoder aggiuntivi può supportare più formati, fare riferimento a Supported Media Formats in Media Foundation, non supporta DirectShow Mac: Non supportato Android: Formati supportati dal sistema, fare riferimento a Supported media formats. iOS: Formati supportati dal sistema, attualmente non ci sono documenti di riferimento validi.
- VisionOSARKitCameraDevice
VisionOSARKitCameraDevice implementa un dispositivo camera basato su VisionOS ARKit, output InputFrame (che contiene immagine, parametri della camera, timestamp, informazioni di posizione 6DOF e stato di tracciamento). Dopo la creazione, è possibile chiamare start/stop per iniziare e fermare l'acquisizione dei dati del flusso video. Quando il dispositivo non è più necessario, è possibile chiamare close per chiuderlo. Dopo close, non dovrebbe essere più utilizzato. VisionOSARKitCameraDevice output InputFrame tramite inputFrameSource, e inputFrameSource dovrebbe essere collegato a InputFrameSink per l'uso. bufferCapacity indica la capacità del buffer InputFrame. Se vengono emessi più InputFrame di questo numero dal dispositivo e non vengono rilasciati, il dispositivo non emetterà nuovi InputFrame finché quelli precedenti non saranno rilasciati. Ciò potrebbe causare problemi come il blocco dell'immagine.
- XREALCameraDevice
XREALCameraDevice implementa un dispositivo camera basato sul plugin XREAL Enterprise Native SDK, che emette InputFrame (non è possibile ottenere immagini, parametri della camera, timestamp, informazioni sulla posizione 6DOF e stato di tracciamento). Dopo la creazione, è possibile chiamare start/stop per iniziare e interrompere la raccolta dei dati del flusso video. È necessario assicurarsi che isDeviceSupported restituisca true prima di chiamare start. Quando il dispositivo non è più necessario, è possibile chiamare close per chiuderlo. Dopo close, non dovrebbe essere più utilizzato. XREALCameraDevice emette InputFrame tramite inputFrameSource, e inputFrameSource dovrebbe essere collegato a InputFrameSink per l'uso. bufferCapacity indica la capacità del buffer per InputFrame. Se vengono emessi più InputFrame di questo numero dal dispositivo e non vengono rilasciati, il dispositivo smetterà di emettere nuovi InputFrame finché quelli precedenti non vengono rilasciati. Ciò potrebbe causare problemi come il congelamento dell'immagine.
Enumerazioni
- BlockPriorMode
Modalità di lavoro delle informazioni della mappa a priori
- CameraDeviceType
Tipo di dispositivo fotocamera.
- CameraModelType
Tipo di modello di camera.
- CameraTransformType
Tipo di trasformazione della fotocamera.
- CloudLocalizerStatus
Stato di localizzazione cloud.
- MegaApiType
MEGA tipo di API。
- MotionTrackingStatus
Descrive la qualità del tracciamento del movimento del dispositivo.
- PixelFormat
PixelFormat rappresenta il formato dei pixel dell'immagine. Tutti i formati hanno i pixel orientati da sinistra a destra, dall'alto verso il basso.
- StorageType
StorageType rappresenta la posizione di archiviazione per immagini, file json, video o altri file. StorageType specifica la directory radice per l'archiviazione dei file, e puoi utilizzare percorsi relativi a questa radice in tutte le interfacce correlate.