Una librería para trabajar con imágenes en formato de cuaterniones.
Project description
Image Quaternion Library
Image Quaternion Library es una librerÃa de Python que permite trabajar con imágenes en formato de cuaterniones. Proporciona herramientas para convertir imágenes RGB a cuaterniones, aplicar contrastes, comparar histogramas y calcular métricas de calidad de imagen.
Instalación
Puedes instalar la librerÃa directamente desde PyPI usando pip:
pip install image-quaternion
Uso
Conversión de RGB a Cuaterniones
Convierte una imagen RGB a una representación en cuaterniones:
import cv2
from image_quaternion import rgb_to_quaternion
# Cargar una imagen
image = cv2.imread('ruta/a/tu/imagen.jpg')
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # Convertir a RGB
image = image / 255.0 # Normalizar la imagen
# Convertir a cuaterniones
q_image = rgb_to_quaternion(image)
Aplicar Contraste
Aplica un factor de contraste a una imagen en formato de cuaterniones:
from image_quaternion import apply_contrast
# Aplicar un contraste de 1.5
q_contrast = apply_contrast(q_image, contrast=1.5)
Convertir de Cuaterniones a RGB
Convierte una imagen en formato de cuaterniones de vuelta a RGB:
from image_quaternion import quaternion_to_rgb
# Convertir a RGB
rgb_image = quaternion_to_rgb(q_contrast)
Visualizar Canales de Color
Visualiza los canales de color de una imagen en formato de cuaterniones:
from image_quaternion import plot_channels
# Mostrar los canales de color
plot_channels(q_contrast, title='Canales de Color con Contraste 1.5')
Comparar Histogramas
Compara los histogramas de una imagen tradicional y una en cuaterniones:
from image_quaternion import compare_histograms
# Comparar histogramas
compare_histograms(q_image, image)
Calcular Métricas de Calidad
Calcula métricas de calidad entre dos imágenes (MSE, PSNR y EntropÃa):
from image_quaternion import calculate_metrics
# Calcular métricas
mse, psnr, entropy = calculate_metrics(image, rgb_image)
print(f'MSE: {mse}, PSNR: {psnr}, EntropÃa: {entropy}')
Ejemplo Completo
import cv2
import numpy as np
from image_quaternion import (
rgb_to_quaternion,
apply_contrast,
quaternion_to_rgb,
plot_channels,
compare_histograms,
calculate_metrics
)
# Cargar una imagen
image = cv2.imread('ruta/a/tu/imagen.jpg')
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # Convertir a RGB
image = image / 255.0 # Normalizar la imagen
# Convertir a cuaterniones
q_image = rgb_to_quaternion(image)
# Aplicar un contraste de 1.5
q_contrast = apply_contrast(q_image, contrast=1.5)
# Convertir de vuelta a RGB
rgb_image = quaternion_to_rgb(q_contrast)
# Mostrar los canales de color
plot_channels(q_contrast, title='Canales de Color con Contraste 1.5')
# Comparar histogramas
compare_histograms(q_image, image)
# Calcular métricas de calidad
mse, psnr, entropy = calculate_metrics(image, rgb_image)
print(f'MSE: {mse}, PSNR: {psnr}, EntropÃa: {entropy}')
Requisitos
- Python 3.6 o superior.
- Dependencias:
numpymatplotlibopencv-python
Instalación de Dependencias
Puedes instalar las dependencias automáticamente al instalar la librerÃa con pip. Si prefieres instalarlas manualmente:
pip install numpy matplotlib opencv-python
Contribuir
Si deseas contribuir a este proyecto, ¡te damos la bienvenida! Por favor, sigue estos pasos:
- Haz un fork del repositorio.
- Crea una rama para tu contribución (
git checkout -b feature/nueva-funcionalidad). - Realiza tus cambios y haz commit (
git commit -m 'Añadir nueva funcionalidad'). - Haz push a la rama (
git push origin feature/nueva-funcionalidad). - Abre un Pull Request en GitHub.
Licencia
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.
Contacto
Si tienes alguna pregunta o sugerencia, no dudes en contactarme:
- Nombre: [Tu Nombre]
- Email: [tu@email.com]
- GitHub: https://github.com/tu_usuario
Este README.md está diseñado para ser claro y fácil de seguir, proporcionando toda la información necesaria para que los usuarios puedan instalar, usar y contribuir a la librerÃa. ¡Espero que sea útil! 🚀
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
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 image_quaternion-0.1.1.tar.gz.
File metadata
- Download URL: image_quaternion-0.1.1.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97d6b93db98756b79934d4455b0b4fb4f31e997bb627eb1a4d0771bbf0d1bf6c
|
|
| MD5 |
d8865eb683022ee16e0e4df96ee85852
|
|
| BLAKE2b-256 |
d9450bcf783f0fa3e21e6c386b9251efb4de15aff6de20851dd62065c1cc5e33
|
File details
Details for the file image_quaternion-0.1.1-py3-none-any.whl.
File metadata
- Download URL: image_quaternion-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
864df893767087156f466253d77c7930599bf18360e110147bf9f4bc301de782
|
|
| MD5 |
cb948ef3c081709c96b733369024d296
|
|
| BLAKE2b-256 |
eed1b71813fefa25d5345d49dd62f9472f2e9e378d8503081cd70c077bf4c5f8
|