Skip to main content

Una librería para trabajar con imágenes en formato de cuaterniones.

Project description

Image Quaternion Library

Python License

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:
    • numpy
    • matplotlib
    • opencv-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:

  1. Haz un fork del repositorio.
  2. Crea una rama para tu contribución (git checkout -b feature/nueva-funcionalidad).
  3. Realiza tus cambios y haz commit (git commit -m 'Añadir nueva funcionalidad').
  4. Haz push a la rama (git push origin feature/nueva-funcionalidad).
  5. Abre un Pull Request en GitHub.

Licencia

Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.

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

image_quaternion-0.1.2.tar.gz (4.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

image_quaternion-0.1.2-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file image_quaternion-0.1.2.tar.gz.

File metadata

  • Download URL: image_quaternion-0.1.2.tar.gz
  • Upload date:
  • Size: 4.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.6

File hashes

Hashes for image_quaternion-0.1.2.tar.gz
Algorithm Hash digest
SHA256 6a9550aa088d485ccdee3d68e8c38235615b1a2dc958fb875e99f18b39197353
MD5 2d56340d0107b670faaae4b649ddf254
BLAKE2b-256 0cc7d8c14de2c9182a12eda127600c09744cb4b11ddf297a458a34d4fe38bd4e

See more details on using hashes here.

File details

Details for the file image_quaternion-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for image_quaternion-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a6693c8c1b0e3cfd4a6c3cb882d21bf96507321810238429b9b369ee2f67de61
MD5 90678ed070b5370453538aff59517336
BLAKE2b-256 bc308555917f04101c9d3bc18b0ce95453aac7a424de256c5ee9dd78609d19dd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page