Live Support My forum, my way! Il forum dei newsgroup: Linux » rilevamento automatico dimensioni per ritaglio (autocrop by image width)
My forum, my way! Il forum dei newsgroup
Fast Uncompromising Discussions.Newsgroup FUDforum will get your users talking.

Loading
Utenti      F.A.Q.    Registrati    Login    Home
Home » Computer » Linux » rilevamento automatico dimensioni per ritaglio (autocrop by image width)
rilevamento automatico dimensioni per ritaglio (autocrop by image width) [messaggio #35607] ven, 04 febbraio 2011 14:00 Messaggio successivo
Lutrin  è attualmente disconnesso Lutrin
Messaggi: 108
Registrato: dicembre 2010
Senior Member
molti progetti di digitalizzazione, con buona volontà, ma scarsamente
attrezzati tecnicamente, scansionano i libri a due pagine per volta

per poter ricavare da immagini a doppia facciata, immagini di singole
pagine, è necessario tagliarle al centro

tempo fa mi suggerirono uno script, in cui andavano immesse ogni volta le
dimensioni totali dell'immagine (larghezza e lunghezza) e altre misure
corrispondenti alla metà della larghezza (per ottenere le pagine
sinistre), e uno spostamento (offset) pari anch'esso alla metà della
larghezza per ottenere le pagine destre

così, ad esempio, se una immagine ha dimensioni:

2395x1736

1152x1736+0+0 (per ottenere le sinistre)
2395x1736+1152+0 (per ottenere le destre)

in uno script per imagemagick (io poi l'ho adattato a graphicsmagick che
ha una sintassì pressoché uguale e usa meno cicli macchina)

------------------------------------------------------------ ---------------
#!/bin/sh
if [ ! -e disp-par ]; then mkdir disp-par; fi
for FILE in *.jpg ; do gm convert -crop 1152x1736+0+0 "$FILE" "$FILE-
A.jpg" ; mv `ls *.jpg | grep A` disp-par ; gm convert -crop 2395x1736+1152
+0 "$FILE" "$FILE-B.jpg" && mv `ls *.jpg | grep B` disp-par
done ;
------------------------------------------------------------ ---------------

ma in questo modo sono costretto a immettere ogni volta le misure.

posso ricavare le dimensioni della prima della serie di immagini (aventi
la stessa larghezza) col comando:

gm identify -format '%w \n' *.png

e ottenere la metà di questa misura con:

X=`gm identify -format '%w \n' 0-000.jpg`;echo "scale=1;${X}/2" | bc

ma come inserirli nello script come argomento di -crop?
--
Puppy Linux wiki: http://dokupuppylinux.co.cc
Puppy Linux Forum: http://puppylinux.ilbello.com
Windows me genuit, Ubuntu rapuere / tenet nunc Puppy Linux...
Re: script per suddividere scansioni a doppia pagina in pagine singole [messaggio #35979 è una risposta a message #35607] dom, 20 febbraio 2011 22:01 Messaggio precedenteMessaggio successivo
Lutrin  è attualmente disconnesso Lutrin
Messaggi: 108
Registrato: dicembre 2010
Senior Member
On Fri, 04 Feb 2011 13:00:15 +0000, Lutrin ci disse:

> molti progetti di digitalizzazione, con buona volontà, ma scarsamente
> attrezzati tecnicamente, scansionano i libri a due pagine per volta
>
> per poter ricavare da immagini a doppia facciata, immagini di singole
> pagine, è necessario tagliarle al centro
[...]
ingegnandomi un po', ho poi risolto e concepito questo script in cui
calcolo la larghezza di ogni scansione a doppia facciata, la lunghezza e
la metà della larghezza, basandomi sulla lunghezza e la larghezza della
prima immagine della serie di scansioni a doppia facciata (le dimensioni
sono uguali per tutta la serie)

le tratto come variabili

e poi inserisco queste variabili nello script così che i valori siano
calcolati automaticamente, naturalmente sono possibili ulteriori
raffinamenti (a esempio come rilevare la prima immagine non immettendone
il nome, ma usando ls e poi head -n1) ma lo script funziona

uso graphics magick, ma eliminando *gm* lo script funziona anche con
imagemagick, di cui graphicsmagick è un clone

------------------------------------------------------------ ------
#!/bin/sh
mkdir disp-par
let "largmz=`gm identify -format '%w \n' *0-000.jpg`/2"
larg="`gm identify -format '%w \n' *0-000.jpg`"
lung="`gm identify -format '%h \n' *0-000.jpg`"
for FILE in *.jpg ; do gm convert -crop "$largmz"x"$lung"+0+0 "$FILE" "$FILE-A.jpg" && mv `ls *.jpg | grep A` disp-par ; gm convert -crop "$larg"x"$lung"+"$largmz"+0 "$FILE" "$FILE-B.jpg" && mv `ls *.jpg | grep B` disp-par
done ;
------------------------------------------------------------ ------

sono graditissimi eventuali commenti o critiche

legenda:

largmz = la metà della larghezza calcolata in base a quella rilevata
automaticamente da identify, le altre variabili sono la larghezza e
la lunghezza intere
--
Puppy Linux wiki: http://dokupuppylinux.co.cc
Puppy Linux Forum: http://puppylinux.ilbello.com
Windows me genuit, Ubuntu rapuere / tenet nunc Puppy Linux...
Re: script per suddividere scansioni a doppia pagina in pagine singole [messaggio #35990 è una risposta a message #35979] lun, 21 febbraio 2011 12:39 Messaggio precedenteMessaggio successivo
Lutrin  è attualmente disconnesso Lutrin
Messaggi: 108
Registrato: dicembre 2010
Senior Member
On Sun, 20 Feb 2011 21:01:13 +0000, Lutrin ci disse:

> sono possibili ulteriori raffinamenti (a esempio come rilevare la
> prima immagine non immettendone il nome, ma usando ls e poi head -n1)
[...]
ecco infatti la versione modificata che rileva, in una serie di
immagini, la prima in maniera automatica:

------------------------------------------------------------ ------
#!/bin/sh
if [ ! -e even-odd ]; then mkdir even-odd; fi
first="`ls -1 *.jpg | head -n1`"
let "halfwidth=`gm identify -format '%w \n' "$first"`/2"
width="`gm identify -format '%w \n' "$first"`"
height="`gm identify -format '%h \n' "$first"`"
for FILE in *.jpg ; do gm convert -crop "$halfwidth"x"$height"+0+0 "$FILE" "$FILE-A.jpg" ; mv `ls *.jpg | grep A` even-odd ; gm convert -crop "$width"x"$height"+"$halfwidth"+0 "$FILE" "$FILE-B.jpg" && mv `ls *.jpg | grep B` even-odd
done ;
------------------------------------------------------------ ------

--
Puppy Linux wiki: http://dokupuppylinux.co.cc
Puppy Linux Forum: http://puppylinux.ilbello.com
Windows me genuit, Ubuntu rapuere / tenet nunc Puppy Linux...
Re: script per suddividere scansioni a doppia pagina in pagine singole [messaggio #36005 è una risposta a message #35979] mar, 22 febbraio 2011 07:30 Messaggio precedente
Mario M. Macaluso  è attualmente disconnesso Mario M. Macaluso
Messaggi: 10
Registrato: novembre 2010
Junior Member
On Feb 20, 10:01 pm, Lutrin <elic...@olympo.it> wrote:
> On Fri, 04 Feb 2011 13:00:15 +0000, Lutrin ci disse:
>
> > molti progetti di digitalizzazione, con buona volontà, ma scarsamente
> > attrezzati tecnicamente, scansionano i libri a due pagine per volta
>
> > per poter ricavare da immagini a doppia facciata, immagini di singole
> > pagine, è necessario tagliarle al centro

questo potrebbe fare al caso tuo

http://unpaper.berlios.de
Argomento precedente:postfix + smarthost
Argomento successivo:altrnativa a mint
Vai al forum:
  


Ora corrente: sab mag 25 18:01:59 CEST 2024

Tempo totale richiesto per generare la pagina: 0.02260 secondi
.:: Contatti :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Live Support