Skip to content

numbor/photo-splitter

Repository files navigation

Photo Splitter Go

Applicativo in Go con interfaccia grafica desktop basata su Wails per:

  • caricare una singola immagine iniziale,
  • acquisire una scansione tramite NAPS2.Console.exe,
  • aggiungere un leggero bordo bianco in modo nativo,
  • individuare 4 fotografie presenti nell'immagine,
  • fare crop e salvare 4 immagini separate.

Requisiti

  • Go 1.22+
  • Microsoft Edge WebView2 Runtime
  • NAPS2 portable estratto in naps2/naps2-8.2.1-win-x64/App/NAPS2.Console.exe (in alternativa imposta NAPS2_CONSOLE_PATH)

Se naps2 non e presente all'avvio, l'app prova automaticamente a scaricare la versione portable di NAPS2 (x64) e decomprimerla in naps2.

Nessuna dipendenza da gcc/MinGW.

Avvio rapido

Dalla cartella photo-splitter-go:

.\build-run.bat

In alternativa:

go mod tidy
go build -tags production -ldflags "-H windowsgui" -o photo-splitter.exe .
.\photo-splitter.exe

Quando parte, il programma apre una finestra desktop Wails.

Uso GUI

Nella finestra puoi usare questi flussi:

  1. Elabora file selezionato
    • scegli un'immagine già presente su disco e avvia il crop.
    • puoi impostare la qualità di salvataggio dei JPG output (JPG Quality).
    • puoi attivare/disattivare la rotazione automatica dei crop (Ruota automaticamente i crop di 90° a destra).
    • puoi attivare/disattivare il miglioramento automatico dei crop (Migliora automaticamente i crop).
    • puoi attivare/disattivare l'aggiunta di bordo bianco (Aggiungi bordo bianco all'immagine).
    • puoi scegliere la modalità di salvataggio output (Salva i crop in una sottocartella timestamp).
      • se attivo: comportamento classico con sottocartella timestamp.
      • se disattivo: i crop vengono salvati direttamente nella cartella output con nome sequenziale progressivo.
    • al termine mostra le anteprime delle 4 foto croppate.
    • ogni anteprima ha pulsante di rotazione (Ruota 90°).
  2. Scansiona con NAPS2
    • usa NAPS2.Console.exe con il profilo corrente configurato nella GUI NAPS2.
    • non imposta DPI, driver o device da riga comando.
    • la scansione viene salvata in data/raw_scans e caricata automaticamente nel campo input.
  3. Apri cartella output
    • apre direttamente la cartella risultati in Esplora File.

Output

Modalità predefinita (flag attivo):

  • nella cartella data/output viene creato un sottofolder timestamp con:
    • scan_bordered.png
    • photo_1.jpg
    • photo_2.jpg
    • photo_3.jpg
    • photo_4.jpg

Modalità senza sottocartelle (flag disattivo):

  • i crop vengono salvati direttamente in data/output con nome sequenziale, ad esempio:
    • photo_0001.jpg
    • photo_0002.jpg
    • photo_0003.jpg
    • photo_0004.jpg
  • alle elaborazioni successive la numerazione continua in modo progressivo.

Le scansioni NAPS2 vengono salvate in:

  • data/raw_scans/scan_YYYYMMDD_HHMMSS.jpg

Note tecniche

  • Il bordo bianco è aggiunto tramite image/draw (standard library Go).
  • Formati input supportati nativamente: JPEG, PNG, BMP, TIFF, GIF.
  • Il rilevamento delle 4 foto usa proiezioni orizzontali/verticali e ricerca della valle centrale.
  • Se il rilevamento è incerto, viene usato un fallback in 4 quadranti.
  • Su ogni foto croppata può essere applicato un miglioramento qualità (auto-level, auto-gamma, saturazione +15%, sharpen leggero), attivo di default.
  • Su ogni foto croppata viene rimosso automaticamente il bordo bianco residuo ai margini.
  • Il bordo bianco è configurabile con --add-border=true|false.

CLI tecnica (usata internamente dalla GUI)

photo-splitter.exe process --input "D:\\path\\scan.tiff" --output "D:\\scan\\project\\photo-splitter-go\\data\\output" --jpg-quality 100 --auto-rotate-crops=false --add-border=false --enhance-crops=true photo-splitter.exe rotate --input "D:\\scan\\project\\photo-splitter-go\\data\\output\\20260326_123000\\photo_1.jpg" --angle 90 --jpg-quality 100

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors