xuning

YoloV8VideoProcessor 仿照ncnn写入mainviewmodel

@@ -33,7 +33,7 @@ import io.livekit.android.room.track.CameraPosition @@ -33,7 +33,7 @@ import io.livekit.android.room.track.CameraPosition
33 import io.livekit.android.room.track.LocalVideoTrack 33 import io.livekit.android.room.track.LocalVideoTrack
34 import io.livekit.android.room.track.LocalVideoTrackOptions 34 import io.livekit.android.room.track.LocalVideoTrackOptions
35 import io.livekit.android.room.track.video.CameraCapturerUtils 35 import io.livekit.android.room.track.video.CameraCapturerUtils
36 -import io.livekit.android.track.processing.video.OpencvVideoProcessor 36 +import io.livekit.android.track.processing.video.YoloV8VideoProcessor
37 import io.livekit.android.util.LoggingLevel 37 import io.livekit.android.util.LoggingLevel
38 import kotlinx.coroutines.Dispatchers 38 import kotlinx.coroutines.Dispatchers
39 import kotlinx.coroutines.asExecutor 39 import kotlinx.coroutines.asExecutor
@@ -55,12 +55,11 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { @@ -55,12 +55,11 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
55 ), 55 ),
56 ) 56 )
57 57
58 - private val processor = OpencvVideoProcessor().apply {  
59 - // Load model before processing to avoid unsupported overlay  
60 - // modelId: 0=mobilenetv3, sizeId: 6=640, intraInter:1, postproc:0(fast), cpuGpu:0(CPU) 58 + private val processor = YoloV8VideoProcessor().apply {
  59 + // Load YOLOv8 model: taskid=0(det_coco), modelid=0, cpugpu=0(CPU)
61 try { 60 try {
62 - val ok = loadModel(application.assets, 0, 0, 1, 0, 0)  
63 - android.util.Log.d("MainViewModel", "OpencvVideoProcessor.loadModel result=$ok") 61 + val ok = loadModel(application.assets, 0, 0, 0)
  62 + android.util.Log.d("MainViewModel", "YoloV8VideoProcessor.loadModel result=$ok")
64 } catch (t: Throwable) { 63 } catch (t: Throwable) {
65 android.util.Log.e("MainViewModel", "loadModel failed", t) 64 android.util.Log.e("MainViewModel", "loadModel failed", t)
66 } 65 }