Detectando e excluindo imagens em branco obtidas de scanner

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

[ Hits: 3.079 ]

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

Checando se diretorio existe

Pyconv - Conversor de codificação de caracteres

Gerenciador de músicas

Dividir um grupo de arquivos em vários CDs Ou DVDs

Mini-dicionário de termos em Python e PyQT 4


  

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