Moments函数的实现缺失von openCV

时间:2016-10-14 08:23:09

标签: java android opencv

我正在尝试用android studio开发一个应用程序来捕捉闪烁LED的颜色。 我现在处于这一点,我得到了LED的位置,现在我想确定具有openCV类时刻的边界框中心。

Mat src = new.Mat(Bitmap.getHeight(), Bitmap.getWidth(), CvType.CV_8UC1);
Mat hsv = new Mat();

Utils.bitmapToMat(Bitmap, src);
Imgproc.cvtColor(src,hsv, Imgproc.COLOR_BGR2HSV);

Core.inRange(hsv,LOWER_RED,HIGHER_RED,hsv);
Imgproc.dilate(hsv,hsv,Imgproc.getStructuringElement(Imgproc.MORPH_VECT,new Size(50,50)));

List<MatOfPoint> contours = new ArrayList <>();
Mat hierarchy = new Mat();

Imgproc.findContours(hsv, contours, hierarchy, Imgproc.RETR_LIST, Imgproc.CHAIN_APPROX_SIMPLE);
hierarchy.release();

//finding Bounding Box Center
List<Moments> mu = new ArrayList<>(contours.size());
mu.add(1, Imgproc.moments(contours.get(1), false));

Utils.matToBitmap(hsv,Bitmap);

//...

带有Moments的行会带来以下错误消息:

找不到double [] org.opencv.imgproc.Imgproc.moments_0(long,boolean)的实现(尝试过Java_org_opencv_imgproc_Imgproc_moments_10和Java_org_opencv_imgproc_Imgproc_moments_10__JZ)

所以,如果我跳转到Imgproc.java,那么该方法会被红色标记并通过鼠标悬停跟随消息弹出:

无法解析相应的JNI函数Java_org_opencv_imgproc_Imgproc_moments_10 报告Java中的本机方法声明,其中没有在项目中找到相应的JNI函数。

感谢您阅读

任何人都可以帮助我吗?

0 个答案:

没有答案