gpt4 book ai didi

android - 将相机图片传递给 OpenCV 时出现 OutOfMemoryException

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:20 25 4
gpt4 key购买 nike

我正在从相机捕捉图像,我想在 OpenCV 中进行一些处理。在旧设备上,这在第一个障碍上失败了:

public void onPictureTaken(byte[] jpeg, Camera c) {
mImageBitmap = BitmapFactory.decodeByteArray(jpeg, 0, jpeg.length);
org.opencv.android.Utils.bitmapToMat(mImageBitmap, Utils.cameraMat);
...
}

产生:

04-22 14:23:41.708: I/System.out(7289): Available memory (bytes): 5646168
04-22 14:23:41.718: I/dalvikvm-heap(7289): Forcing collection of SoftReferences for 51121168-byte allocation
04-22 14:23:41.758: E/dalvikvm-heap(7289): Out of memory on a 51121168-byte allocation.

阅读有关此内容的建议似乎是使用较小版本的图像,但是我如何粗略计算出要根据设备上剩余的可用内存量调整大小的尺寸?

最佳答案

在将图像传递给 openCV 之前,您需要调整其大小。解码指令消耗大量内存,因为它将整个图像加载到内存中。即使你不显示它。

official tutorial将向您展示如何调整图像大小而无需先将其加载到内存中

关于android - 将相机图片传递给 OpenCV 时出现 OutOfMemoryException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16148364/

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