🚀 ImgBoost
Biblioteca CLI profissional para melhorar qualidade de imagens usando IA e técnicas avançadas de processamento.
✨ 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
- Crie um arquivo em
imgboost/processors/ - Implemente sua classe de processamento
- Importe em
imgboost/processors/__init__.py - 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:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
📧 Suporte
- 🐛 Issues: GitHub Issues
- 💬 Discussões: GitHub Discussions
🌟 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)
| File | Size | Uploaded | |
|---|---|---|---|
| imgboost_ai-0.1.0.tar.gz | 370.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|