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.
✨ 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81ac7ecf88bb8b57a9d62cc7c00727f8214e6de89113777106a900e81068912a
|
|
| MD5 |
f613c58c3bf67934c2319a6351564f9f
|
|
| BLAKE2b-256 |
342f17b266846a17d35dfa3b3ffd0fd3b77698e29500ac75b2623da5eaa5b520
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea7c03868f5217014333b9ab73db0f7e09081a1d95be0a4faee9ff43c7bf5a95
|
|
| MD5 |
8f4bfe5f414b687dd1e9db58b0ffc0be
|
|
| BLAKE2b-256 |
a6884b09b8f94dfaacbc0472ea5267e237c07e005e41cb7c3161dbf67f3dcfc2
|