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.