android 代码 lut,Android BitmapFactory.decodeResource()错误或用于加载大LUT的替代选项...

 2023-09-11 阅读 17 评论 0

摘要:我正在创建一个图像处理应用程序,它需要一些相当大的查找表。目前,我已将表格保存为应用程序资源/原始目录中的.txt文件,作为值为3x4913的数组(3代表R,G,B)。在应用程序启动时加载所有这些(9)LUT需要非常慢的25秒或更长时间。Android Bitm

我正在创建一个图像处理应用程序,它需要一些相当大的查找表。目前,我已将表格保存为应用程序资源/原始目录中的.txt文件,作为值为3x4913的数组(3代表R,G,B)。在应用程序启动时加载所有这些(9)LUT需要非常慢的25秒或更长时间。Android BitmapFactory.decodeResource()错误或用于加载大LUT的替代选项

我的同事建议我将LUT数据本身保存为png格式,我已经完成了9个不同的宽度为1和高度为4913的图像。我将它们放置在可绘制文件夹中并尝试解码他们使用BitmapFactory.decodeResource(),,它适用于任何其他可绘制而没有错误。当我与LUT图像做到这一点,点击调试器“查看位图”,它说:

“而评估表达错误:方法扔‘Java.Lang.IllegalArgumentExpression’例外”

我什至尝试使用一些BitmapFactory选项,但具有相同的结果:

BitmapFactory.Options options = new BitmapFactory.Options();

options.inScaled = false;

options.outHeight = 4913;

options.outWidth = 1;

// Error here

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), lutIds[n], options);

bitmap.getPixels(pixels, 0, 1, 0, 0, 1, 4913);

有什么建议吗?或者,或者,我还有什么想法可以快速加载每次应用程序启动时的数据。每个数字的最大值是255,因此它们可以被短裤储存。

谢谢!

注:LUT PNG图像显示精细的任何图像浏览软件

+0

“在应用程序启动时加载所有这些(9)LUT需要很慢的25秒或更长时间” - 代码生成一个包含LUT的Java类。在应用程序中包含该Java源代码。 “有什么建议么?” - 发布整个Java堆栈跟踪。 –

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/43238.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息