Commit bde90caf authored by 马乐's avatar 马乐

调整图片大小

parent 41e46616
...@@ -99,19 +99,19 @@ fun ArcVisDriveAVMEngine.initializeAvmParams(calibResultPath:File,lookupPath:Fil ...@@ -99,19 +99,19 @@ fun ArcVisDriveAVMEngine.initializeAvmParams(calibResultPath:File,lookupPath:Fil
avmInitInfo.avmIntrinsicParamArray = intrinsicArray avmInitInfo.avmIntrinsicParamArray = intrinsicArray
val calibInfo = ArcAVMCalibInfo() val calibInfo = ArcAVMCalibInfo()
calibInfo.avm2DImageWidth = IMAGE_WIDTH calibInfo.avm2DImageWidth = IMAGE_HEIGHT
calibInfo.avm2DImageHeight = IMAGE_HEIGHT calibInfo.avm2DImageHeight = IMAGE_WIDTH
calibInfo.singleImageWidth = 480 calibInfo.singleImageWidth = IMAGE_WIDTH
calibInfo.singleImageHeight = 456 calibInfo.singleImageHeight = IMAGE_HEIGHT
val carInfo = ArcAVMCarInfo() val carInfo = ArcAVMCarInfo()
carInfo.width = 2500 carInfo.width = 590
carInfo.length = 6000 carInfo.length = 1800
carInfo.blinkAreaFront = 0 carInfo.blinkAreaFront = 0
carInfo.blinkAreaRight = 0 carInfo.blinkAreaRight = 0
carInfo.blinkAreaBack = 0 carInfo.blinkAreaBack = 0
carInfo.blinkAreaLeft = 0 carInfo.blinkAreaLeft = 0
calibInfo.avmCarInfo = carInfo calibInfo.avmCarInfo = carInfo
calibInfo.viewPortType = ArcAVMViewPortType.LARGE.value calibInfo.viewPortType = ArcAVMViewPortType.SMALL.value
avmInitInfo.avmCalibInfo = calibInfo avmInitInfo.avmCalibInfo = calibInfo
if (spUtils.getBoolean(CALIB_RESULT)) { if (spUtils.getBoolean(CALIB_RESULT)) {
val avmCalibResult = ArcAVMCalibResult() val avmCalibResult = ArcAVMCalibResult()
...@@ -130,13 +130,13 @@ fun ArcVisDriveAVMEngine.initializeAvmParams(calibResultPath:File,lookupPath:Fil ...@@ -130,13 +130,13 @@ fun ArcVisDriveAVMEngine.initializeAvmParams(calibResultPath:File,lookupPath:Fil
return init(avmInitInfo) return init(avmInitInfo)
} }
fun ArcVisDriveAVMEngine.autoCalib(calibResultPath:File,lookupPath:File){ fun ArcVisDriveAVMEngine.autoCalib(calibResultPath:File,lookupPath:File):Int{
val clothInfo = ArcAVMClothInfo() val clothInfo = ArcAVMClothInfo()
clothInfo.d1 = 600 clothInfo.d1 = 120
clothInfo.d3 = 5000 clothInfo.d3 = 690
clothInfo.d4 = 4900 clothInfo.d4 = 690
clothInfo.d5 = 5000 clothInfo.d5 = 690
clothInfo.d6 = 4000 clothInfo.d6 = 690
val chessInfoFront = ArcAVMChessInfo(ArcAVMCameraPosType.TYPE_FRONT) val chessInfoFront = ArcAVMChessInfo(ArcAVMCameraPosType.TYPE_FRONT)
val chessInfoRight = ArcAVMChessInfo(ArcAVMCameraPosType.TYPE_RIGHT) val chessInfoRight = ArcAVMChessInfo(ArcAVMCameraPosType.TYPE_RIGHT)
val chessInfoBack = ArcAVMChessInfo(ArcAVMCameraPosType.TYPE_BACK) val chessInfoBack = ArcAVMChessInfo(ArcAVMCameraPosType.TYPE_BACK)
...@@ -144,36 +144,38 @@ fun ArcVisDriveAVMEngine.autoCalib(calibResultPath:File,lookupPath:File){ ...@@ -144,36 +144,38 @@ fun ArcVisDriveAVMEngine.autoCalib(calibResultPath:File,lookupPath:File){
val chessInfoList = arrayListOf(chessInfoFront, chessInfoRight, chessInfoBack, chessInfoLeft) val chessInfoList = arrayListOf(chessInfoFront, chessInfoRight, chessInfoBack, chessInfoLeft)
val calibResult = ArcAVMCalibResult() val calibResult = ArcAVMCalibResult()
val lookupTable = ArcAVMLookupTable() val lookupTable = ArcAVMLookupTable()
var result = autoCalibrate(avmInputImages, clothInfo, chessInfoList, calibResult, lookupTable) return autoCalibrate(avmInputImages, clothInfo, chessInfoList, calibResult, lookupTable).also {result->
LogUtils.i("autoCalibrate:${result}") LogUtils.i("auto calibrate result = $result")
if (result == ArcErrorInfo.ARC_ERROR_OK) { if (result == ArcErrorInfo.ARC_ERROR_OK) {
LogUtils.i("autoCalibrate calibResult:${calibResult.data.size}") LogUtils.i("autoCalibrate calibResult:${calibResult.data.size}")
LogUtils.i("autoCalibrate lookupTable:${lookupTable.data.size}") LogUtils.i("autoCalibrate lookupTable:${lookupTable.data.size}")
spUtils.put(CALIB_RESULT,FileIOUtils.writeFileFromBytesByChannel(calibResultPath, calibResult.data, true)) spUtils.put(CALIB_RESULT,FileIOUtils.writeFileFromBytesByChannel(calibResultPath, calibResult.data, true))
spUtils.put(LOOKUP_TABLE,FileIOUtils.writeFileFromBytesByChannel(lookupPath, lookupTable.data, true)) spUtils.put(LOOKUP_TABLE,FileIOUtils.writeFileFromBytesByChannel(lookupPath, lookupTable.data, true))
} else { } else {
spUtils.put(CALIB_RESULT,false)
spUtils.put(LOOKUP_TABLE,false)
LogUtils.e("autoCalibrate failed, chessPoints1:${chessInfoList[0].leftChessPoints[0].x}_${chessInfoList[0].leftChessPoints[0].y}," + LogUtils.e("autoCalibrate failed, chessPoints1:${chessInfoList[0].leftChessPoints[0].x}_${chessInfoList[0].leftChessPoints[0].y}," +
"chessPoints2:${chessInfoList[1].leftChessPoints[1].x}_${chessInfoList[1].leftChessPoints[1].y}," + "chessPoints2:${chessInfoList[1].leftChessPoints[1].x}_${chessInfoList[1].leftChessPoints[1].y}," +
"chessPoints3:${chessInfoList[2].leftChessPoints[2].x}_${chessInfoList[2].leftChessPoints[2].y}," + "chessPoints3:${chessInfoList[2].leftChessPoints[2].x}_${chessInfoList[2].leftChessPoints[2].y}," +
"chessPoints4:${chessInfoList[3].leftChessPoints[3].x}_${chessInfoList[3].leftChessPoints[3].y},") "chessPoints4:${chessInfoList[3].leftChessPoints[3].x}_${chessInfoList[3].leftChessPoints[3].y},")
} }
val getCalibInfo = ArcAVMCalibInfo() val getCalibInfo = ArcAVMCalibInfo()
val getCalibResult = ArcAVMCalibResult() val getCalibResult = ArcAVMCalibResult()
val getLookupTable = ArcAVMLookupTable() val getLookupTable = ArcAVMLookupTable()
result = getCalibrateResults(getCalibInfo, getCalibResult, getLookupTable) val getCalibrateResults = getCalibrateResults(getCalibInfo, getCalibResult, getLookupTable)
if (result == ArcErrorInfo.ARC_ERROR_OK) { if (getCalibrateResults == ArcErrorInfo.ARC_ERROR_OK) {
LogUtils.i("getCalibrateResults, calibInfo:${getCalibInfo}, result:${getCalibResult.data.size}, lookup:${getLookupTable.data.size}") LogUtils.i("getCalibrateResults, calibInfo:${getCalibInfo}, result:${getCalibResult.data.size}, lookup:${getLookupTable.data.size}")
} }
}
} }
fun ArcVisDriveAVMEngine.manualCalib(calibResultPath:File,lookupPath:File){ fun ArcVisDriveAVMEngine.manualCalib(calibResultPath:File,lookupPath:File){
val clothInfo = ArcAVMClothInfo() val clothInfo = ArcAVMClothInfo()
clothInfo.d1 = 600 clothInfo.d1 = 120
clothInfo.d3 = 5000 clothInfo.d3 = 680
clothInfo.d4 = 4900 clothInfo.d4 = 680
clothInfo.d5 = 5000 clothInfo.d5 = 810
clothInfo.d6 = 4000 clothInfo.d6 = 810
val chessInfoFront = ArcAVMChessInfo() val chessInfoFront = ArcAVMChessInfo()
chessInfoFront.imagePosType = ArcAVMCameraPosType.TYPE_FRONT chessInfoFront.imagePosType = ArcAVMCameraPosType.TYPE_FRONT
if (chessInfoFront.leftChessPoints != null) { if (chessInfoFront.leftChessPoints != null) {
...@@ -339,8 +341,8 @@ fun configCameraSequence(path:String,callback: ImageReaderEx.ImageCallback): Pic ...@@ -339,8 +341,8 @@ fun configCameraSequence(path:String,callback: ImageReaderEx.ImageCallback): Pic
return PictureConfiguration.get(PictureSequenceSource.GENERAL_CAMERA).apply { return PictureConfiguration.get(PictureSequenceSource.GENERAL_CAMERA).apply {
mPath = path mPath = path
mImageFormat = SpmCameraDevice.ImageDataCallback.IMAGE_FORMAT_NV21 mImageFormat = SpmCameraDevice.ImageDataCallback.IMAGE_FORMAT_NV21
mPicWidth = 1280 mPicWidth = IMAGE_WIDTH
mPicHeight = 720 mPicHeight = IMAGE_HEIGHT
mImageCallback = callback mImageCallback = callback
} }
} }
package com.waytous.avmdetect package com.intergration.avm.glsurface
import android.opengl.GLES20 import android.opengl.GLES20
import android.opengl.GLSurfaceView import android.opengl.GLSurfaceView
import android.opengl.Matrix import android.opengl.Matrix
import com.blankj.utilcode.util.LogUtils import com.blankj.utilcode.util.LogUtils
import com.intergration.avm.glsurface.MyGLProgram
import java.nio.ByteBuffer import java.nio.ByteBuffer
import javax.microedition.khronos.opengles.GL10 import javax.microedition.khronos.opengles.GL10
......
package com.waytous.avmdetect package com.intergration.avm.glsurface
import android.content.Context import android.content.Context
import android.opengl.GLSurfaceView import android.opengl.GLSurfaceView
......
...@@ -9,8 +9,7 @@ import com.intergration.avm.R ...@@ -9,8 +9,7 @@ import com.intergration.avm.R
import com.intergration.avm.utils.IMAGE_HEIGHT import com.intergration.avm.utils.IMAGE_HEIGHT
import com.intergration.avm.utils.IMAGE_WIDTH import com.intergration.avm.utils.IMAGE_WIDTH
import com.mediatek.smartplatform.PictureConfiguration import com.mediatek.smartplatform.PictureConfiguration
import com.waytous.avmdetect.MyGLSurfaceView import com.intergration.avm.glsurface.MyGLSurfaceView
import org.greenrobot.eventbus.EventBus
class AuxiliaryScreenPresentation(outerContext: Context, display: Display) : class AuxiliaryScreenPresentation(outerContext: Context, display: Display) :
Presentation(outerContext, display) { Presentation(outerContext, display) {
...@@ -26,8 +25,7 @@ class AuxiliaryScreenPresentation(outerContext: Context, display: Display) : ...@@ -26,8 +25,7 @@ class AuxiliaryScreenPresentation(outerContext: Context, display: Display) :
frameLayout = layoutInflater.inflate(R.layout.layout_presentation,null) as FrameLayout frameLayout = layoutInflater.inflate(R.layout.layout_presentation,null) as FrameLayout
setContentView(frameLayout) setContentView(frameLayout)
rendererView = frameLayout.findViewById<MyGLSurfaceView?>(R.id.rendererView).also { rendererView = frameLayout.findViewById<MyGLSurfaceView?>(R.id.rendererView).also {
it.setDisplayOrientation(90) it.setYuvDataSize(IMAGE_HEIGHT,IMAGE_WIDTH)
it.setYuvDataSize(IMAGE_WIDTH, IMAGE_HEIGHT)
} }
} }
......
...@@ -40,6 +40,8 @@ private val serviceConnection: ServiceConnection = object : ServiceConnection { ...@@ -40,6 +40,8 @@ private val serviceConnection: ServiceConnection = object : ServiceConnection {
} }
override fun onServiceDisconnected(name: ComponentName?) { override fun onServiceDisconnected(name: ComponentName?) {
LogUtils.d("停止副屏服务...")
multiScreenService?.dismissSecondPresentation()
//恢复置空 //恢复置空
multiScreenService = null multiScreenService = null
} }
...@@ -51,10 +53,8 @@ fun Context.openAuxiliaryPresentation(){ ...@@ -51,10 +53,8 @@ fun Context.openAuxiliaryPresentation(){
} }
fun Context.closeAuxiliaryPresentation(){ fun Context.closeAuxiliaryPresentation(){
if (multiScreenService != null) { LogUtils.i("解绑副屏服务")
multiScreenService?.dismissSecondPresentation()
unbindService(serviceConnection) unbindService(serviceConnection)
}
} }
fun feedData(data: ByteArray){ fun feedData(data: ByteArray){
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
android:textSize="24sp" android:textSize="24sp"
android:textColor="@android:color/holo_blue_light" android:textColor="@android:color/holo_blue_light"
android:layout_gravity="center_horizontal|top"/> android:layout_gravity="center_horizontal|top"/>
<com.waytous.avmdetect.MyGLSurfaceView <com.intergration.avm.glsurface.MyGLSurfaceView
android:id="@+id/rendererView" android:id="@+id/rendererView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"/> android:layout_height="match_parent"/>
......
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