Quantcast
Channel: OpenCV Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 1117

GaborFilter Android

$
0
0
I have a problem with GaborFilter in Android. I try to implement this filter because CannyFilter is too weak for my purposes. I want to use it to get edges with great accuracy from the image provided by the user but when I call this method I get problems with src.type. Does my image is in wrong format? GaborFilter implementation: private Bitmap gaborFilter(Bitmap bitmap){ Mat tmp = new Mat(); Utils.bitmapToMat(bitmap, tmp); Mat edges = new Mat(tmp.size(), CvType.CV_32F); //tmp.convertTo(tmp, CvType.CV_8U); //Imgproc.cvtColor(tmp, edges, Imgproc.COLOR_RGB2GRAY, 4); double sigma = 15, theta = 4.71, lambda = 50, gamma = 0.6; Mat kernel = Imgproc.getGaborKernel(new Size(3,3),sigma,theta,lambda,gamma); Imgproc.filter2D(tmp, edges, CvType.CV_32F, kernel); Bitmap resultBitmap = Bitmap.createBitmap(tmp.cols(), tmp.rows(), Bitmap.Config.ARGB_8888); Utils.matToBitmap(dst, resultBitmap); return resultBitmap; } Error that I received: > java.lang.RuntimeException: Failure> delivering result ResultInfo{who=null,> request=11, result=-1, data=Intent {> dat=content://com.android.providers.media.documents/document/image:42> flg=0x1 }} to activity> {com.example.janekxyz.teest/com.example.janekxyz.teest.MainActivity}:> CvException> [org.opencv.core.CvException:> /build/master_pack-android/opencv/modules/java/generator/src/cpp/utils.cpp:98:> error: (-215) src.type() == CV_8UC1 ||> src.type() == CV_8UC3 || src.type() ==> CV_8UC4 in function void> Java_org_opencv_android_Utils_nMatToBitmap2(JNIEnv*,> jclass, jlong, jobject, jboolean)] Any thoughts how can I make this code run? **P.S.** I'm new to OpenCV.

Viewing all articles
Browse latest Browse all 1117

Trending Articles