você está aqui: Home  → Arquivo de Mensagens

Digitalizando várias fotos no Linux

Colaboração: Ricardo Jurczyk Pinheiro

Data de Publicação: 06 de November de 2008

Há algum tempo precisei digitalizar várias fotos no scanner ("escanear" não, falemos português), e como eu não tinha paciência de ficar montando e cortando no GIMP, resolvi que o computador deveria fazer o trabalho sujo, e não eu. Logo, fiz esse script aí embaixo. Você precisa do pacote sane-backends instalado (se você estiver usando Fedora, que nem eu), e do ImageMagick (que é o mesmo nome em todas as distros que já usei). Tenho usado faz algum tempo, e o melhor: Funciona! Dá para fazer um monte de modificações nele, como mexer no número de DPIs, por exemplo.

  #!/bin/sh
  #
  # scanfotos - Digitaliza um conjunto de fotos que estao no scanner,
  # depois corta, gira e salva. Pode ser usado para digitalizar um
  # conjunto grande, bastando informar a quantidade.
  # Autor: Ricardo Jurczyk Pinheiro - ricardojpinheiro@ibest.com.br
  # Versao 0.000000000000000000000000000000000000000000000000001111
  #
  #
  NOINICIAL=1
  NOME=foto
  QTASFOTOS=4
  CONVERT=$(which convert)
  SCANIMAGE=$(which scanimage)
  TEMP1=$(mktemp)
  TEMP2=$(mktemp)
  if [ "$#" -ne 3 ]
  then
        echo "$0 < nome das fotos> < no. inicial> < no. final>"
        exit 1
  fi
  echo "Nome das fotos:" $1
  echo "Numeração inicial:" $2
  echo "Numeração final:" $3
  #
  i=$NOINICIAL
  NOME=$1
  NOINICIAL=$2
  QTASFOTOS=$3
  while [ $NOINICIAL -le $QTASFOTOS ]
  do
  # Para digitalizar a imagem (300x300 dpi)
        $SCANIMAGE --resolution 300 --mode Color > $TEMP1.tif
        $CONVERT $TEMP1.tif -antialias -gamma 2.2 $TEMP2.tif
        mv $TEMP2.tif $TEMP1.tif
  # Reescalar a imagem, cortar, fazer 4 imagens, rotacionar 270 graus e salvar em JPG (90%)
        $CONVERT $TEMP1.tif -crop 1136x1788+0+0 -rotate 270 -geometry "1024>x1024>" -quality 90 $NOME$NOINICIAL.jpg
        NOINICIAL=$(expr $NOINICIAL + 1)
        $CONVERT $TEMP1.tif -crop 1136x1788+1345+0 -rotate 270 -geometry "1024>x1024>" -quality 90 $NOME$NOINICIAL.jpg
        NOINICIAL=$(expr $NOINICIAL + 1)
        $CONVERT $TEMP1.tif -crop 1136x1788+0+1852 -rotate 270  -geometry "1024>x1024>" -quality 90 $NOME$NOINICIAL.jpg
        NOINICIAL=$(expr $NOINICIAL + 1)
        $CONVERT $TEMP1.tif -crop 1136x1788+1345+1852 -rotate 270 -geometry "1024>x1024>" -quality 90 $NOME$NOINICIAL.jpg
        echo "Número de fotos digitalizadas até agora:" $NOINICIAL
        NOINICIAL=$(expr $NOINICIAL + 1)
  # Apaga o arquivo temporario
        /bin/rm -f $TEMP1.tif
        read
  done
  #
  # MSX r0x a lot!
Ricardo Jurczyk Pinheiro - Linux user #82838 - http://estudiodaintrospeccao.blogspot.com


Veja a relação completa dos artigos de Ricardo Jurczyk Pinheiro

 

 

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script