OpenCV Android java.lang.IllegalArgumentException:bmp==null错误
我犯了这个错误 java.lang.IllegalArgumentException:bmp==null 我引用了这个链接 所以我编写了这样的代码 inputBitmap.createBitmap(matInput.cols(),matInput.rows(), 位图.Config.ARGB_8888) 这是我和位图相关的代码OpenCV Android java.lang.IllegalArgumentException:bmp==null错误,java,android,opencv,illegalargumentexception,Java,Android,Opencv,Illegalargumentexception,我犯了这个错误 java.lang.IllegalArgumentException:bmp==null 我引用了这个链接 所以我编写了这样的代码 inputBitmap.createBitmap(matInput.cols(),matInput.rows(), 位图.Config.ARGB_8888) 这是我和位图相关的代码 private ImageView imageView_matInput; private ImageView imageView_matResult; private
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)
交叉检查位图是否正确null@VivekMishra位图为空且mat不为空如果位图为空,则会导致此问题。inputBitmap=Bitmap.createBitmap(matInput.cols(),matInput.rows(),Bitmap.Config.ARGB_8888);交叉检查位图是否正确null@VivekMishra位图为空且mat不为空如果位图为空,则会导致此问题。inputBitmap=Bitmap.createBitmap(matInput.cols(),matInput.rows(),Bitmap.Config.ARGB_8888);