Android图像处理过滤器导致OutOfMemory Exception

标签 android c++ opencv bitmap android-ndk

我一直在为这个问题寻找一个好的和可靠的解决方案,请帮助我 问题是我在 Android (C++ ndk) 中使用 OpenCV 创建图像过滤应用程序,当我在将位图转换为整数数组并将其传递到 native c++ 函数后,每次调用 OpenCV native c++ 函数时,我都会在位图上连续应用过滤器. 过滤器工作正常,我得到了结果,但是当我根据设备连续应用它们时,当我再次将过滤器(整数数组)的结果转换为位图时,应用程序会给出 OutOfMemory 异常。 在不同的设备上我测试了这个并且成功应用过滤器的次数是不同的。 我得到异常的代码行是

bmOutImg = Bitmap.createBitmap(bmInImg.getWidth(), bmInImg.getHeight(),Config.ARGB_8888);

我不想将图像调整为更小的分辨率 谁能告诉我解决此问题的确切代码解决方案。我将非常感激!

最佳答案

问题很简单,我没有在原生 C++ 代码中释放数组。

关于Android图像处理过滤器导致OutOfMemory Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26675628/

相关文章:

java - 排序列表查看搜索数据

java - 将 Java 转换为 Kotlin : Type mismatch. 需要 : MenuSlidingTabStrip. OnTabSelectedListener?发现 : (Nothing, Nothing) → Boolean

c++ - GLSL 将颜色数据从片段着色器发送到顶点着色器似乎总是等于 0

python - 使用 OpenCV 进行视频处理

c++ - OpenCV像素化算法

opencv - 尝试使用 OpenCV 捕获显示输出以进行实时分析;我需要帮助来连接操作系统以进行输入

java - 为回收器适配器中的一个数组项膨胀两个 View

c++ - 为什么 POSIX 被称为 "Portable Operating System Interface"?

c++ - 为什么 unordered_set 不提供数组访问运算符

java - Webview 不加载 html 或 javascript Android