Paso 5: Código principal y Final de la instalación Cecks
Ahora sigamos con el código principal...
He subido todos los archivos necesarios a una carpeta de Dropbox. A fin de
Primero descargar la carpeta "escáner de documentos" de este link los contenidos y transferirlos a su frambuesa Pi /home/pi directamente usando WinSCP si usas el Pi a través de SSH.
O directamente descargar el archivo de documento scanner.zip en la Pi de frambuesa y ejecutar:
documento scanner.zip de descomprimir para extraer el contenido.
En la frambuesa Pi copie el archivo dropbox_uploader.sh en la carpeta de "escáner de documentos" usando el escritorio Raspberrry Pi o el comando terminal. Carpeta "escáner de documentos" debe parecerse el uno arriba en la foto.
También puede verificar el contenido de la carpeta"documento scanner" usando el comando ls en la terminal.
Lo siguiente debe estar en el directorio "escáner de documentos":
- Document_Scanner.py
- scan_main.py
- imágenes
- pyimagesearch
- dropbox_uploader.sh
Después de los pasos anteriores usted está listo para escanear documentos.
El código que se ejecutará será Document_Scanner.py. El código utiliza el módulo os en python para ejecutar comandos de terminal. Este código realiza las siguientes funciones:
- Tome la imagen utilizando la cámara de frambuesa pi y guárdelo en el directorio /document-scanner/images
- Ejecute el código de scan_main.py que hace el proceso de imagen y salidas de la imagen escaneada.
El programa de scan_main.py es las tripas del procedimiento de análisis de imagen. He utilizado este proyecto Pyimagesearch para el tratamiento de la imagen y añadió el dropbox subir comandos al final del código. El programa scan_main.py realiza las siguientes funciones:
- Identifica los bordes de la imagen.
- Detecta los contornos del documento.
- Se aplica una transformación de perspectiva para orientar correctamente el documento.
- Guarda la salida en el directorio /document-scanner.
- Carga la imagen escaneada en la carpeta de Dropbox.
La imagen digitalizada final se guarda con un nombre de archivo que tiene el día, mes, año y minuto del momento que la imagen fue tomada. Por ejemplo: sc_Wed_08_06_2016_10.png (lo que implica la imagen fue tomada en miércoles, 08 de junio de 2016).
Esto evita la sobrescritura de una imagen ya que no tendrán el mismo nombre.