本文共 1322 字,大约阅读时间需要 4 分钟。
要在安卓上实现自定义图像识别,我们需要用到opencv-android-sdk先上效果图
下面来讲讲具体实现思路:
3、将训练好的数据集加载进行识别
InputStream is = getResources().openRawResource(R.raw.cascade); File cascadeDir = getDir("cascade", Context.MODE_PRIVATE); mCascadeFile = new File(cascadeDir, "lbpcascade_frontalface.xml"); FileOutputStream os = new FileOutputStream(mCascadeFile); byte[] buffer = new byte[4096]; int bytesRead; while ((bytesRead = is.read(buffer)) != -1) { os.write(buffer, 0, bytesRead); } is.close(); os.close(); mJavaDetector = new CascadeClassifier(mCascadeFile.getAbsolutePath()); if (mJavaDetector.empty()) { Log.e(TAG, "Failed to load cascade classifier"); mJavaDetector = null; } else Log.i(TAG, "Loaded cascade classifier from " + mCascadeFile.getAbsolutePath()); mNativeDetector = new DetectionBasedTracker(mCascadeFile.getAbsolutePath(), 0); cascadeDir.delete();
整个工程已上传有需要请复制下面链接:
参考博客:
环境配置:
自定义目标训练: