www verificar vehiculos transito tiene saber requisitos renovacion precios para multas licencia gov dtop conductor conducir como cesco image ocr computer-vision anpr

image - vehiculos - verificar multas en licencia de conducir



¿Cómo reconocer la licencia del vehículo/matrícula(ANPR) de una imagen? (12)

Biblioteca ANPR de alto rendimiento: http://www.dtksoft.com/dtkanpr.php . Esto es comercial, pero proporcionan la clave de prueba.

Tengo un sitio web que permite a los usuarios subir imágenes de automóviles y me gustaría poner un filtro de privacidad en su lugar para detectar placas de matrícula en el vehículo y desenfocarlas.

La borrosidad no es un problema, pero ¿hay alguna biblioteca o componente (se prefiere el código abierto) que ayudará a encontrar una licencia dentro de una foto?

Advertencias

  1. Sé que nada es perfecto y el reconocimiento de imágenes de este tipo proporcionará falsos positivos y negativos.
  2. Aprecio que podamos pedirle al usuario que seleccione el área para desenfocar y también haremos esto, pero la pregunta es específicamente sobre cómo encontrar esa información mediante programación; por lo que las respuestas como ''obtener una persona para verificar cada imagen'' no son útiles.
  3. Este método de software se llama ''Automatic Number Plate Recognition'' en el Reino Unido, pero no puedo ver ninguna implementación de él como bibliotecas.
  4. Cualquier idioma es excelente aunque se prefiere .Net.

Codifiqué una versión C # basada en JAVA ANPR, pero cambié las funciones de la biblioteca awt con OpenCV. Puede verificarlo en http://anprmx.codeplex.com


Eche un vistazo a Java ANPR . Reconocimiento gratuito de matrícula ...


Hay una nueva biblioteca de código abierto en GitHub que hace ANPR para placas estadounidenses y europeas. Se ve bastante preciso y debería hacer exactamente lo que necesita (reconozca las regiones de las placas). Aquí está el proyecto GitHub: https://github.com/openalpr/openalpr


He hecho un poco de google sobre esto hace un par de meses. Hay bastantes artículos sobre este tema, pero nunca encontré ninguna implementación de código abierto concreto. Sin embargo, hay muchas implementaciones comerciales , pero ninguna con una cotización, por lo que probablemente sean bastante caras.


La borrosidad no es un problema, pero ¿hay alguna biblioteca o componente (se prefiere el código abierto) que ayudará a encontrar una licencia dentro de una foto?

Respuesta: El motor de software CARMEN FreeFlow ANPR (Commerical)


Me encontré con este que está escrito en java javaPR , también estoy buscando una biblioteca.

Me gustaría un sistema en el que pueda apuntar una cámara de video en algunos barcos de vela, todos los cuales tienen números grandes e identificables, y haga que identifique los barcos y envíe un tweet cuando naveguen pasando una cámara de video.


Puede que funcione mirando el software de reconocimiento de caracteres, ya que hay muchas bibliotecas que realizan lo mismo. Estoy leyendo una imagen y la estoy almacenando. La oficina de Micrsoft puede leer archivos tiff y devolver alfanuméricos


Sí, uso gocr en http://jocr.sourceforge.net/ es una aplicación de línea de comandos que puede ejecutar desde su aplicación. Lo uso en algunas de mis aplicaciones.


prueba este Sistema de Reconocimiento de matrículas automático simple

http://opos.codeplex.com/

Código abierto y escrito con C #



EDITAR : escribí un script de Python para esto.

Como su objetivo es borroso (para la protección de la privacidad), básicamente necesita un detector de recall alto nivel como primer paso. Aquí se explica cómo hacer esto. Las sugerencias de código incluidas usan OpenCV con Python.

  1. Convierte a escala de grises
  2. Aplicar Desenfoque gaussiano.

    img = cv2.imread(''input.jpg'',1) img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) img_gray = cv2.GaussianBlur(img_gray, (5,5), 0)

Deje que la imagen de entrada sea la siguiente.

  1. Aplicar el filtro Sobel para detectar los bordes verticales.
  2. Umbral de la imagen resultante utilizando un umbral estricto o la binarización de OTSU.

    cv2.Sobel(image, -1, 1, 0) cv2.threshold()

  3. Aplicar una operación de cierre morfológico usando un elemento estructurador adecuado. (Utilicé 16x4 como elemento estructurador)

    se = cv2.getStructuringElement(cv2.MORPH_RECT,(16,4)) cv2.morphologyEx(image, cv2.MORPH_CLOSE, se)

Imagen resultante después del paso 5.

  1. Encuentra los contornos externos de esta imagen.

    cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)

  2. Para cada contorno, encuentre el minAreaRect() .

  3. Seleccione rectángulos según la relación de aspecto, el área mínima y máxima y el ángulo con la horizontal. (Utilicé 2.2 <= Relación de aspecto <= 8, 500 <= Área <= 15000 y ángulo <= 45 grados)

Todos los minAreaRect() s se muestran en naranja y el que cumple nuestros criterios está en verde.

  1. Puede haber falsos positivos después de este paso, para filtrarlo, usar densidad de bordes. La densidad del borde se define como el número de píxeles blancos / número total de píxeles en un rectángulo. Establezca un umbral para la densidad del borde. (Utilicé 0.5)

  1. Desenfoque las regiones detectadas.

Puede aplicar otros filtros que considere adecuados para aumentar la recuperación y la precisión. La detección también se puede entrenar usando HOG + SVM para aumentar la precisión.