Namespace easyar
類
- Accelerometer
Accelerometer調用了系統提供的加速度計,輸出 AccelerometerResult 。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 不建議同時打開多次,可能會無法使用或精度下降。
- AccelerometerResult
加速度計讀數。 x軸正方向從設備中心指向螢幕右部。 y軸正方向從設備中心指向螢幕上部。 z軸正方向從設備中心垂直螢幕向外。 x,y,z單位為m/s^2。 timestamp單位為秒。
- AccelerometerResultSink
加速度計結果輸入端口。 用於暴露一個組件的輸入端口。 本類的所有成員都是執行緒安全的。
- AccelerometerResultSource
加速度計結果輸出端口。 用於暴露一個組件的輸出端口。 本類的所有成員都是線程安全的。
- ARCoreCameraDevice
ARCoreCameraDevice實現了一個基於ARCore的camera設備,輸出 InputFrame(包含影像、攝影機參數、時間戳記、6DOF位置資訊和追蹤狀態)。 使用時需先透過java.lang.System.loadLibrary載入libarcore_sdk_c.so。 建立後可呼叫start/stop來開始及停止擷取視訊串流資料。 不再需要該設備時可呼叫close進行關閉,close後不應繼續使用。 ARCoreCameraDevice透過inputFrameSource輸出 InputFrame,應將inputFrameSource連接至 InputFrameSink使用。 bufferCapacity表示 InputFrame緩衝區容量,若輸出且未釋放的 InputFrame超過此數量,設備將停止輸出新 InputFrame直至先前幀被釋放,可能導致畫面凍結等問題。 注意:當前ARCore(v1.13.0)實作在建立與銷毀session時存在記憶體洩漏,反覆建立銷毀將導致記憶體佔用持續增長且銷毀後不釋放。
- ARCoreDeviceListDownloader
ARCoreDeviceListDownloader用於下載更新ARCoreCameraDevice中使用的設備列表標定參數。
- ARKitCameraDevice
ARKitCameraDevice實現了一個基於ARKit的camera設備,輸出 InputFrame (包含圖像、攝像機參數、時間戳、6DOF位置信息和跟踪狀態)。 創建之後,可以調用start/stop來開始和停止採集視頻流數據。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 ARKitCameraDevice通過inputFrameSource輸出 InputFrame ,應將inputFrameSource連接到 InputFrameSink 上進行使用。 bufferCapacity表示 InputFrame 緩衝的容量,如果有超過此數量的 InputFrame 從該設備中輸出並且沒有被釋放,該設備將不再輸出新的 InputFrame ,直到之前的 InputFrame 被釋放。這可能造成畫面卡住等問題。
- AttitudeSensor
AttitudeSensor調用了系統提供的姿態傳感器,輸出 AttitudeSensorResult 。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 不建議同時打開多次,可能會無法使用或精度下降。
- AttitudeSensorResult
姿態感測器讀數。 x軸正方向從設備中心指向螢幕右部。 y軸正方向從設備中心指向螢幕上部。 z軸正方向從設備中心垂直螢幕向外。 設備繞軸(x,y,z)旋轉了一個角度θ。 單位旋轉四元數為(cos(θ/2),x*sin(θ/2),y*sin(θ/2),z*sin(θ/2))。 (v0,v1,v2,v3)=(cos(θ/2),x*sin(θ/2),y*sin(θ/2),z*sin(θ/2))。 參考座標系被定義為一組有向的標準正交基,其中
Z指向天空,並與地面平行。 (X,Y,Z)構成右手系。timestamp單位為秒。
- AttitudeSensorResultSink
姿態感測器結果輸入端口。 用於暴露一個組件的輸入端口。 本類的所有成員都是線程安全的。
- AttitudeSensorResultSource
姿態感測器結果輸出端口。 用於暴露一個組件的輸出端口。 本類的所有成員都是線程安全的。
- BlockInfo
稠密重建得到的模型使用三角網格表示,稱為mesh。由於mesh會頻繁更新,為了保證效率,整個重建模型的mesh被分割成非常多的mesh block。一個mesh block由一個邊長約1米的立方體組成,其中有vertex和index等元素。 BlockInfo用來描述一個mesh block的內容。其中(x,y,z)是mesh block的索引,將(x,y,z)乘上每個mesh block的物理尺寸可獲得這個mesh block的原點在世界座標系中的座標。可透過mesh block在世界中的位置對需要顯示的部分進行提前過濾,以節省渲染所需的時間。
- BlockPriorResult
先驗地圖資訊。 blockIds為地圖id。 mode為先驗資訊被系統使用的模式,可以為soft或hard。參考BlockPriorMode。
- Buffer
Buffer儲存了原始字節數組,可以用來存取圖像數據。 在Java API中可以從Image中取得buffer然後copy數據到Java字節數組。 在EasyAR Sense的所有版本中,你都可以存取圖像數據。參考Image。
- BufferDictionary
一個從檔案路徑到Buffer的對映。用於表示多個放在記憶體中的檔案。
- BufferPool
BufferPool 實現了一個記憶體池,可用於自定義攝像頭接入等需要反覆分配相同大小記憶體的功能,降低記憶體分配耗時。
- CalibrationDownloader
CalibrationDownloader用於下載更新MotionTracker中使用的標定參數。下載後需要重新建立MotionTracker才會起作用。
- CallbackScheduler
回調調度器。 有兩個子類 DelayedCallbackScheduler 和 ImmediateCallbackScheduler 。 其中 DelayedCallbackScheduler 用於將回調推遲到手動調用的時候調用,可用於單線程環境下(如各種UI環境)。 ImmediateCallbackScheduler 用於將回調立即執行,可用於多線程環境下(如伺服器或後台服務)。
- CameraDevice
CameraDevice實現了一個camera設備,輸出 InputFrame (包含圖像、攝像機參數和時間戳)。在Windows、Mac、Android和iOS上可用。 打開之後,可以調用start/stop來開始和停止採集數據。start/stop不會影響之前所設置的camera參數。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 CameraDevice通過inputFrameSource輸出 InputFrame ,應將inputFrameSource連接到 InputFrameSink 上進行使用。 bufferCapacity表示 InputFrame 緩衝的容量,如果有超過此數量的 InputFrame 從該設備中輸出並且沒有被釋放,該設備將不再輸出新的 InputFrame ,直到之前的 InputFrame 被釋放。這可能造成畫面卡住等問題。 Android使用時需要在AndroidManifest.xml中加入android.permission.CAMERA權限聲明。 iOS使用時需要在Info.plist中加入NSCameraUsageDescription權限聲明。
- CameraDeviceSelector
用於在Android上選擇Camera API(camera1或camera2)。camera1相容性較好,但缺乏一些必要的資訊,如時間戳。camera2在部分裝置上存在相容性問題。 不同選項會根據用途選擇camera1或camera2。
- CameraParameters
相機參數,包括影像大小、焦距、主點、相機類型和相機相對裝置自然方向的旋轉角度。
- CloudLocalizer
CloudLocalizer實現了雲定位功能。
- CloudLocalizerBlockInstance
CloudLocalizer定位到的block的實例。
- CloudRecognizer
CloudRecognizer實現了雲識別功能。雲識別功能需要在雲端創建雲識別圖庫才能使用,請參考EasyAR CRS文檔。 當不再需要該組件時,可以調用close對其進行關閉。close之後不應繼續使用。 在使用CloudRecognizer之前,需要設定並準備好一個 ImageTracker 。任何返回的target在被track之前都應使用 loadTarget 手動載入進入 ImageTracker 。載入之後,target的識別和跟蹤即和本地target的使用相同。在一個target被識別到之後,你可以從回調中獲取到,然後你應該使用target uid來區分不同的target。target runtimeID是動態生成的,不適用於作為雲識別情況下的target的唯一區分。
- DelayedCallbackScheduler
延時回調調度器。 用於將回調推遲到手動呼叫的時候呼叫,可用於單執行緒環境下(如各種UI環境)。 本類的所有成員都是執行緒安全的。
- DenseSpatialMap
DenseSpatialMap用來對環境進行精確的三維稠密重建,其重建的模型用三角網格表示,稱為mesh。 DenseSpatialMap佔用1個camera的buffer。
- EventDumpRecorder
事件轉儲錄製器。 用於將一些關鍵診斷信息保存到EED文件中。 本類的所有成員都是執行緒安全的。
- FeedbackFrame
反饋幀。 包含一個輸入幀和一個歷史輸出幀,用於 ImageTracker 等反饋式同步處理組件。
- FeedbackFrameFork
反饋幀分流器。 用於將一個反饋幀並行傳輸到多個組件中。 本類的所有成員都是執行緒安全的。
- FeedbackFrameSink
反饋幀輸入端口。 用於公開一個元件的輸入端口。 本類別的所有成員都是執行緒安全的。
- FeedbackFrameSource
回饋訊框輸出埠。 用於暴露元件的輸出埠。 本類別的所有成員都是執行緒安全的。
- FrameFilterResult
FrameFilterResult是所有使用同步演算法元件結果的基類。
- Gyroscope
Gyroscope調用了系統提供的陀螺儀,輸出 GyroscopeResult 。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 不建議同時打開多次,可能會無法使用或精度下降。
- GyroscopeResult
陀螺儀讀數。 x軸正方向從裝置中心指向螢幕右側。 y軸正方向從裝置中心指向螢幕上部。 z軸正方向從裝置中心垂直螢幕向外。 x,y,z表示繞對應軸旋轉的角速度,單位為弧度/秒。 由座標軸正方向某處朝裝置看去時的逆時針方向為旋轉正方向。 timestamp單位為秒。
- GyroscopeResultSink
陀螺儀結果輸入端口。 用於暴露一個組件的輸入端口。 本類的所有成員都是線程安全的。
- GyroscopeResultSource
陀螺儀結果輸出端口。 用於暴露一個組件的輸出端口。 本類的所有成員都是線程安全的。
- Image
Image儲存了圖像數據,用來表示記憶體中的圖像。 Image以位元組陣列的方式提供了對原始數據的訪問,同時也提供了訪問width/height等資訊的介面。 在EasyAR Sense的所有版本中,你都可以訪問圖像數據。 在iOS中可以這樣訪問
#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); }在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
圖像幫助類。
- ImageTarget
ImageTarget表示平面圖像的target,它可以被ImageTracker所追蹤。 ImageTarget內的數值在可以被讀取之前需要首先通過create...等方法填入。然後再通過loadTarget成功載入ImageTracker之後可以被ImageTracker偵測和追蹤。
- ImageTargetParameters
ImageTargetParameters表示創建ImageTarget所需要的參數。
- ImageTracker
ImageTracker實現了平面卡片的檢測和追蹤。 ImageTracker佔用(1 + SimultaneousNum)個camera的緩衝區。應使用camera的setBufferCapacity設置不少於所有元件佔用的camera緩衝區數量。 建立之後,可以呼叫start/stop來開始和停止執行,start/stop是非常輕量的呼叫。 當不再需要該元件時,可以呼叫close對其進行關閉。close之後不應繼續使用。 ImageTracker透過feedbackFrameSink輸入 FeedbackFrame,應將 FeedbackFrameSource 連線到feedbackFrameSink上進行使用。 在 Target 可以被ImageTracker追蹤之前,你需要透過loadTarget/unloadTarget將它載入。可以透過傳入介面的回呼來取得load/unload的結果。
- ImmediateCallbackScheduler
立即回調調度器。 用於將回調立即執行,可用於多線程環境下(如伺服器或後台服務)。 本類的所有成員都是線程安全的。
- InertialCameraDevice
InertialCameraDevice實現了一個基於運動慣性的camera設備,輸出 CameraTransformType 為FiveDofRotXZ的 InputFrame (包含圖像、攝影機參數、時間戳、位姿轉換矩陣和跟蹤狀態)。 創建之後,可以調用start/stop來開始和停止採集視頻流數據。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 InertialCameraDevice通過inputFrameSource輸出 InputFrame ,應將inputFrameSource連接到 InputFrameSink 上進行使用。 bufferCapacity表示 InputFrame 緩衝的容量,如果有超過此數量的 InputFrame 從該設備中輸出並且沒有被釋放,該設備將不再輸出新的 InputFrame ,直到之前的 InputFrame 被釋放。這可能造成畫面卡住等問題。
- InputFrame
輸入幀。 包含圖像、camera參數、時間戳、相機相對於世界坐標系的變換和追蹤狀態。 其中,camera參數、時間戳、相機相對於世界坐標系的變換和追蹤狀態均為可選,但特定的算法組件會對輸入有特定的要求。
- InputFrameFork
輸入幀分流器。 用於將一個輸入幀並行傳輸到多個組件中。 本類的所有成員都是執行緒安全的。
- InputFramePlayer
輸入幀播放器。 有一個輸入幀輸出端口,用於從EIF文件將輸入幀取出。 本類的所有成員都是線程安全的。
- InputFrameRecorder
輸入幀錄製器。 有一個輸入幀輸入端口和一個輸入幀輸出端口,用於將經過的輸入幀保存到EIF文件中。 本類的所有成員都是線程安全的。
- InputFrameSink
輸入幀輸入端口。 用於暴露一個元件的輸入端口。 本類別的所有成員都是執行緒安全的。
- InputFrameSource
輸入幀輸出埠。 用於暴露一個組件的輸出埠。 本類的所有成員都是線程安全的。
- InputFrameThrottler
輸入幀節流器。 設有輸入幀輸入埠及輸入幀輸出埠,用於在演算法元件未完成處理上一幀資料時阻止新輸入幀進入演算法元件。 InputFrameThrottler佔用1個camera的buffer。應使用camera的setBufferCapacity設定不少於所有元件佔用的camera之buffer數量。 本類別所有成員皆具執行緒安全特性。 需注意其signalInput的連接與斷開不應在資料流入同時進行,否則可能陷入無法輸出的狀態。(建議在Camera啟動前完成資料流連接。)
- InputFrameToFeedbackFrameAdapter
輸入幀到反饋幀適配器。 有一個輸入幀輸入端口、一個歷史輸出幀輸入端口和一個反饋幀輸出端口,用於將輸入幀和歷史輸出幀組合成反饋幀,傳遞給要求輸入反饋幀的算法組件,例如 ImageTracker 。 每次輸入幀輸入時,會連帶上一次輸入的歷史輸出幀合成反饋幀。如果沒有輸入過歷史輸出幀,則反饋幀中的歷史輸出幀為空。 InputFrameToFeedbackFrameAdapter占用1個camera的buffer。應使用camera的setBufferCapacity設置不少於所有組件佔用的camera的buffer數量。 本類的所有成員都是線程安全的。
- InputFrameToOutputFrameAdapter
輸入幀到輸出幀適配器。 有一個輸入幀輸入端口和一個輸出幀輸出端口,用於將輸入幀包裝成輸出幀,實現不接入算法組件,直接進行渲染的功能。 本類的所有成員都是執行緒安全的。
- JniUtility
JNI工具類。 用於在Unity中對Java的陣列和ByteBuffer進行包裝。 不支援iOS平台。
- LocationResult
位置讀數。 latitude, longitude單位為度。 altitude單位為米。 horizontalAccuracy為水平方向精度,單位為米。 verticalAccuracy為重力方向精度,單位為米。
- LocationResultSink
位置結果輸入端口。 用於暴露一個元件的輸入端口。 本類的所有成員都是執行緒安全的。
- LocationResultSource
位置結果輸出埠。 用於暴露一個組件的輸出埠。 本類的所有成員都是執行緒安全的。
- Log
日誌類。 用於輸出日誌或設定自訂日誌輸出函數。
- Magnetometer
Magnetometer調用了系統提供的磁力計,輸出 MagnetometerResult 。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 不建議同時打開多次,可能會無法使用或精度下降。
- MagnetometerResult
磁力計讀數。 x軸正方向從設備中心指向螢幕右部。 y軸正方向從設備中心指向螢幕上部。 z軸正方向從設備中心垂直螢幕向外。 x,y,z單位為uT(微特斯拉)。 timestamp單位為秒。
- MagnetometerResultSink
磁力計結果輸入端口。 用於公開一個組件的輸入端口。 本類的所有成員都是執行緒安全的。
- MagnetometerResultSource
磁力計結果輸出端口。 用於公開一個元件的輸出端口。 本類的所有成員都是執行緒安全的。
- Matrix33F
三階方陣。數據的排列方式為row-major。
- Matrix44F
四階方陣。數據的排列方式為row-major。
- MegaLandmarkFilter
MegaLandmarkFilter實現了VPS雲定位過濾功能。
- MegaTracker
提供雲定位功能。 MegaTracker佔用1個camera的buffer。
- MegaTrackerBlockInstance
MegaTracker定位到的block實例。
- MegaTrackerLocalizationResponse
MegaTracker定位請求的回應。
- MegaTrackerResult
MegaTracker的輸出,會以OutputFrame的頻率更新。
- MotionInputData
運動輸入數據。 包含、時間戳、相對於世界座標系的變換和跟踪狀態。
- MotionTrackerCameraDevice
MotionTrackerCameraDevice實現了一款真實尺度6DOF運動追蹤的攝影機裝置,輸出 InputFrame(包含影像、攝影機參數、時間戳、6DOF位置資訊和追蹤狀態)。 創建後可調用start/stop來啟動及停止資料流。 當不再需要此裝置時,可調用close進行關閉。close後不應繼續使用。 MotionTrackerCameraDevice透過inputFrameSource輸出 InputFrame,應將inputFrameSource連接至 InputFrameSink 使用。
- ObjectTarget
ObjectTarget表示3D object target,它可以被 ObjectTracker 所跟踪。 ObjectTarget的大小由
obj文件決定。可以通過修改scale達到修改size的目的。scale預設為1。 ObjectTarget通過 loadTarget 成功載入 ObjectTracker 之後可以被 ObjectTracker 檢測和跟蹤。
- ObjectTargetParameters
ObjectTargetParameters表示創建 ObjectTarget 所需要的參數。
- ObjectTracker
ObjectTracker實現了3D物件目標的偵測和追蹤。 ObjectTracker佔用(1+SimultaneousNum)個camera的緩衝區。應使用camera的setBufferCapacity設定不少於所有元件佔用的camera緩衝區數量。 建立之後,可以呼叫start/stop來開始和停止執行,start/stop是非常輕量的呼叫。 當不再需要該元件時,可以呼叫close對其進行關閉。close之後不應繼續使用。 ObjectTracker透過feedbackFrameSink輸入FeedbackFrame,應將FeedbackFrameSource連線到feedbackFrameSink上使用。 在Target可以被ObjectTracker追蹤之前,你需要透過loadTarget/unloadTarget將它載入。可透過傳入介面的回撥來取得load/unload的結果。
- OutputFrame
輸出幀。 包含輸入幀和同步處理元件的輸出結果。
- OutputFrameBuffer
輸出幀緩衝。 有一個輸出幀輸入埠和輸出幀獲取函式,用於將輸出幀的獲取方式從非同步轉化為同步輪詢,適合逐幀渲染。 OutputFrameBuffer佔用1個camera的buffer。應使用camera的setBufferCapacity設定不少於所有元件佔用的camera的buffer數量。 本類別的所有成員都是執行緒安全的。
- OutputFrameFork
輸出幀分流器。 用於將一個輸出幀並行傳輸到多個組件中。 本類的所有成員都是執行緒安全的。
- OutputFrameJoin
輸出幀合流器。 用於將多個組件的輸出幀合併成一個輸出幀。 本類的所有成員都是線程安全的。 需要注意其多個輸入的連接和斷開不應該在有數據流入的同時進行,否則可能會陷入不能輸出的狀態。(推薦在Camera啟動之前完成數據流連接。)
- OutputFrameSink
輸出幀輸入埠。 用於暴露一個元件的輸入埠。 本類別的所有成員都是執行緒安全的。
- OutputFrameSource
輸出幀輸出埠。 用於公開元件的輸出埠。 本類別的所有成員都是執行緒安全的。
- ProximityLocationResult
鄰近位置讀數。 x, y, z單位為公尺。原點為地圖塊原點。y向上。 accuracy單位為公尺。 timestamp, validTime單位為秒。 is2d表示是否不使用y。
- ProximityLocationResultSink
鄰近位置結果輸入端口。 用於暴露一個組件的輸入端口。 本類的所有成員都是線程安全的。
- ProximityLocationResultSource
鄰近位置結果輸出端口。 用於暴露一個組件的輸出端口。 本類的所有成員都是執行緒安全的。
- Recorder
Recorder 實現了對當前渲染環境的螢幕錄製功能。 當前Recorder 只在 Android(4.3 或更新)和 iOS的OpenGL ES 3.0 環境下工作。 由於依賴於OpenGLES,本類的所有函數(除requestPermissions以外,包括析構函數)都必須在單個包含OpenGLES上下文的線程中調用。 Unity Only Unity中如果使用Multi-threaded rendering功能,則腳本線程將與渲染線程分離,無法在渲染線程上調用updateFrame。因此,如果需要使用螢幕錄製功能,應禁用Multi-threaded rendering功能。 Android使用時需要在AndroidManifest.xml中加入android.permission.RECORD_AUDIO權限聲明。 iOS使用時需要在Info.plist中加入NSMicrophoneUsageDescription權限聲明。
- RecorderConfiguration
RecorderConfiguration為 Recorder 的啟動配置。
- SignalSink
信號輸入端口。 用於暴露一個組件的輸入端口。 本類的所有成員都是執行緒安全的。
- SignalSource
信號輸出端口。 用於暴露一個組件的輸出端口。 本類的所有成員都是線程安全的。
- SparseSpatialMap
提供SparseSpatialMap系統主要功能,包含地圖生成與儲存、地圖載入與定位,同時可獲取點雲、平面等環境資訊並進行hit Test。 SparseSpatialMap佔用2個camera的buffer。應使用camera的setBufferCapacity設定不少於所有元件佔用的camera buffer數量。
- SparseSpatialMapConfig
用於設定稀疏建圖中的定位策略。
- SparseSpatialMapManager
SparseSpatialMap管理類,用於管理SparseSpatialMap的分享功能。
- SparseSpatialMapResult
獲取稀疏建圖與定位系統的輸出,會以OutputFrame的頻率更新。
- SurfaceTracker
SurfaceTracker實現了對環境表面的追蹤。 SurfaceTracker佔用1個camera的buffer。應使用camera的setBufferCapacity設置不少於所有元件佔用的camera的buffer數量。 創建之後,可以呼叫start/stop來開始和停止運行,start/stop是非常輕量的呼叫。 當不再需要該元件時,可以呼叫close對其進行關閉。close之後不應繼續使用。 SurfaceTracker通過inputFrameSink輸入 InputFrame ,應將 InputFrameSource 連接到inputFrameSink上進行使用。
- Target
Target是EasyAR裡面所有可以被 ImageTracker 或其他演算法追蹤的目標的基類。
- TargetInstance
TargetInstance是被tracker跟踪到的target。 TargetInstance包括被跟踪上的原始 Target 以及這個 Target 當前的狀態和姿態。
- TargetTrackerResult
TargetTrackerResult是 ImageTrackerResult 和 ObjectTrackerResult 的基類。
- TextureId
TextureId封裝圖形API中的紋理對象。 其中,OpenGL/OpenGLES應使用getInt和fromInt,Direct3D應使用getPointer和fromPointer。
- ThreeDofCameraDevice
ThreeDofCameraDevice實現了一個three dof的camera設備,輸出 CameraTransformType 為ThreeDofRotOnly的 InputFrame (包含圖像、攝像機參數、時間戳、位姿轉換矩陣和追蹤狀態)。 創建之後,可以調用start/stop來開始和停止採集視頻流數據。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 ThreeDofCameraDevice通過inputFrameSource輸出 InputFrame ,應將inputFrameSource連接到 InputFrameSink 上進行使用。 bufferCapacity表示 InputFrame 緩衝的容量,如果有超過此數量的 InputFrame 從該設備中輸出並且沒有被釋放,該設備將不再輸出新的 InputFrame ,直到之前的 InputFrame 被釋放。這可能造成畫面卡住等問題。
- Vec2F
二維float向量。
- Vec2I
二維int向量。
- Vec3D
三維double向量。
- Vec3F
三維float向量。
- Vec4F
四维float向量。
- Vec4I
四維int向量。
- VideoInputFramePlayer
輸入幀播放器。 有一個輸入幀輸出端口,用於從EIF MKV文件將輸入幀取出。 本類的所有成員都是線程安全的。
- VideoInputFrameRecorder
輸入幀錄製器。 有一個輸入幀輸入埠和一個輸入幀輸出埠,用於將經過的輸入幀保存到EIF MKV文件中。 本類的所有成員都是執行緒安全的。
- VideoPlayer
VideoPlayer是影片播放類。 EasyAR支援普通影片、透明影片和串流媒體播放。影片內容會被渲染到傳入setRenderTexture的texture上。 該類只支援OpenGLES 3.0的texture。 由於依賴於OpenGLES,本類的所有函數(包括解構函式)都必須在單個包含OpenGLES上下文的執行緒中呼叫。 當前版本要求寬高均為16的倍數。 支援的影片檔案格式 Windows: Media Foundation相容格式,安裝額外解碼器可支援更多格式,請參考Supported Media Formats in Media Foundation,不支援DirectShow Mac: 不支援 Android: 系統支援格式,請參考Supported media formats。 iOS: 系統支援格式,當前無有效參考文件
- VisionOSARKitCameraDevice
VisionOSARKitCameraDevice實現了一個基於VisionOS ARKit的camera設備,輸出 InputFrame (包含圖像、攝影機參數、時間戳、6DOF位置資訊和跟踪狀態)。 創建之後,可以調用start/stop來開始和停止採集視頻流數據。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 VisionOSARKitCameraDevice通過inputFrameSource輸出 InputFrame ,應將inputFrameSource連接到 InputFrameSink 上進行使用。 bufferCapacity表示 InputFrame 緩衝的容量,如果有超過此數量的 InputFrame 從該設備中輸出並且沒有被釋放,該設備將不再輸出新的 InputFrame ,直到之前的 InputFrame 被釋放。這可能造成畫面卡住等問題。
- XREALCameraDevice
XREALCameraDevice實現了一個基於XREAL Enterprise Native SDK Plugin的camera設備,輸出 InputFrame (不可獲取圖像、攝影機參數、時間戳、6DOF位置資訊和追蹤狀態)。 創建之後,可以調用start/stop來開始和停止採集視頻流數據。需要確保在isDeviceSupported返回true之後才能調用start。 當不再需要該設備時,可以調用close對其進行關閉。close之後不應繼續使用。 XREALCameraDevice通過inputFrameSource輸出 InputFrame ,應將inputFrameSource連接到 InputFrameSink 上進行使用。 bufferCapacity表示 InputFrame 緩衝的容量,如果有超過此數量的 InputFrame 從該設備中輸出並且沒有被釋放,該設備將不再輸出新的 InputFrame ,直到之前的 InputFrame 被釋放。這可能造成畫面卡住等問題。
列舉
- BlockPriorMode
先驗地圖資訊工作模式
- CameraDeviceType
相機設備類型。
- CameraModelType
相機模型類型。
- CameraTransformType
相機變換類型。
- CloudLocalizerStatus
雲端定位狀態。
- MegaApiType
MEGA API類型。
- MotionTrackingStatus
描述設備運動追蹤的質量。
- PixelFormat
PixelFormat表示圖像像素格式。所有格式的像素方向均為從左到右,從上到下的。
- StorageType
StorageType表示圖像、json檔案、視頻或其他檔案的存放位置。 StorageType指定了檔案存放的根目錄,您可以在所有相關介面中使用相對於這個根目錄的相對路徑。