Detectando e excluindo imagens em branco obtidas de scanner

Publicado por Marcos Alves Pintar (última atualização em 23/01/2015)

[ Hits: 3.223 ]

Download detecta




Este script é para quem lida com imagens obtidas de scanner com alimentador automático de documentos e faz frente e verso em uma única passada. Deixar que o scanner sempre escaneie os dois lados e depois excluir a imagem sem conteúdo acaba sendo a forma mais prática e rápida para grandes volumes.

O script detecta automaticamente quais imagens contidas em um diretório estão em branco, e então apaga o arquivo. Se a imagem tiver um conteúdo ainda que mínimo, tipo um pingo de caneta, é mantida.

Testado em imagens de resoluções próximas a 2500x3500 pixels.

Dependências: python e imagemagick.

  



Esconder código-fonte

#!/usr/bin/python
# -*- coding: UTF8 -*-

import subprocess
import shlex
import os


for img in os.listdir('./'):


    args = shlex.split("convert -limit thread 4 {0} -sigmoidal-contrast 10,26% -blur 0x0.2 -fuzz 15% -trim info:".format(img))
    trim = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    trim.wait()

    saida, erro = trim.communicate()

    saida_str = saida.decode("utf-8")
    trim_area = saida_str.split()

    if trim_area[2] == '1x1':
        print ('{0} não possui conteúdo'.format(img))
        os.remove(img)

Scripts recomendados

Converte valor de Bytes 2 Kbyte 2 Mbyte

Leitura de arquivo com input

Le um arquivo e exibe na tela

backup all files

Expressão regular com input STDIN


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts