Skip to main content

Melhore a qualidade de imagens com IA - Processamento avançado para documentos, screenshots e fotos

Project description

🚀 ImgBoost

Biblioteca CLI profissional para melhorar qualidade de imagens usando IA e técnicas avançadas de processamento.

Python License

✨ Características

  • 🎯 4 Modos especializados de processamento
  • 🔧 Denoise inteligente com OpenCV
  • 📈 CLAHE para melhoria de contraste adaptativo
  • ✂️ Sharpening profissional
  • 🌙 Modo Dark UI otimizado para interfaces escuras
  • 📄 Modo Texto/OCR para documentos
  • 🚀 Super-resolução com upscaling de alta qualidade
  • Processamento em lote com suporte a paralelização
  • 💾 Múltiplos formatos (PNG, JPG, BMP, TIFF, WebP)

📦 Instalação

# Clone o repositório
git clone https://github.com/jpedrops092/imgboost.git
cd imgboost

# Instale em modo desenvolvimento
pip install -e .

# Ou instale as dependências manualmente
pip install -r requirements.txt

Dependências

  • Python >= 3.8
  • OpenCV >= 4.8.0
  • NumPy >= 1.24.0
  • Click >= 8.1.0
  • scikit-image >= 0.21.0
  • tqdm >= 4.66.0
  • PyTorch >= 2.0.0 (opcional, para super-resolução com IA)

🎯 Uso Rápido

Modo Geral (melhoria padrão)

imgboost process foto.jpg

Modo Texto/Documento (OCR)

imgboost process documento.png --mode text

Modo Dark UI (WhatsApp, interfaces escuras)

imgboost process screenshot_whatsapp.png --mode dark

Super-resolução (upscale 2x)

imgboost process imagem_baixa_res.jpg --mode superres
# Ou adicionar upscale a qualquer modo:
imgboost process foto.jpg --mode general --upscale

Processar diretório inteiro

imgboost process ./minhas_fotos --mode general --output ./melhoradas

Processamento em lote (paralelo)

imgboost batch ./minhas_fotos --workers 8

📋 Modos de Processamento

1. General (Padrão)

Melhoria geral balanceada:

  • Denoise (redução de ruído)
  • CLAHE (contraste adaptativo)
  • Sharpening (nitidez)

Ideal para: Fotos gerais, prints, screenshots

2. Text (Texto/Documento)

Otimizado para leitura e OCR:

  • Denoise focado
  • Binarização adaptativa
  • Deskew (correção de inclinação)
  • Remoção de sombras

Ideal para: Documentos escaneados, fotos de papel, notas

3. Dark (Interfaces Escuras)

Otimizado para UIs com fundo escuro:

  • Ajuste de gamma
  • CLAHE agressivo
  • Denoise seletivo
  • Realce de texto em fundos escuros

Ideal para: WhatsApp Dark, apps com tema escuro, capturas noturnas

4. Superres (Super-resolução)

Upscaling com preservação de qualidade:

  • Denoise pré-processamento
  • Upscale 2x com LANCZOS4
  • Unsharp mask pós-processamento
  • Realce de textura

Ideal para: Imagens de baixa resolução, ampliação para impressão

⚙️ Opções Avançadas

imgboost process imagem.jpg \
  --mode general \
  --output ./output \
  --upscale \
  --quality 95 \
  --format png \
  --denoise-strength 15 \
  --contrast 4.0 \
  --sharpen \
  --verbose

Parâmetros

  • --output, -o: Pasta de saída (padrão: output)
  • --mode, -m: Modo de processamento (general, text, dark, superres)
  • --upscale, -u: Aplicar super-resolução 2x
  • --quality, -q: Qualidade JPEG 1-100 (padrão: 95)
  • --format, -f: Formato de saída (auto, png, jpg)
  • --denoise-strength, -d: Força do denoise 0-30 (padrão: 10)
  • --contrast, -c: Intensidade CLAHE 1.0-5.0 (padrão: 3.0)
  • --sharpen, -s: Aplicar sharpening extra
  • --verbose, -v: Modo verboso

📊 Exemplos Práticos

Melhorar print de WhatsApp escuro

imgboost process whatsapp_dark.png --mode dark --sharpen --quality 100

Preparar documento para OCR

imgboost process documento_foto.jpg --mode text --format png --output ./ocr

Upscale de imagem para impressão

imgboost process logo_pequeno.png --mode superres --quality 100 --format png

Processar pasta de fotos antigas

imgboost process ./fotos_antigas --mode general --upscale --denoise-strength 20

Lote em paralelo (rápido)

