gpt4 book ai didi

android - 使用三星 S20 将图像代理到位图时,在 cameraX 中分析绿色位图

转载 作者:行者123 更新时间:2023-12-05 06:58:43 26 4
gpt4 key购买 nike

我已经使用了底层代码。但它出现绿色位图当我使用 imageproxy 仅对最新的智能手机进行位图时。比如三星s20

底部代码在过去的设备上运行良好谁有问题?

enter image description here

fun Image.toBitmap(): Bitmap {
val yBuffer = planes[0].buffer // Y
val uBuffer = planes[1].buffer // U
val vBuffer = planes[2].buffer // V

val ySize = yBuffer.remaining()
val uSize = uBuffer.remaining()
val vSize = vBuffer.remaining()

val nv21 = ByteArray(ySize + uSize + vSize)

//U and V are swapped
yBuffer.get(nv21, 0, ySize)
vBuffer.get(nv21, ySize, vSize)
uBuffer.get(nv21, ySize + vSize, uSize)

val yuvImage = YuvImage(nv21, ImageFormat.NV21, this.width, this.height, null)
val out = ByteArrayOutputStream()
yuvImage.compressToJpeg(Rect(0, 0, yuvImage.width, yuvImage.height), 50, out)
val imageBytes = out.toByteArray()
return BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.size)
}

最佳答案

val nv21 = ByteArray(ySize + uSize + vSize)

并非每个 YUV_420_888 缓冲区实际上都是 NV21 格式。您还必须处理其他格式,例如NV12、YU12 和 YV12。有一个 YUV to bitmap converter samplecamera samples 上Github repo,试试吧,它应该可以正常工作。

关于android - 使用三星 S20 将图像代理到位图时,在 cameraX 中分析绿色位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64549095/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com