OpenCV-Android java.lang.IllegalArgumentException:bmp ==空错误

时间:2019-03-07 05:57:54

标签: java android opencv illegalargumentexception

我收到此错误。

  

java.lang.IllegalArgumentException:bmp == null

我提到了此链接

OpenCV - Android : java.lang.IllegalArgumentException: bmp == null

所以我编写了这样的代码。

  

inputBitmap.createBitmap(matInput.cols(),matInput.rows(),   Bitmap.Config.ARGB_8888);

这是我与位图有关的代码

private ImageView imageView_matInput;
private ImageView imageView_matResult;
private Mat matInput;
private Mat image_matches;
Bitmap myBitmap = null;
Bitmap inputBitmap = null;
Bitmap resultBitmap = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test);

    matInput = new Mat();
    image_matches = new Mat();

    imageView_matInput = (ImageView)findViewById(R.id.imageView_matInput);
    imageView_matResult = (ImageView)findViewById(R.id.imageView_matResult);

    File imageFile = new File(Global.imageFileName);

    if(imageFile.exists()) {
        myBitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath());
        Log.d(TAG, imageFile.getAbsolutePath());
    }

    processingImage();


}

public void processingImage() {

    Utils.bitmapToMat(myBitmap, matInput);
    Imgproc.cvtColor(matInput, matInput, Imgproc.COLOR_RGB2GRAY);
    surfWithFlann4(matInput.getNativeObjAddr(), image_matches.getNativeObjAddr());

    Imgproc.resize(image_matches, image_matches, matInput.size());

    inputBitmap.createBitmap(matInput.cols(), matInput.rows(), Bitmap.Config.ARGB_8888);
    Utils.matToBitmap(matInput, inputBitmap);
    resultBitmap.createBitmap(image_matches.cols(), image_matches.rows(), Bitmap.Config.ARGB_8888);
    Utils.matToBitmap(image_matches, resultBitmap);

    imageView_matInput.setImageBitmap(inputBitmap);
    imageView_matResult.setImageBitmap(resultBitmap);
}

Global是一个类,具有相机拍摄的图像的路径。

matInput不为null,surfWithFlann4是一个本机函数,用于将相机拍摄的图片与资产目录中的图像进行比较。

java.lang.IllegalArgumentException: bmp == null错误在这里发生

  

Utils.matToBitmap(matInput,inputBitmap);

0 个答案:

没有答案