2012-04-20 8 views
7

Scansione spesso i documenti scritti a mano da inviare ai colleghi e devo apportare correzioni al file digitale una volta scansionato. (Per esempio, io cambio errori che ho fatto sul documento originale al bianco.)C'è un modo per creare uno script che corregge automaticamente i documenti scansionati?

sto pensando di alcuni script che possono effettuare le seguenti operazioni:

Prendete un immagine a colori di scansione (diciamo un tiff) come input, e apportare automaticamente correzioni semplici basate su correzioni colorate nell'immagine.

Ad esempio, prendi il caso più semplice: scrivo solo nero su bianco. C'è un'area in cui ho commesso degli errori, quindi disegno un cerchio rosso chiuso (con una penna sul foglio di carta) intorno a quell'area. Quindi eseguo la scansione dell'immagine (o di solito molte di esse). Ora vorrei che lo script cancellasse ognuna di queste aree in tutte le immagini in modo che i miei errori scomparissero nell'immagine risultante.

Qualsiasi idea su come realizzare questo in un ambiente Linux, ad es. con Image Magick?


Sembra che Gimp con script-fu potrebbe essere la strada da percorrere dovrebbe essere abbastanza potente. Qualcuno può darmi un suggerimento sottolineando che l'esempio di cui sopra potrebbe apparire in script-fu?

+0

utile anche per me: che linux software di immagine pixel è altamente script e supporta opperations complessi come le maschere di selezione del colore, ecc – highsciguy

+1

Dal momento che si sta già marcatura manualmente ciò che si vuole cambiare, hai pensato di cose non tecniche come il nastro Whiteout (http://www.amazon.com/Wite-Out-Correction-1-Line-Dispenser-BICWOTAPP11/dp/B003V8Q7HS) o utilizzare etichette o adesivi non riflettenti in bianco per coprire gli errori? –

+0

Sono una persona complicata e questa soluzione è troppo semplice per me;) No, sul serio: sono consapevole di questa soluzione, ma ho alcune idee in più nella mia mente che non possono essere realizzate in questo modo se voglio produrre un bel testo scritto a mano. Per esempio. Mi piacerebbe essere in grado di evidenziare il testo nello stesso modo cambiando il suo colore. O per disegnare una casella rettangolare attorno al testo. Queste cose richiedono molto tempo se voglio farlo a mano. – highsciguy

risposta

0

Suggerirei di guardare uno scanner scansnap (forse lo scansnap 3100). Ci sono molte cose che possono essere utili al software in dotazione.

Potresti scoprire che qualsiasi software/script che trovi non funzionerà nel modo desiderato. Sembra che molte di queste modifiche siano cose che devono essere viste con un occhio umano. Forse potresti assumere un assistente personale per apportare queste correzioni per te. :)

2

Sto pensando a una soluzione basata su ImageMagick. Avremmo bisogno i seguenti passaggi:

  1. Trova il colore utilizzato per disegnare nel documento sottoposto a scansione (per ora in poi, chiamato colore di destinazione);
  2. Trova le sue coordinate x e nell'immagine;
  3. Passa questa posizione come un seme all'algoritmo Flood Fill.

potremmo usare lo script seguente in base a funzioni di ImageMagick:

  1. uscita di tutti i colori unici nella foto. Questo verrà utilizzato per scoprire quali sono i componenti RGB del colore di destinazione (command source).

    convert <image> -unique-colors -depth 8 txt:- > output.txt 
    
  2. Output le coordinate di ogni colore in un file di testo:

    convert <image> txt:- > coord.txt 
    
  3. Trovare le x e y coordinate del colore di destinazione (command source).Supponiamo che il colore target ottenuto dalla fase 1 era rosso:

    grep red coord.txt 
    
  4. Quindi, utilizzare x e y come seme per floodfill sostituire la regione cerchio il colore desiderato (command source). In questo caso, ho usato white per cancellare la regione:

    convert <image> -fill white -fuzz 13% \ 
         -draw 'color <x>,<y> floodfill' <image_floodfill_output> 
    

Il parametro -fuzz eviterà che i colori che erano originariamente red e divenne danneggiati a causa di rumore anche viene sostituito.

Questo tutorial fornisce ulteriori informazioni sulla funzione floodfill, ad esempio su come sostituire i colori dei bordi.

+0

+1 per questo suggerimento. Sarebbe ancora meglio se lo elaborassi un po 'di più ... :-) –

+0

@KurtPfeifle grazie! :-) Quali punti devono essere migliorati? Forse un esempio di utilizzo e ulteriori spiegazioni sui comandi utilizzati? – Yamaneko

+0

Esattamente :-) E possono anche alcune immagini e file di testo (estratti) s che dimostrano gli effetti dei comandi che stai usando ... –

Problemi correlati