使用OpenCV进行椭圆检测

zer*_*mes 11 java android opencv image-processing computer-vision

我想用OpenCV for Android检测省略号,使用OpenCV 2.4.1包中的Tutorial 2-Basic作为起点.请注意,我的椭圆将是一个完美的Photoshop.

根据我的理解,使用"HoughCircles"只会找到完美(或如此)的圆圈,从而留下椭圆.

任何帮助都会非常感激,因为我是OpenCV的初学者

这是我到目前为止所尝试的

    case Sample2NativeCamera.VIEW_MODE_CANNY: (ignore the Canny mode...)

        capture.retrieve(mGray, Highgui.CV_CAP_ANDROID_GREY_FRAME);
        Imgproc.HoughCircles(mGray, mCircles, Imgproc.CV_HOUGH_GRADIENT, 1, 20);
        Log.d("Ellipse Points", " X " + mCircles.get(1,1)[0] + mCircles.get(1, 1)[1]);

        break;
Run Code Online (Sandbox Code Playgroud)

如果您认为任何更多信息可能有用,请告诉我.

Rui*_*ues 7

您的问题的一种可能解决方案类似于此线程在图像上检测硬币(和拟合椭圆).

你应该看一下opencv的函数fitEllipse.


kar*_*lip 5

用于HoughCircles发挥基本作用的参数.HoughCircles将不仅检测完美,还检测近乎完美的圆圈(椭圆).我建议你查看这个例子:

这个答案有引用的一个体面的集合.