小编rcm*_*lli的帖子

如何从灰度字节缓冲区图像创建位图?

我正在尝试使用新的Android脸部检测移动视觉API来处理帧图像.

所以我创建了自定义检测器以获取Frame并尝试调用getBitmap()方法,但它为null,因此我访问了帧的灰度数据.有没有办法从它创建位图或类似的图像持有者类?

public class CustomFaceDetector extends Detector<Face> {
private Detector<Face> mDelegate;

public CustomFaceDetector(Detector<Face> delegate) {
    mDelegate = delegate;
}

public SparseArray<Face> detect(Frame frame) {
    ByteBuffer byteBuffer = frame.getGrayscaleImageData();
    byte[] bytes = byteBuffer.array();
    int w = frame.getMetadata().getWidth();
    int h = frame.getMetadata().getHeight();
    // Byte array to Bitmap here
    return mDelegate.detect(frame);
}

public boolean isOperational() {
    return mDelegate.isOperational();
}

public boolean setFocus(int id) {
    return mDelegate.setFocus(id);
}}
Run Code Online (Sandbox Code Playgroud)

android bitmap grayscale google-vision android-vision

9
推荐指数
1
解决办法
3746
查看次数

Android Camera2 API显示已处理的预览图像

新的Camera 2 API与旧的相比非常不同.显示操纵的相机帧到管道的用户部分让我感到困惑.我知道使用Android L和Camera2 API相机预览图像数据处理有很好的解释,但显示帧仍然不清楚.我的问题是,在一些处理过程中,在ImageReaders回调函数中显示帧的方式是什么,同时保持Camera2 api管道的效率和速度?

示例流程:

camera.add_target(imagereader.getsurface) - >关于imagereaders回调做一些处理 - >(在屏幕上显示已处理的图像?)

解决方法创意:每次处理新帧时,都会将位图发送到imageview.

android android-camera

6
推荐指数
1
解决办法
9005
查看次数