0
我是Android中的OpenCV實現新手。我使用下面的代碼來查找輪廓。Android Studio中未安裝Opencv包管理器
private void detectEdges(Bitmap bitmap) {
rgba = new Mat();
gray = new Mat();
hierarchy = new Mat();
Utils.bitmapToMat(bitmap, rgba);
Imgproc.cvtColor(rgba, gray, Imgproc.COLOR_RGBA2GRAY);
Imgproc.Canny(gray, gray, 50, 200);
List<MatOfPoint> contours = new ArrayList<MatOfPoint>();
// find contours:
Imgproc.findContours(rgba, contours, hierarchy, Imgproc.RETR_TREE,Imgproc.CHAIN_APPROX_SIMPLE);
for (int contourIdx = 0; contourIdx < contours.size(); contourIdx++) {
Imgproc.drawContours(rgba, contours, contourIdx, new Scalar(0, 0, 255), -1);
}
Bitmap tempBmp1 = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(),
bitmap.getConfig());
Utils.matToBitmap(gray, tempBmp1);
ivw.setImageBitmap(tempBmp1);
}
,但應用程序崩潰的錯誤 「java.lang.UnsatisfiedLinkError中:沒有長期org.opencv.core.Mat.n_Mat發現(實現)(試過Java_org_opencv_core_Mat_n_1Mat和Java_org_opencv_core_Mat_n_1Mat__)」
即使我試着添加opencv作爲異步任務:
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS:
{
Log.i("OpenCV", "OpenCV loaded successfully");
} break;
default:
{
super.onManagerConnected(status);
} break;
}
}
};
但它說我必須安裝OpenCV管理器,該怎麼辦? 任何幫助將不勝感激!