我正在尝试在我的应用中使用拉普拉斯:
Bitmap result = source.copy(source.getConfig(), true);
Utils.bitmapToMat(source, in);
Imgproc.Laplacian(in, out, 3, 3, 1, 0);
Utils.matToBitmap(out, result);
但是我收到以下错误:
E/cv::error()﹕ OpenCV Error: Assertion failed (src.type() == CV_8UC1 || src.type() == CV_8UC3 || src.type() == CV_8UC4) in void Java_org_opencv_android_Utils_nMatToBitmap2(JNIEnv*, jclass, jlong, jobject, jboolean)
答案 0 :(得分:1)
根据documentation Mat
仅接受CV_8U
CV_16S
深度Imgproc.Laplacian
。在您的示例中,您将输出深度指定为Imgproc.Laplacian(in, out, CvType.CV_8U, 3, 1, 0);
Utils.matToBitmap(out, result);
。您应该为ContentProvider
指定输出深度,如下所示:
ContentObserver
有关拉普拉斯语的信息,请参阅documentation。