2014-09-03 108 views
1

我想加载图像与Android类opencv上的垫子,但我有一些错误。 我在我的项目中添加库。我的代码是: private CameraBridgeViewBase mOpenCvCameraView;
私人BaseLoaderCallback mLoaderCallback =新BaseLoaderCallback(本){ @覆盖 公共无效onManagerConnected(INT状态){ 开关(状态){ 情况LoaderCallbackInterface.SUCCESS: { Log.i(TAG, “OpenCV的成功加载” ); mOpenCvCameraView.enableView(); } break; 默认值: { super.onManagerConnected(status); } break; } } };无法加载图像到垫子opencv

@Override 
public void onResume() 
{ 
    super.onResume(); 
    OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_6, this, mLoaderCallback); 
} 



@Override 
public void onCreate(Bundle savedInstanceState) { 
    Log.i(TAG, "called onCreate"); 
    super.onCreate(savedInstanceState); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 
    setContentView(R.layout.activity_main); 
    mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.HelloOpenCvView); 
    mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE); 
    mOpenCvCameraView.setCvCameraViewListener(this); 
    if (!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this, mLoaderCallback)) 
    { 
     Log.e(TAG, "Cannot connect to OpenCV Manager"); 
    } 
    else 
     Log.i(TAG, "Load it"); 

    Mat Image = Highgui.imread("/mnt/sdcard/1.jpg"); 

} 

@Override 
public void onPause() 
{ 
    super.onPause(); 
    if (mOpenCvCameraView != null) 
     mOpenCvCameraView.disableView(); 
} 

public void onDestroy() { 
    super.onDestroy(); 
    if (mOpenCvCameraView != null) 
     mOpenCvCameraView.disableView(); 
} 

public void onCameraViewStarted(int width, int height) { 
} 

public void onCameraViewStopped() { 
} 


public Mat onCameraFrame(CvCameraViewFrame inputFrame) { 
    return inputFrame.rgba(); 
} 

登录:

enter image description here

感谢

回答

1

不能使用中的onCreate(任何 OpenCV的代码)

所谓与OpenCV中的本地代码未加载然而,你将不得不等待,直到mLoaderCallback 完成

是,将席子任何操作onCameraViewStarted()

+0

感谢,它的工作 – 2014-09-03 08:23:26