https://github.com/henriqueotogami/image-processing-package
Pacote de Processamento de Imagens, utilizando o Test Pypi, da aula da Karina Tiemi Kato, Coding Lab PRO na Digital Innovation One.
https://github.com/henriqueotogami/image-processing-package
digital-innovation-one image-processing package pypi-package python3
Last synced: 3 months ago
JSON representation
Pacote de Processamento de Imagens, utilizando o Test Pypi, da aula da Karina Tiemi Kato, Coding Lab PRO na Digital Innovation One.
- Host: GitHub
- URL: https://github.com/henriqueotogami/image-processing-package
- Owner: henriqueotogami
- License: mit
- Created: 2020-08-22T19:33:33.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-03-04T05:22:31.000Z (over 1 year ago)
- Last Synced: 2025-03-22T04:03:54.676Z (over 1 year ago)
- Topics: digital-innovation-one, image-processing, package, pypi-package, python3
- Language: Python
- Homepage:
- Size: 95.7 KB
- Stars: 4
- Watchers: 1
- Forks: 20
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Image Processing Package
> Pacote Python para processamento de imagens com funcionalidades de correspondência de histograma, similaridade estrutural e redimensionamento. Projeto desenvolvido no Bootcamp Developer Full Stack Python da Digital Innovation One.
## Autoria
- **Projeto original:** Karina Tiemi Kato (Tech Lead, Machine Learning Engineer, Data Scientist Specialist at Take)
- **Publicação no Test PyPI:** Henrique Matheus Alves Pereira
- **Aula:** Coding Lab PRO - Digital Innovation One
- [(clique aqui para ver o meu perfil na plataforma)](https://web.digitalinnovation.one/users/henrique_map)
- **Tecnologia:** Python
- **Data:** 22/08/2020
---
## 📋 Sobre o Projeto
Este pacote oferece ferramentas para processamento de imagens em Python, incluindo correspondência de histograma, cálculo de similaridade estrutural, redimensionamento e visualização. Foi criado como demonstração para publicação no Test PyPI durante o Bootcamp Developer Full Stack Python.
## 📁 Estrutura do Projeto
### Módulo Processing (`image_processing-test/processing/`)
- **combination.py** - Correspondência de histograma e similaridade estrutural entre imagens
- **transformation.py** - Redimensionamento de imagens por proporção
### Módulo Utils (`image_processing-test/utils/`)
- **io.py** - Leitura e gravação de imagens
- **plot.py** - Visualização de imagens, resultados e histogramas
## 📂 Estrutura do repositório
```
LICENSE
README.md
setup.py
requirements.txt
image_processing-test/
__init__.py
processing/
combination.py # correspondência de histograma e similaridade estrutural
transformation.py # redimensionamento de imagens
utils/
io.py # ler e salvar imagens
plot.py # plotar imagens, resultados e histogramas
```
## 🛠️ Tecnologias Utilizadas
- **Python** (>= 3.8) - Linguagem de programação
- **scikit-image** - Processamento de imagens (histograma, similaridade, resize)
- **NumPy** - Operações numéricas
- **matplotlib** - Visualização de imagens e gráficos
## 📝 Funcionalidades Principais
### Módulo Processing
- **Correspondência de histograma** - `transfer_histrogram(image1, image2)` - Ajusta o histograma de uma imagem ao de outra
- **Similaridade estrutural** - `find_difference(image1, image2)` - Calcula e retorna a diferença estrutural entre duas imagens
- **Redimensionar imagem** - `resize_image(image, proportion)` - Redimensiona imagem mantendo proporção (0 a 1)
### Módulo Utils
- **Ler imagem** - `read_image(path, is_gray)` - Carrega imagem do disco
- **Salvar imagem** - `save_image(image, path)` - Salva imagem no disco
- **Plotar imagem** - `plot_image(image)` - Exibe imagem
- **Resultado do gráfico** - `plot_result(*args)` - Exibe múltiplas imagens comparativas
- **Plotar histograma** - `plot_histogram(image)` - Exibe histograma RGB da imagem
## 🚀 Instalação
### Via Test PyPI (ambiente de testes)
```bash
pip install -i https://test.pypi.org/simple/ image-processing-test
```
### Dependências (instalação local)
```bash
pip install -r requirements.txt
```
## 📖 Como Usar
```python
from image_processing_test.processing import combination
from image_processing_test.processing import transformation
from image_processing_test.utils import io, plot
# Carregar imagens
image1 = io.read_image('imagem1.png')
image2 = io.read_image('imagem2.png')
# Encontrar diferença estrutural entre imagens
diff = combination.find_difference(image1, image2)
plot.plot_image(diff)
# Correspondência de histograma
matched = combination.transfer_histrogram(image1, image2)
plot.plot_image(matched)
# Redimensionar imagem
resized = transformation.resize_image(image1, proportion=0.5)
plot.plot_image(resized)
```

## ⚙️ Como funciona
### Similaridade Estrutural
A função `find_difference` implementa o seguinte algoritmo:
1. Converte as imagens para escala de cinza
2. Calcula o índice de similaridade estrutural (SSIM) entre as duas imagens
3. Normaliza a imagem de diferença para exibição
4. Retorna a imagem de diferença e exibe o score de similaridade
### Correspondência de Histograma
A função `transfer_histrogram` usa `match_histograms` do scikit-image para ajustar o histograma de cores da primeira imagem ao da segunda, permitindo transferência de estilo ou equalização entre imagens.
---
## 📦 Publicação no Test PyPI
### Passo a passo para hospedar o pacote
- [x] Instalação das últimas versões de "setuptools" e "wheel"
```bash
py -m pip install --user --upgrade setuptools wheel
```
- [x] Gerar distribuição (certifique-se de estar no diretório do projeto)
```bash
py setup.py sdist bdist_wheel
```
- [x] Verificar se as pastas foram criadas:
- build
- dist
- image_processing_test.egg-info
- [x] Upload para o Test PyPI via Twine
```bash
py -m twine upload --repository testpypi dist/*
```
**Nota:** O Test PyPI é um ambiente de testes. Para disponibilizar publicamente, publique no [PyPI oficial](https://pypi.org/).
---
## 📄 Licença
Este projeto está licenciado sob a MIT License - veja o arquivo [LICENSE](LICENSE) para mais detalhes.
## 📖 Referências
- [Digital Innovation One](https://web.digitalinnovation.one/)
- [scikit-image Documentation](https://scikit-image.org/)
- [Test PyPI](https://test.pypi.org/)
- [PyPI](https://pypi.org/)
---
### Hashtags
#Python #ImageProcessing #OpenSource #DataScience #MachineLearning #DigitalInnovationOne #Bootcamp #PyPI #scikit-image
### Meta Keywords
```
processamento de imagens, Python, histograma, similaridade estrutural,
scikit-image, Digital Innovation One, PyPI, pacote Python, redimensionamento,
visualização de imagens, bootcamp, machine learning, data science
```