有没有一种简单的方法可以将相机的 onPreviewFrame 中的字节数组转换为 android 中的图片?

2023-11-23

我问是否有一个简单的方法,因为有一个谷歌问题报告说使用decodeByteArray是不可能的。但该报告起源于 2008 年,我希望那里没有发布解决方案。问题报告中列出的方法是自己解码格式,但我不想将其放入并减慢程序速度。任何帮助将不胜感激。


我假设你的字节数组来自相机预览?如果是这样,您必须对其进行解码,但对于 2.2,现在就很容易了。

从字节数组创建 YUV 图像,因为数据仅位于ImageFormat.NV21( int code 17)

img = new YuvImage(imgData, ImageFormat.NV21, width, height, null);

创建一个与图像大小相同的矩形。

创建一个ByteArrayOutputStream并将其、矩形和压缩值传递给compressToJpeg().

然后你可以使用

Bitmap mBitmap = BitmapFactory.decodeByteArray(outputStream.toByteArry(),0,outputStream.size());

我在回调中的每一帧都使用它,效果很好。希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有一种简单的方法可以将相机的 onPreviewFrame 中的字节数组转换为 android 中的图片? 的相关文章

随机推荐

  • 如何在Python中将函数作为函数参数传递

    这是我目前拥有的并且运行良好 def iterate seed num x seed orbit x for i in range num x 2 x 1 x orbit append x return orbit 现在 如果我想将第 5
  • 如何创建一个可以固定行和列滚动的自定义控件?

    我试图弄清楚如何制作一个自定义控件 使用户可以向各个方向滚动 但具有固定的行和列 网格不适合我想要做的事情 因为它逐列滚动 我需要水平滚动逐像素平滑 我没有使用列 只有视觉网格线 垂直滚动不仅应该滚动右侧的区域 还应该滚动左侧的固定区域 与
  • Git - 不包括 {} 的颜色词

    我使用 git 和 color words 来查看我的差异 在我的差异中 它表明我删除了 b ljcount b nbsp nbsp nbsp Changes 我补充说 b skills limits b nbsp nbsp nbsp Ch
  • 避免 C/C++ 中内存泄漏的方法

    我可以使用哪些技巧来避免应用程序中的内存泄漏 在我当前的项目中 我使用一个工具 INSURE 来查找内存泄漏并生成报告 除了该工具之外 还有任何方法可以识别内存泄漏并克服它 有三种主要方法可以做到这一点 第一个是不会造成内存泄漏首先 防御性
  • AFL 警告:最后一个新路径:还没有(奇怪,请检查语法!)

    我有这个警告 最后一个新路径 还没有 奇怪 检查语法 在我尝试模糊文件后呈红色 我不知道为什么会发生这种情况 我用谷歌搜索也没有答案 我的命令是这样的 afl fuzz i testcases o findings tcpdump 4 6
  • 测试中模拟 EJB 注入

    每当我想测试一个使用资源注入的类时 我最终都会包含一个仅在测试中使用的构造函数 public class A EJB B b Used in tests to inject EJB mock protected A B b this b b
  • SFTP 路径格式与本地路径格式

    我正在编写一些 Java 代码 使用 JSch 库 通过 SFTP 到远程 Windows 计算机 并将文件复制到我的本地 Windows 文件夹 当指定远程计算机上的文件路径时 我被迫以以下格式指定路径 C temp myfile txt
  • Android MediaPlayer:基于 URI 播放 Raw 音频资源

    我试图解决的问题是在一个需要播放音频文件的活动中 大多数文件将由用户创建 并保存到外部存储中 因此使用以下代码播放 基于 Google 的示例代码 MediaPlayer mPlayer new MediaPlayer mPlayer se
  • python manage.py runserver、shell、dbshel​​l 在 git-bash 上冻结

    我试图在 Windows 的 git bash 上的 python virtualenv 中运行交互式 shell 但它没有运行 奇怪的是 它似乎没有做任何事情 只是光标在下一行上闪烁 没有给出任何输出 python manage py s
  • 如何在 EPPlus 中将数据透视表报表布局设置为表格?

    查看 EPPlus 附带的示例 我已成功创建数据透视表 但无法为其设置正确的报告布局 我希望它是 表格 而不是 轮廓 或其他什么 对我来说 EPPlus 现在似乎不支持这一点 但也许我错过了一些东西 事实证明 这比我想象的要容易得多 通过将
  • Android WebView:按钮响应非常滞后

    我制作了一个小网络应用程序来使用 Android 的 WebView 功能 我有一些用作按钮的 div 带有onclick属性 尝试该应用程序后 在设备的浏览器中 我立即注意到点击按钮后有很大的延迟 当我点击按钮和浏览器在其周围显示橙色突出
  • Python:停止正在等待用户输入的线程

    我试图让我的脚本在用户按下返回键时触发用户输入 然后主程序将检查 txUpdated 标志并使用该输入 我有一个在 python 中运行的线程 它只是等待用户输入 class InputThread threading Thread def
  • Eclipse IDE 支持 JSF 2.0 吗?

    我安装了 WTP 3 1 插件 还安装了 Glassfish v3 插件 我可以注册我的服务器 当我创建动态 Web 项目时 我可以看到可用的最大动态 Web 模块版本是 2 5 然后 我选择 Glassfish v3 的默认配置 但是当我
  • pandas if else 条件多列[重复]

    这个问题在这里已经有答案了 假设我有以下 df import pandas as pd data dic a 0 0 1 2 b 0 3 4 5 c 6 7 8 9 df pd DataFrame data dic Result a b c
  • 如何使用 R 调用/执行 imageJ 宏?

    我在 imageJ 中编写了一个宏 它会输出一个数据帧 然后在 R 中对其进行分析 我希望能够在 R 中完成整个过程 而不必先在 imageJ 中手动运行该宏 目前 宏会提示用户输入和输出目录 然后执行操作 我想 R 中一定有一个函数可以让
  • 在 Eclipse 中生成 JavaDocs 时出现“找不到模块”消息

    我正在尝试在我的应用程序中生成 JavaDocs 但是 当我尝试时 我收到以下消息 application src module info java 5 error module not found javafx base requires
  • 无法使用 exoPlayer 2.11 播放 MKV Matroska 视频

    当我尝试播放时在我的视频播放器中MKV Matroska文件保持静止 视频未播放 我跟着CodeLabs and ExoPlayer开发并构建可以播放的播放器 MP4但无法播放 MKV 这是我的播放器 exoplayer 2 11 5 pr
  • Pandas pd.Series.isin 集合与数组的性能

    一般来说 在 Python 中 可哈希集合的成员资格最好通过以下方式进行测试set 我们知道这一点是因为散列的使用为我们提供了 O 1 查找复杂度 而对于list or np ndarray 在 Pandas 中 我经常需要检查非常大的集合
  • System.Diaganostics.Process.Id 与任务管理器中显示的进程 ID 不同。为什么?

    我正在使用 C System Diagnostic Process object 它的属性之一是Id The Id这产生的与PID 如图所示Windows Task Manager 为什么是这样 你看 一旦这个过程开始 它启动了另外两个非托
  • 有没有一种简单的方法可以将相机的 onPreviewFrame 中的字节数组转换为 android 中的图片?

    我问是否有一个简单的方法 因为有一个谷歌问题报告说使用decodeByteArray是不可能的 但该报告起源于 2008 年 我希望那里没有发布解决方案 问题报告中列出的方法是自己解码格式 但我不想将其放入并减慢程序速度 任何帮助将不胜感激