【问题标题】:jpeg ImageFormat byte array to Bitmap in androidjpeg ImageFormat字节数组到Android中的位图
【发布时间】:2014-01-20 06:38:55
【问题描述】:

我正在尝试使用由另一个自定义视图覆盖的相机预览来开发一个简单的应用程序。我的目标是从Camera.PreviewCallback.onPreviewFrame(byte[] data, Camera camera) 获取帧数据,将其转换为位图并调用FaceDetector.findFaces(Bitmap bitmap, Face[] faces)。我需要在覆盖的自定义视图上检测面部并在检测到的面部上绘制框。

我正在寻找一种更快的方法将 jpg 编码的字节数组转换为位图图像。我的相机 ImageFormat 是 JPEG,我是使用 Camera.Paramaeters.getPictureFormat () 知道的。我希望转换能够快速发生,否则我将不得不丢帧进行处理以避免崩溃。

我进行了一些搜索以找到 Getting frames from Video Image in Android 来处理 YUV 格式,但找不到将 jpg 编码数组转换为位图的任何内容。

【问题讨论】:

    标签: android bitmap bytearray jpeg


    【解决方案1】:

    以防万一你没有发现它:

    如果您的目标是运行 Android 4.0 或更高版本的设备,则在预览中检测人脸的功能原生包含在 Android SDK 中。这样可以省去(缓慢且昂贵的)相机帧到位图的转换,我想这将无法为您提供您可能期望的实时人脸检测......

    查看Camera.FaceDetectionListener 类,以及如何将它与Camera.setFaceDetectionListenerCamera.startFaceDetectionCamera.stopFaceDetection 一起使用。

    希望这会有所帮助!

    【讨论】:

    • 这实际上是一个原型。现在我正在使用 android 的本机人脸检测,但我必须用不同的算法替换检测,即远程服务器的服务器。此外,人脸检测只是其中一个过程,还需要进一步的处理,从其他传感器获取数据,其中大部分将在远程服务器上处理。我知道这种架构听起来很奇怪,但它只是一个概念证明。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 2011-08-30
    • 2012-07-28
    • 1970-01-01
    相关资源
    最近更新 更多