Detectando e excluindo imagens em branco obtidas de scanner

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

[ Hits: 3.082 ]

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

ccl - cut and change lines

Checagem e remoção de arquivos

Leitor de arquivo via linha de comandoEs

Converte imagens em JPG

Manipulando as informações do USBfs no Linux


  

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