我在我的Android应用程序中使用OpenCV2.4.7库.当应用程序启动时,它将转到应用程序的Google Play商店,名为OpenCV Manager.有没有办法在我的Android apk中集成这个应用程序,因为我们已经使用OpenCV库,为什么app需要再次使用OpenCV Engine?他们有什么办法整合这个引擎吗?
Chi*_*hod 24
是.要在应用程序中集成OpenCV,并避免显式安装OpenCV管理器,您需要先阅读OpenCV提供的以下文档.
首先阅读 - > OpenCV的静态初始化
成功执行步骤后,您需要编写以下代码以在调用OpenCV API之前在应用程序初始化代码中启用OpenCV.例如,它可以在Activity类的静态部分中完成:
static {
if (!OpenCVLoader.initDebug()) {
// Handle initialization error
}
}
Run Code Online (Sandbox Code Playgroud)
参考文献:
根据Document中的新方案,并感谢@rozhok提供新信息,initDebug()方法不能用于生成构建
注意对于生产代码,不推荐使用此方法.它仅用于实验和本地开发目的.如果要使用异步初始化发布应用程序使用方法.
您需要使用以下方法
句法
static boolean initAsync(String Version, Context AppContext, LoaderCallbackInterface Callback)
Run Code Online (Sandbox Code Playgroud)
例
public class Sample1Java extends Activity implements CvCameraViewListener {
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS:
{
Log.i(TAG, "OpenCV loaded successfully");
mOpenCvCameraView.enableView();
} break;
default:
{
super.onManagerConnected(status);
} break;
}
}
};
@Override
public void onResume()
{
super.onResume();
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_6, this, mLoaderCallback);
}
...
}
Run Code Online (Sandbox Code Playgroud)
参考
| 归档时间: |
|
| 查看次数: |
25896 次 |
| 最近记录: |