Stap 5: Belangrijkste Code en definitieve installatie Cecks
Nu op naar de belangrijkste code...
Ik heb geupload alle bestanden die nodig zijn om een Dropbox-map. Met het oog op
Eerst de downloadmap "document-scanner" van deze koppeling unzip de inhoud en deze overbrengen naar uw Raspberry Pi /home/pi directry gebruikend WinSCP als u de Pi via SSH.
Of rechtstreeks downloaden van het document-scanner.zip bestand op de Raspberry Pi en uitvoeren:
document-scanner.zip unzip de inhoud uitpakken.
Kopieer vervolgens het bestand dropbox_uploader.sh naar de "document-scanner" map met behulp van de Raspberrry Pi-bureaublad of de terminal opdracht op je Raspberry Pi. Uw "document-scanner" map moet uitzien als degene hierboven in de afbeelding.
U kunt ook controleren of de inhoud van de map van de"document-scanner" met behulp van het ls commando in de terminal.
Het volgende moet in uw "document-scanner" directory:
- Document_Scanner.py
- scan_main.py
- afbeeldingen
- pyimagesearch
- dropbox_uploader.sh
Nadat de bovenstaande stappen voltooid zijn, bent u helemaal klaar voor het scannen van documenten.
De code die we organiseren zullen Document_Scanner.py. De code maakt gebruik van de os-module in python om terminal commando's uitvoeren. Deze code zal de volgende functies:
- Neem het beeld met behulp van de raspberry pi camera en sla het op in de map /document-scanner/images
- De scan_main.py code uitvoert die doet de beeldverwerking en uitgangen van de gescande afbeelding.
Het scan_main.py programma is het lef van de afbeelding scannen van de procedure. Ik heb gebruikt dit Pyimagesearch project voor de beeldverwerking en de dropbox uploaden van opdrachten aan het einde van de code toegevoegd. Het scan_main.py programma voert de volgende functies:
- Identificeert de randen in de afbeelding.
- Detecteert de contouren van het document.
- Geldt een perspectief transformeren om het document goed te oriënteren.
- Slaat de uitvoer in de directory /document-scanner.
- De gescande afbeelding uploadt naar de synchronisatielocatie.
De uiteindelijke gescande afbeelding wordt opgeslagen met een bestandsnaam met de dag, maand, jaar en minuut van het moment dat het beeld werd genomen. Bijvoorbeeld: sc_Wed_08_06_2016_10.png (impliceert het beeld werd genomen op woensdag, 8 juni 2016).
Dit voorkomt het overschrijven van een afbeelding, omdat ze dan niet dezelfde naam hebben.