Detectando e excluindo imagens em branco obtidas de scanner
Publicado por Marcos Alves Pintar (última atualização em 23/01/2015)
[ Hits: 3.575 ]
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)
Expressão regular com input STDIN
Checagem e remoção de arquivos
Serialização em Python usando pickle
Nenhum comentário foi encontrado.
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Script de montagem de chroot automatica
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
De volta para o futuro - ou melhor, para o presente (parte 2) (1)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (7)









