android - 使用带有 MLKit 的 AndroidX 相机时 inputImage.getByteBuffer() 为 null
问题描述
这是我的 Activity 类的代码:
@Override protected void onCreate(Bundle savedInstanceState)
{
requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
_cpf = ProcessCameraProvider.getInstance(this);
_cpf.addListener(new Runnable() {
@Override
public void run() {
try {
ProcessCameraProvider cameraProvider = _cpf.get();
bindImageAnalysis(cameraProvider);
} catch (ExecutionException | InterruptedException e) {
e.printStackTrace();
}
}
}, ContextCompat.getMainExecutor(this));
}
private void bindImageAnalysis(@NonNull ProcessCameraProvider cameraProvider) {
ImageAnalysis imageAnalysis =
new ImageAnalysis.Builder().setTargetResolution(new Size(640, 360))
.setBackpressureStrategy(ImageAnalysis.STRATEGY_KEEP_ONLY_LATEST).build();
imageAnalysis.setAnalyzer(ContextCompat.getMainExecutor(this), new ImageAnalysis.Analyzer() {
@Override
public void analyze(@NonNull ImageProxy ip) {
processImage(ip.getImage(), ip.getImageInfo().getRotationDegrees());
ip.close();
}
});
CameraSelector cameraSelector = new CameraSelector.Builder().requireLensFacing(CameraSelector.LENS_FACING_BACK).build();
cameraProvider.bindToLifecycle((LifecycleOwner)this, cameraSelector, imageAnalysis);
}
在每个analyze
回调中,MLKit 都指示它
InputImage.fromMediaImage(ip.getImage(),ip.getImageInfo().getRotationDegrees()).getByteBuffer()
为空。我该如何解释这个?这是否总是意味着图像为空?
解决方案
推荐阅读
- javascript - 量角器中的 by.tagName 与 by.css
- dns - 为什么我不能在我的 CentOS VPS 上与 tcp/3000 上的服务通话
- javascript - JSON 两次返回 url
- python - Ubuntu 18.04 上的张量流
- javascript - 从文件中获取日期,而不是在 js 文件中声明它
- php - 流明中间件排序(优先级)
- batch-file - 如何将多个文件夹复制到目录名称为当前年份和月份的新目录?
- python - 使用 BioPython 读取 fasta 文件时如何修复“生成器”对象不可下标”错误
- python - 如何一次读取多个文本文件并使用数据?
- apache-spark - EMR 集群利用率