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.
- Go 1.22+
- Microsoft Edge WebView2 Runtime
- NAPS2 portable estratto in
naps2/naps2-8.2.1-win-x64/App/NAPS2.Console.exe(in alternativa impostaNAPS2_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.
Dalla cartella photo-splitter-go:
.\build-run.batIn alternativa:
go mod tidy
go build -tags production -ldflags "-H windowsgui" -o photo-splitter.exe .
.\photo-splitter.exeQuando parte, il programma apre una finestra desktop Wails.
Nella finestra puoi usare questi flussi:
- 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°).
- Scansiona con NAPS2
- usa
NAPS2.Console.execon il profilo corrente configurato nella GUI NAPS2. - non imposta DPI, driver o device da riga comando.
- la scansione viene salvata in
data/raw_scanse caricata automaticamente nel campo input.
- usa
- Apri cartella output
- apre direttamente la cartella risultati in Esplora File.
Modalità predefinita (flag attivo):
- nella cartella
data/outputviene creato un sottofolder timestamp con:scan_bordered.pngphoto_1.jpgphoto_2.jpgphoto_3.jpgphoto_4.jpg
Modalità senza sottocartelle (flag disattivo):
- i crop vengono salvati direttamente in
data/outputcon nome sequenziale, ad esempio:photo_0001.jpgphoto_0002.jpgphoto_0003.jpgphoto_0004.jpg
- alle elaborazioni successive la numerazione continua in modo progressivo.
Le scansioni NAPS2 vengono salvate in:
data/raw_scans/scan_YYYYMMDD_HHMMSS.jpg
- 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.
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