Visión de computadora: escáner de documentos con OpenCV y Python | Yacine Rouizi | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Visión de computadora: escáner de documentos con OpenCV y Python

teacher avatar Yacine Rouizi

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Descripción general

      1:08

    • 2.

      Instalación

      2:22

    • 3.

      Carga la imagen

      1:11

    • 4.

      Procesamiento de imagen

      1:30

    • 5.

      Usa los bordes para encontrar todos los contornos

      1:44

    • 6.

      Selecciona solo los bordes del documento

      3:22

    • 7.

      Aplicar la perspectiva de Warp para obtener la vista de arriba abajo del documento

      2:46

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

37

Estudiantes

--

Proyecto

Acerca de esta clase

En esta clase, crearás un escáner de documentos simple usando la biblioteca de OpenCV y Python. Esto puede ser útil, por ejemplo, para el escaneo de páginas en un libro.

Ahora para construir nuestro proyecto vamos a necesitar:

  • Convierte la imagen de entrada en escala de gris.
  • Encuentra los bordes en la imagen usando el detector de canny edge
  • Luego, podemos usar estos bordes para encontrar los contornos en la imagen.
  • Y a partir de ahí vamos a seleccionar solo los contornos del documento.
  • Y, finalmente, podemos aplicar la perspectiva de la urdimbre para obtener la vista de arriba abajo del documento.

Conoce a tu profesor(a)

Teacher Profile Image

Yacine Rouizi

Profesor(a)

Hi! My name is Yacine Rouizi. I have a Master's level in physics of materials and components and I am a passionate self-taught programmer. I've been programming since 2019 and I teach on my blog about programming, machine learning, and computer vision.

My goal is to make learning accessible to everyone and simplify complex topics, such as computer vision and deep learning, by following a hands-on approach.

Ver perfil completo

Level: Beginner

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Descripción general: Hola. En esta clase, creará un escáner de documentos simple usando la biblioteca OpenCV y Python. Esto puede ser útil, por ejemplo, para escanear páginas de un libro. Mi nombre es Yassin y seré tu instructor en este curso. Llevo programando desde 2019. Y yo soy el autor del vlog. No te repitas a ti mismo.org, donde tengo más de 5 mil desarrolladores cada mes para aprender más sobre Python, aprendizaje automático y visión por computadora. Ahora, para construir nuestros proyectos, necesitaremos convertir la imagen de entrada en una escala de grises y encontrar los bordes en la imagen usando el detector de bordes canny. A continuación, podemos usar estos bordes para encontrar los contornos en la imagen. Y a partir de ahí, seleccionaremos únicamente los contornos del documento. Y finalmente, podemos aplicar lo que llamamos perspectiva de trabajo para obtener la vista de arriba hacia abajo del documento, no dude en mirar la descripción del curso, y espero verte dentro. 2. Instalación: Lo primero que tenemos que hacer es instalar los paquetes requeridos útiles para el procesamiento de imágenes. Entonces vamos a instalar OpenCV y el non pi. Primero comencemos con OpenCV, abrimos una nueva ventana de terminal y ejecutemos el comando pip, instalemos el polígono OpenCV. En mi caso, se puede ver que tengo CV abierto ya instalado. Requisito, ya satisfecho. Pero solo quiero crear un entorno virtual. Para que el trío pueda ver lo que obtienes cuando lo instalaste. Entorno virtual, o puede estar pegado a la grilla. Ahora, instalemos CV abierto. Cv. Aquí puede ver que OpenCV se instaló con éxito junto con CV sin tubería abierta. Entonces no necesito instalar. Aquí. Se puede ver que tengo CV abierto 4.54.5, inversión de OpenCV y división de no pi es 1.22.1. Necesitamos instalar otros paquetes. El primero es el paquete con I am mutagens, y también necesitamos sidebar, que es necesario para el estilo Ionic. Aquí puedes ver que los PI tienen la versión 0.51.4. Nosotros sí sabremos que la novela algunos jabonosos es la versión 1.37. 3. Carga la imagen: Por lo que vamos a importar Open CV y podremos leer nuestro CV de imagen a punto. Y también vamos a redimensionar nuestra imagen. Entonces diremos herramienta CV, lote, redimensionar imagen. Aquí diremos ancho y alto. El camino, vamos a definir nuestro ancho y alto. Entonces digamos 600 para el ancho y 800 para el alto. Definamos también el color verde. Entonces podemos decir que el verde es igual a 2550. Ahora el punto de imagen, queremos usar este pelo y queremos obtener la vista de arriba hacia abajo de este documento aquí. 4. Procesamiento de imagen: Así que ahora podemos comenzar a procesar nuestra imagen. Entonces comenzaremos convirtiéndolo a escala de grises. Después aplicaremos un desenfoque gaussiano. Podemos escribir, bien. I es igual a CV a imagen en color Serie D, CB2, color BGR a gris. Y aquí vamos a leer el desenfoque gaussiano CB2. Y por último, podemos detectar los bordes usando el detector Canny. Entonces veremos V2 punto Carney, nuestra imagen. Y digamos 75 para el primer umbral y 200 para el segundo umbral. Ahora podemos mostrar nuestra imagen CB2 punto, estoy seguro, mensaje. Y también podemos mostrar la imagen. Entonces entonces vamos, aquí está nuestra imagen original y nuestra imagen. 5. Usa los bordes para encontrar todos los contornos: Ahora podemos pasar al siguiente paso, que es encontrar y dibujar los contornos. Entonces podemos usar la función CB2 dot find contours para encontrar los contornos. Entonces podemos decir contornos a contornos de punto CB2. Y aquí te brindamos el condado o la imagen. Aquí para el modo de recuperación, podemos decir CV dos puntos tres listas. Y para el método de aproximación, podemos decir jane products symbol. Ahora podemos mostrar nuestra imagen y luego dibujar los contornos y luego volver a mostrar nuestra imagen con los contornos. Entonces podemos decir CV para anotar, estoy seguro de imagen. Y aquí dibujaremos los contornos. Proporcionamos nuestra imagen, nuestros contornos y el menos uno para hacerlo todo en los contornos. Entonces puedes usar el color verde. Y tres para el grosor. Veamos qué obtenemos hasta el momento. Entonces esta es nuestra imagen y estos son los contornos no tenemos un caballero en la imagen. 6. Selecciona solo los bordes del documento: A continuación necesitamos encontrar el contorno más grande de la imagen. Entonces este contorno aquí, porque ese será nuestro documento. Entonces, lo que podemos hacer es ordenar nuestros contornos por área de mayor a menor. Podemos usar la función ordenada, que es una función Python incorporada. Así que podemos escribir aquí, contornos es igual a ordenados. Entonces aquí queremos ordenar nuestros contornos y podemos especificar el área de nuestros contornos usando la función de área de contorno CV 2D. Y también queremos clasificarlos de mayores a pequeños. Entonces podemos escribir aquí, reversa es igual a verdad. Entonces, en esta lista, tendremos primero los contornos más grandes que el más pequeño al final de la lista. Entonces a continuación, lo que podemos hacer es hacer un bucle sobre esta lista de contornos. Y luego veremos mates cada contorno. Entonces si encontramos un contorno con cuatro puntos, podemos suponer que hemos encontrado nuestro documento para poder salir del bucle. Entonces podemos escribir aquí para contorno. Contornos. Ahora para aproximar el contorno, primero podemos calcular su perímetro usando el CV a la función de longitud de arco. Así podemos escribir perímetro es igual a c v2 punto r. y aquí proporcionamos nuestro contorno. Y cuanto más lejos sea el segundo argumento diremos verdadero para indicar que el contorno está cerrado. Ahora podemos aproximar nuestro contorno usando el CV a aprox, poli D p función. Así podemos escribir flujo es igual a Cv en el aprox Pauly D p. y aquí proporcionamos nuestro contorno. Entonces necesitamos especificar la precisión de aproximación. Podemos decir 0.05 veces el perímetro del contorno. Y el encabezado. Podemos decir true para indicar que el contorno está cerrado. Ahora podemos comprobar si el contorno aproximado tiene cuatro puntos. Entonces podemos escribir si la longitud de nuestra aproximación es igual a cuatro. Entonces lo que podemos hacer es almacenar nuestro contorno en una variable. Entonces digamos que los contornos de los documentos acuerdo con nuestra aproximación. Y ahora podemos salir del bucle. 7. Aplica la perspectiva de deformación para obtener la vista superior del documento: Ahora estamos listos para obtener la vista de arriba hacia abajo de nuestro documento. Entonces para eso tenemos la función de transformación de cuatro puntos del paquete de mutantes IM. Entonces primero necesitamos importar nuestra función. Entonces podemos decir desde la perspectiva de utils, cuatro puntos por uno. Ahora no tienes que preocuparte mucho por esta función. Lo que necesitas saber es que toma una imagen y un contorno como entrada, y devuelve la vista de arriba hacia abajo de la imagen. Entonces podemos escribir aquí, deformado es igual a cuatro puntos transformados. Y aquí pasamos en nuestra imagen original, pero aquí ya tenemos genoma en nuestra imagen. Entonces lo que podemos hacer es tomar una copia de nuestra imagen. Entonces podemos decir imagen café es una llamada a nuestra imagen original dot copy. Y ahora podemos salir con la copia de nuestra imagen original. Entonces diremos imagen copia la cabeza. Tenemos nuestros contornos y los reformamos de cuatro en dos. Y por último, podemos mostrar nuestra imagen, punto CB2, estoy seguro. Vamos a decir sobre la imagen y el deformado. Y también lo redimensionaremos para llegar al mismo tamaño que nuestra imagen. Entonces diremos CV para redimensionar nuestra imagen deformada. Y usaremos el ancho y la altura de nuestra imagen original. Entonces ahí vamos. Aquí está nuestra perspectiva. Ahora, se puede ver que la calidad no es tan buena. Y esto se debe a que estamos usando una resolución menor, que es 600 por una tangente. Ahora, si usas el tamaño original de la imagen, por supuesto obtendrás mejores resultados.