Detectando e excluindo imagens em branco obtidas de scanner
Publicado por Marcos Alves Pintar (última atualização em 23/01/2015)
[ Hits: 3.701 ]
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)
hicon - Criador de ícones desktop e aplicações do Gnome
Agenda de cadastros com tratamento de erros
Expressão regular com input STDIN
Nenhum comentário foi encontrado.
File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Acelerando a compilação de pacotes no Arch Linux (AUR) usando todos os núcleos do processador
Ocultando asteriscos ao digitar senha no Ubuntu
Continuando meus tópicos anteriores (13)
As Assinaturas Perderam o Negrito e o Itálico? [RESOLVIDO] (1)