imgboost batch ./muitas_fotos --workers 8

🔧 Uso Programático

Você também pode usar o ImgBoost como biblioteca Python:

from imgboost import Engine

# Criar engine
engine = Engine(
    output_dir='output',
    quality=95,
    denoise_strength=10,
    contrast_clip=3.0
)

# Processar imagem
output_path = engine.run(
    'input.jpg',
    mode='general',
    upscale=True
)

print(f"Imagem salva em: {output_path}")

Processamento customizado

from imgboost.processors import ImageFilters, SuperResolution
from imgboost.utils import ImageIO

# Carregar
io = ImageIO()
img = io.load('input.jpg')

# Processar
filters = ImageFilters(denoise_strength=15)
img = filters.denoise(img)
img = filters.enhance_contrast(img)
img = filters.sharpen(img)

# Upscale
sr = SuperResolution()
img = sr.upscale(img, scale=2)

# Salvar
io.save(img, 'output.jpg', quality=95)

📚 Informações do Sistema

imgboost info

Mostra:

  • Versão do ImgBoost
  • Versões das dependências
  • Disponibilidade de CUDA
  • Modos disponíveis

🛠️ Desenvolvimento

Estrutura do Projeto

imgboost/
├── imgboost/
│   ├── __init__.py
│   ├── cli.py              # Interface CLI
│   ├── core.py             # Engine principal
│   ├── processors/
│   │   ├── filters.py      # Filtros OpenCV
│   │   ├── document.py     # Processamento de documentos
│   │   └── superres.py     # Super-resolução
│   └── utils/
│       └── image_io.py     # I/O de imagens
├── setup.py
├── requirements.txt
└── README.md

Adicionar novos processadores

  1. Crie um arquivo em imgboost/processors/
  2. Implemente sua classe de processamento
  3. Importe em imgboost/processors/__init__.py
  4. Use no core.py

Executar testes

# Teste básico
imgboost process test_image.jpg --verbose

# Teste de lote
imgboost batch test_images/ --workers 4

🎓 Técnicas Implementadas

Denoise

  • Fast Non-Local Means: Preserva bordas enquanto remove ruído
  • Força ajustável (0-30)

Contraste

  • CLAHE: Histogram equalization adaptativo
  • Evita sobre-saturação
  • Tile grid 8x8

Sharpening

  • Unsharp Mask: Sharpening profissional
  • Kernel customizado: Controle de intensidade
  • Preserva naturalidade

Super-resolução

  • LANCZOS4: Interpolação de alta qualidade
  • Multi-scale: Preservação de detalhes
  • Texture enhancement: Realce de texturas

Processamento de Documentos

  • Adaptive Thresholding: Binarização inteligente
  • Deskew: Correção de inclinação
  • Shadow removal: Remoção de sombras
  • Morphological operations: Limpeza de ruído

🚀 Próximos Passos

  • Integração com Real-ESRGAN para super-resolução com IA
  • Suporte a vídeos
  • Processamento de PDFs
  • Interface web
  • Presets customizáveis
  • Batch processing com GPU
  • Plugin para Photoshop/GIMP

📄 Licença

MIT License - veja LICENSE para detalhes

🤝 Contribuindo

Contribuições são bem-vindas! Por favor:

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📧 Suporte

🌟 Agradecimentos

  • OpenCV pela biblioteca de processamento de imagens
  • Real-ESRGAN pela inspiração em super-resolução
  • Click pela excelente biblioteca CLI

Feito com ❤️ por ImgBoost Team

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imgboost_ai-0.1.0.tar.gz (370.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

imgboost_ai-0.1.0-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file imgboost_ai-0.1.0.tar.gz.

File metadata

  • Download URL: imgboost_ai-0.1.0.tar.gz
  • Upload date:
  • Size: 370.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for imgboost_ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 81ac7ecf88bb8b57a9d62cc7c00727f8214e6de89113777106a900e81068912a
MD5 f613c58c3bf67934c2319a6351564f9f
BLAKE2b-256 342f17b266846a17d35dfa3b3ffd0fd3b77698e29500ac75b2623da5eaa5b520

See more details on using hashes here.

File details

Details for the file imgboost_ai-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: imgboost_ai-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for imgboost_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea7c03868f5217014333b9ab73db0f7e09081a1d95be0a4faee9ff43c7bf5a95
MD5 8f4bfe5f414b687dd1e9db58b0ffc0be
BLAKE2b-256 a6884b09b8f94dfaacbc0472ea5267e237c07e005e41cb7c3161dbf67f3dcfc2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page