Android 在没有摄像头的情况下,如何将OpenCV与存储的图像一起使用?
在不使用JavaCameraView的情况下,如何使用OpenCV处理智能手机上保存的一些图像 我想处理保存在SD卡上的图像,然后在屏幕上显示处理结果。我根据opencv4android库中的教程实现了我的,他们使用onCameraFrame方法显示图像,实现CameraViewListener和使用CameraBridgeViewBase。然而,我只想处理一幅图像,我不想用相机来捕捉图像,我认为这些元素可能是不必要的Android 在没有摄像头的情况下,如何将OpenCV与存储的图像一起使用?,android,opencv,Android,Opencv,在不使用JavaCameraView的情况下,如何使用OpenCV处理智能手机上保存的一些图像 我想处理保存在SD卡上的图像,然后在屏幕上显示处理结果。我根据opencv4android库中的教程实现了我的,他们使用onCameraFrame方法显示图像,实现CameraViewListener和使用CameraBridgeViewBase。然而,我只想处理一幅图像,我不想用相机来捕捉图像,我认为这些元素可能是不必要的 如何在不使用相机的情况下更改opencv4android库并使用OpenCV
如何在不使用相机的情况下更改opencv4android库并使用OpenCV处理存储的图像?如果有人仍在寻找答案:
package com.example.ocv4androidwithoutcamera;
import org.opencv.android.BaseLoaderCallback;
import org.opencv.android.InstallCallbackInterface;
import org.opencv.android.LoaderCallbackInterface;
import org.opencv.android.OpenCVLoader;
import org.opencv.core.Mat;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.widget.Toast;
public class MainActivity extends Activity implements LoaderCallbackInterface {
protected BaseLoaderCallback mOpenCVCallBack = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS:
{
onOpenCVReady();
} break;
default:
{
super.onManagerConnected(status);
} break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onResume()
{
super.onResume();
Log.i("DEMO", "Trying to load OpenCV library");
if (!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_4, this, mOpenCVCallBack))
{
Log.e("DEMO", "Cannot connect to OpenCV Manager");
}
}
protected void onOpenCVReady(){
//this should crash if opencv is not loaded
Mat img = new Mat();
Toast.makeText(getApplicationContext(), "opencv ready", Toast.LENGTH_LONG).show();
}
@Override
public void onManagerConnected(int status) {
// TODO Auto-generated method stub
}
@Override
public void onPackageInstall(int operation,
InstallCallbackInterface callback) {
// TODO Auto-generated method stub
}
}
不要忘记在projectproperties=>Android=>library中添加opencv库