Android Studio 解码文件不起作用,如何进行?

问题描述

camera.java

final File file = new File(getExternalFilesDir(null),"/CCA_" + new SimpleDateFormat("yyyy-MM-dd_HHmmss",Locale.getDefault()).format(new Date()) + ".jpg");
                    ImageReader.OnImageAvailableListener readerListener = new ImageReader.OnImageAvailableListener() {
                        @Override
                        public void onImageAvailable(ImageReader imageReader) {
                            Image image;
                            image = reader.acquireLatestimage();
                            ByteBuffer buffer = image.getPlanes()[0].getBuffer();
                            byte[] bytes = new byte[buffer.capacity()];
                            buffer.get(bytes);
                            OutputStream outputStream = null;
                            try {
                                outputStream = new FileOutputStream(file);
                                outputStream.write(bytes);
                                imgTaken =  file.getPath();
                            } catch (FileNotFoundException e) {
                                e.printstacktrace();
                            } catch (IOException e) {
                                e.printstacktrace();
                            } finally {
                                if (outputStream != null) {
                                    try {
                                        outputStream.close();
                                    } catch (IOException e) {
                                        e.printstacktrace();
                                    }
                                }
                            }
                        }
                    };

使用此功能保存拍摄的图像。

scenarioFire.java

Bitmap bmpPhoto =  BitmapFactory.decodeFile(imageFilePath);

List<ImageDetection.Recognition> predictions = imageDetection.recognizeImage(bmpPhoto,0);
final List<String> lstPredictions = new ArrayList<>();

for(ImageDetection.Recognition recognition : predictions){
    lstPredictions.add(recognition.getName() + "- Confidence: " + recognition.getConfidence());
    Log.e("Prediction: ",recognition.getName() + "- Confidence: " + recognition.getConfidence());
    imageContains += recognition.getName() + "- Confidence: " + recognition.getConfidence() + "\n";
}

在此文件中,我试图将 jpeg 解码为位图,以便将其传递给 tensorflow 函数以识别图像,但无法解码图像。

我在大多数论坛上尝试了所有解决方案,但似乎没有任何效果

一直返回 null。我试图看看它是否是影响它的大小或位置,但这些似乎没问题。 不知道怎么办

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)