Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将谷歌视觉框架一分为二_Android_Kotlin_Google Vision_Android Vision - Fatal编程技术网

Android 将谷歌视觉框架一分为二

Android 将谷歌视觉框架一分为二,android,kotlin,google-vision,android-vision,Android,Kotlin,Google Vision,Android Vision,在我的自定义检测器中,我想将图像从帧分为两半,分别进行处理。 这是迄今为止我在自定义检测器中得到的: val imageArray = frame?.grayscaleImageData?.array() val upperImageBuffer = ByteBuffer .allocate(imageArray?.size ?: 0) .put(imageArra

在我的自定义检测器中,我想将图像从帧分为两半,分别进行处理。 这是迄今为止我在自定义
检测器中得到的:

val imageArray = frame?.grayscaleImageData?.array()
    val upperImageBuffer = ByteBuffer
                               .allocate(imageArray?.size ?: 0)
                               .put(imageArray, 0, imageArray?.size?.div(2) ?: 0)
val upperFrame = Frame.Builder().
            setImageData(upperImageBuffer, 
                frame?.metadata?.width ?: 0, 
                frame?.metadata?.height?.div(2) ?: 0, 
                frame?.metadata?.format ?: 16).
            setRotation(frame?.metadata?.rotation ?: 0).
            build()

val lowerFrame... etc

val upperDetections = delegateDetector.detect(upperFrame)
upperDetections.forEach { key, barcode -> 
   if (barcode is Barcode) results.append(key, barcode) 
}

val lowerDetections = delegateDetector.detect(lowerFrame) etc.
到目前为止,我在两者上都使用了相同的检测器(这实际上是为了检查我是否会识别出比整个帧更多的结果——听起来很愚蠢,但我保留了这个问题,因为将来可能会有人需要一个检测器处理图像的一部分,另一个检测器处理另一部分)


然而,问题是:我得到的结果是相同的两半,实际上是相同的,从原来的帧。我做错了什么?

来自CameraSource的灰度图像数据也包括颜色,但前缀为灰度通道。也就是说,它被格式化为YUV,而不仅仅是Y通道(灰度)


因此,与其使用imageArray.size,不如使用frame.width*frame.height作为大小。

是的,基本上我刚刚发现我对代码中发生的事情完全错了,所以我需要重申这个问题。不幸的是,也许明天,现在有很多工作要做。但我最终还是用了这个。