Detectando e excluindo imagens em branco obtidas de scanner
Publicado por Marcos Alves Pintar (última atualização em 23/01/2015)
[ Hits: 3.332 ]
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.
#!/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)
Nenhum comentário foi encontrado.
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Não acesso a conta do Banco do Brasil pelo Google Chrome [RESOLVIDO] (5)
Criar atalho para uma pasta na area de trabalho no Linux Mint? [RESOLV... (2)