Skip to main content

🚀 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

Release files for imgboost-ai 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for imgboost-ai 0.1.0
File Size Uploaded
imgboost_ai-0.1.0.tar.gz 370.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for imgboost-ai 0.1.0
File Interpreter ABI Platform
imgboost_ai-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 390.6 kB

Release files / imgboost_ai-0.1.0.tar.gz

Download URL imgboost_ai-0.1.0.tar.gz
Size 370.9 kB
Tags Source
SHA-256 checksum
How to use checksums
81ac7ecf88bb8b57a9d62cc7c00727f8214e6de89113777106a900e81068912a
BLAKE2b-256 checksum
How to use checksums
342f17b266846a17d35dfa3b3ffd0fd3b77698e29500ac75b2623da5eaa5b520
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / imgboost_ai-0.1.0-py3-none-any.whl

Download URL imgboost_ai-0.1.0-py3-none-any.whl
Size 19.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ea7c03868f5217014333b9ab73db0f7e09081a1d95be0a4faee9ff43c7bf5a95
BLAKE2b-256 checksum
How to use checksums
a6884b09b8f94dfaacbc0472ea5267e237c07e005e41cb7c3161dbf67f3dcfc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page