Commit 9f3bd114 authored by 马乐's avatar 马乐

增加车模

parent b97bd49c
......@@ -3,6 +3,7 @@ package com.intergration.avm
import android.Manifest
import android.content.Intent
import android.content.pm.PackageManager
import android.graphics.BitmapFactory
import android.net.Uri
import android.os.Bundle
import android.os.Environment
......@@ -22,12 +23,15 @@ import com.arcsoft.visdrive.avmsdk.model.avm.ArcAVMCalibResult
import com.arcsoft.visdrive.avmsdk.model.avm.ArcAVMLookupTable
import com.arcsoft.visdrive.avmsdk.model.avm.ArcAVMOutputImage
import com.arcsoft.visdrive.avmsdk.model.common.ArcActiveEnvParam
import com.arcsoft.visdrive.avmsdk.model.common.ArcRect
import com.blankj.utilcode.util.FileUtils
import com.blankj.utilcode.util.ImageUtils
import com.blankj.utilcode.util.LogUtils
import com.intergration.avm.databinding.ActivityMainBinding
import com.intergration.avm.utils.ArcAVMInputImageFactory
import com.intergration.avm.utils.CALIB_RESULT
import com.intergration.avm.utils.IMAGE_HEIGHT
import com.intergration.avm.utils.IMAGE_WIDTH
import com.intergration.avm.utils.IS_ACTIVATED
import com.intergration.avm.utils.LOOKUP_TABLE
import com.intergration.avm.utils.closeAuxiliaryPresentation
......@@ -277,6 +281,9 @@ class MainActivity : AppCompatActivity() {
}
LogUtils.d("准备播放融合图...")
if (spUtils.getBoolean(CALIB_RESULT) && spUtils.getBoolean(LOOKUP_TABLE)) {
val rect = ArcRect()
avmEngine.getCarModelRect(rect)
LogUtils.i("车模位置:$rect")
while (channel.receive()) {
ensureActive()
val result = coroutineContext[AvmCoroutineContext]?.engine?.drawAVM(
......@@ -284,8 +291,18 @@ class MainActivity : AppCompatActivity() {
avmInputImages,
outputImageList
)
var i = 0
val downBitmap = BitmapFactory.decodeResource(resources,R.mipmap.mars_little)
val nv21DataDown = ArcSoftImageUtil.createImageData(downBitmap.width, downBitmap.height, ArcSoftImageFormat.NV21)
ArcSoftImageUtil.bitmapToImageData(downBitmap, nv21DataDown, ArcSoftImageFormat.NV21)
if (result == ArcErrorInfo.ARC_ERROR_OK) {
if (outputImageList.isNotEmpty()) {
for (row in rect.top until rect.bottom){
LogUtils.i("row = $row")
for (index in rect.left until rect.right) {
outputImageList[0].imageData[index + (row -1) * IMAGE_HEIGHT] = nv21DataDown[i++]
}
}
feedData(outputImageList[0].imageData,outputImageList[0].width,outputImageList[0].height)
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment