Android 写后读图像
我已经写了一些Android代码,基本上我只使用内置摄像头拍照,保存它,然后尝试加载保存的文件,用它做一些事情Android 写后读图像,android,android-camera,Android,Android Camera,我已经写了一些Android代码,基本上我只使用内置摄像头拍照,保存它,然后尝试加载保存的文件,用它做一些事情 Camera camera = mPreview.getmCameraInstance(); Camera.PictureCallback pictureCallback = GetPictureCallback(mPreview.getmCameraInstance()); camera.takePicture(null, null, pictureCallback); Ma
Camera camera = mPreview.getmCameraInstance();
Camera.PictureCallback pictureCallback =
GetPictureCallback(mPreview.getmCameraInstance());
camera.takePicture(null, null, pictureCallback);
Mat image = Highgui.imread(String.valueOf(file)); //Load Image here
但是,我的应用程序崩溃了,因为它在我加载图像的行中找不到文件。我不明白这一点,因为我认为我的代码将按顺序执行,然后我存储文件的takePicture(…)
就已经完成了
你能帮我吗
编辑
当我将
线程.sleep(100)
放在前面时,我可以打开映像,因为它在当时已成功写入。您需要等到调用回调后才能读取映像
什么是GetPictureCallback
?如果是您自己的代码,则将图像读取移动到生成的回调中。。。如果没有,您可以执行以下操作:
Camera camera = mPreview.getmCameraInstance();
final Camera.PictureCallback otherPictureCallback =
GetPictureCallback(mPreview.getmCameraInstance());
camera.takePicture(null, null, new Camera.PictureCallback {
void onPictureTaken(byte[] data, Camera camera) {
otherPictureCallback.onPictureTaken(data, camera);
Mat image = Highgui.imread(String.valueOf(file)); //Load Image here
}
});
@MorrisonChang你能告诉我一个解决方案吗?我可以等待我的文件写入完成吗?这和一个按钮的onClickListener没有什么不同。这是一个好主意!我假设没有像使用
.join()
等待线程那样“等待”回调的方式,而不是自动的方式。