Detección de elipse con OpenCV
Me gustaría detectar elipses con OpenCV para Android, utilizando el Tutorial 2-Basic incluido con el paquete OpenCV 2.4.1 como punto de partida. Tenga en cuenta que mi elipse sería una perfecta-photoshop uno.
Por lo que entiendo, el uso de "HoughCircles" sólo encontrará círculos perfectos (o así), dejando así elipses.
- Cómo hacer un fadein de una imagen en una pantalla de Android Activity?
- Android: procesamiento de imágenes en tiempo real
- Android cómo hacer la diapositiva de pantalla de imagen?
- OutOfMemoryError: Android gran rotación de mapa de bits (90 °)
- ¿Cómo identificar imágenes similares a pesar de haber sido recortadas?
Cualquier ayuda sería muy apreciada ya que soy un principiante total en OpenCV
Esto es lo que he intentado hasta ahora
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;
Si piensa que cualquier información más podría ser útil, por favor hágamelo saber.
- Error al establecer ROI OpenCV Android
- Com.android.camera.action.CROP establece fondo de pantalla en Motorola Defy
- Imagen de Android magick
- ¿Es posible cortar un mapa de bits a piezas pequeñas sin cargar toda la cosa en la memoria?
- Sobel Edge Detection en Android
- Optimización de la mezcla por pixel en mapas de bits de Android
- Convertir un mapa de bits en GrayScale en Android
- Procesamiento de imágenes en Android
Una posible solución a su problema es similar a este hilo Detección de monedas (y elipses en forma) en una imagen .
Usted debe echar un vistazo a la función de un opencv fitEllipse .
Los parámetros utilizados en HoughCircles
desempeñan un papel fundamental. HoughCircles
detectará no sólo círculos perfectos, sino también casi perfectos (elipses). Le sugiero que compruebe estos ejemplos:
- Cómo detectar círculos (monedas) en una foto
- Detección simple de objetos con OpenCV
- Detección de puntos de OpenCV
- Remodelación de la moneda ruidosa en forma de círculo
Y esta respuesta tiene una colección decente de referencias.
Si ya tiene una idea de los tamaños de las elipses que está buscando, pruebe los pasos siguientes:
- Encuentra Canny bordes en la imagen
- Utilice una ventana deslizante, cuyo tamaño es la longitud máxima del eje principal de las elipses que está buscando.
- Dentro de la ventana, recopile todos los píxeles del borde, elija 6 píxeles al azar y utilice los mínimos cuadrados lineales para ajustar una elipse en la forma general .
- Repita el paso anterior en un procedimiento similar a RANSAC.
- Si hay suficientes inliers, tiene una elipse.