Skip to content

danielelozzi/Image_Straighten

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scanner & Raddrizza Documenti Python

Questa è una semplice applicazione desktop realizzata in Python con Tkinter che permette di raddrizzare documenti da immagini o PDF. L'utente può caricare un file, selezionare i quattro angoli del documento e l'applicazione eseguirà una trasformazione prospettica per "raddrizzarlo".

Funzionalità

  • Caricamento Multi-formato: Supporta i formati di immagine più comuni (.jpg, .jpeg, .png, .bmp).
  • Supporto PDF: Può caricare la prima pagina di un file PDF (richiede dipendenze aggiuntive).
  • Interfaccia Interattiva: Seleziona i quattro angoli del documento direttamente sull'immagine con il mouse.
  • Anteprima del Risultato: Visualizza l'immagine raddrizzata in una finestra separata prima di salvarla.
  • Salvataggio Flessibile: Salva il documento raddrizzato come file .jpg, .png o anche .pdf.

Prerequisiti

Prima di iniziare, assicurati di avere installato i seguenti strumenti sul tuo sistema.

  • Git: Per clonare il repository. Scarica Git.
  • Anaconda o Miniconda: Per la gestione degli ambienti Python e delle dipendenze. Si consiglia Miniconda per un'installazione più leggera. Scarica Miniconda.

Installazione e Avvio

Segui questi passaggi per configurare e avviare l'applicazione.

  1. Clona il Repository Apri un terminale (o "Anaconda Prompt" su Windows) e clona questo repository nella cartella che preferisci.

    # Sostituisci l'URL con quello del tuo repository
    git clone https://github.com/tuo-username/Image_Straighten.git
    cd Image_Straighten
  2. Crea e Attiva l'Ambiente Conda Crea un ambiente virtuale dedicato per questo progetto per evitare conflitti tra le librerie.

    # Crea un ambiente chiamato 'straighten-env' con Python 3.9
    conda create --name straighten-env python=3.9
    
    # Attiva l'ambiente
    conda activate straighten-env
  3. Installa le Dipendenze Python Con l'ambiente attivo, installa tutte le librerie necessarie usando il file requirements.txt.

    pip install -r requirements.txt
  4. Installa Poppler (Opzionale, per supporto PDF) Per poter caricare e processare file PDF, è necessario installare Poppler, da cui dipende la libreria pdf2image.

    • Windows:
      1. Scarica l'ultima versione di Poppler per Windows.
      2. Estrai l'archivio (es. in C:\poppler-23.08.0\).
      3. Aggiungi la cartella bin (es. C:\poppler-23.08.0\bin) alla variabile d'ambiente PATH del tuo sistema.
    • macOS (via Homebrew):
      brew install poppler
    • Linux (Debian/Ubuntu):
      sudo apt-get install poppler-utils

    Nota: Senza Poppler, l'applicazione non potrà aprire file PDF ma funzionerà correttamente con i file immagine.

Come Usare l'Applicazione

  1. Avvia l'applicazione: Assicurati che il tuo ambiente Conda (straighten-env) sia attivo, quindi esegui lo script Python.

    python gui.py
  2. Carica un file: Clicca sul pulsante "Carica File (IMG/PDF)" e seleziona un'immagine o un PDF dal tuo computer.

  3. Seleziona gli angoli: L'immagine apparirà nella finestra. Clicca sui quattro angoli del documento nell'ordine seguente:

    1. Angolo in alto a sinistra
    2. Angolo in alto a destra
    3. Angolo in basso a destra
    4. Angolo in basso a sinistra

    Vedrai dei punti rossi e delle linee di connessione apparire mentre clicchi.

  4. Raddrizza: Una volta selezionati i 4 punti, clicca sul pulsante "Raddrizza Immagine".

  5. Salva il risultato: Si aprirà una nuova finestra con l'anteprima del documento raddrizzato. Clicca su "Salva Risultato", scegli il nome, il percorso e il formato (.jpg, .png o .pdf) e salva il file.

Reset

Se sbagli a selezionare i punti, puoi cliccare su "Resetta Punti" in qualsiasi momento per ricominciare da capo.


🚀 Versione Web App

Oltre all'applicazione desktop, è disponibile una versione web accessibile da qualsiasi browser, anche su mobile!

Provala subito: https://danielelozzi.github.io/Image_Straighten/

Questa web app è stata realizzata in una sessione di "vibe coding" con Google Gemini 3.0 Pro, utilizzando HTML, Tailwind CSS e OpenCV.js.

Come Usare la Web App

L'utilizzo è quasi identico alla versione desktop, ma ancora più semplice:

  1. Carica Immagine: Clicca su "📂 Carica Immagine" e scegli una foto dal tuo dispositivo.
  2. Seleziona gli Angoli: Tocca o clicca sui quattro angoli del documento direttamente sull'immagine (l'ordine è sempre Alto-SX, Alto-DX, Basso-DX, Basso-SX).
  3. Raddrizza: Una volta selezionati i 4 punti, il pulsante "✨ Raddrizza Immagine" diventerà attivo. Cliccalo.
  4. Scarica: Il risultato apparirà sulla destra. Scegli il formato desiderato (PNG o PDF) e clicca su "💾 Scarica".

Non è richiesta alcuna installazione!


Sviluppato con ❤️, Python e un pizzico di AI.

Releases

No releases published

Packages