Skip to content

Un conjunto de herramientas modular para cargar, transformar, filtrar y analizar imágenes utilizando OpenCV, NumPy, SciPy y Matplotlib.

Notifications You must be signed in to change notification settings

isaultirado77/image-processing-tools

Repository files navigation

ImgProcTools - Biblioteca de Procesamiento de Imágenes en Python

ImgProcTools es una biblioteca Python diseñada para proporcionar herramientas esenciales de procesamiento de imágenes, construida sobre OpenCV y NumPy.

Nota: Este proyecto documenta mi proceso de aprendizaje en el campo del procesamiento de imágenes utilizando OpenCV, así como mi evolución en el desarrollo de software con Python. Ha sido concebido principalmente como una herramienta educativa y de autoevaluación, en la que he aplicado conceptos fundamentales de procesamiento de imagenes y buenas prácticas. Si bien puede resultar útil para otros, su propósito principal ha sido didáctico y personal.

Características Principales

Módulos Principales

Módulo Funcionalidades
core/ Operaciones fundamentales de procesamiento
utils/ Herramientas auxiliares y visualización

Funcionalidades Clave

  • Carga de imágenes desde archivo o URL
  • Transformaciones geométricas (rotación, escalado, perspectiva)
  • Filtrado avanzado (Gaussiano, bilateral, detección de bordes)
  • Análisis de imágenes (detección de formas, histogramas)
  • Herramientas de dibujo y visualización

Instalación

  1. Requisitos previos:

    pip install opencv-python numpy matplotlib
  2. Instalar ImgProcTools:

    pip install git+https://github.com/isaultirado77/image-processing-tools.git

    O para instalación editable (desarrollo):

    git clone https://github.com/isaultirado77/image-processing-tools.git
    cd ImgProcTools
    pip install -e .

Uso Básico

Ejemplo 1: Procesamiento Básico

from ImgProcTools.core import image_loader, image_transform
from ImgProcTools.utils import histogram_utils

# Cargar y transformar imagen
img = image_loader.load_image("ruta/imagen.jpg")
rotated = image_transform.rotate(img, angle=45)
resized = image_transform.resize(img, width=300)

# Analizar histograma
hist = histogram_utils.compute_histogram(img)

Ejemplo 2: Filtrado Avanzado

from ImgProcTools.core import image_filter

edges = image_filter.canny_edges(img, low_threshold=50)
denoised = image_filter.bilateral_filter(img, d=9, sigma_color=75)

Documentación

Explora los notebooks de ejemplo en /examples:

Estructura del Proyecto

ImgProcTools/
├── core/               # Módulos principales
│   ├── image_loader.py
│   ├── image_transform.py
|   ├── image_analysis.py
|   ├── image_enhancement.py
|   ├── image_filter.py
│   └── frecuency_filters.py
├── utils/              # Herramientas auxiliares
│   ├── utils.py
│   ├── draw_utils.py
│   ├── histogram_utils.py
│   └── plot_utils.py
├── examples/           # Ejemplos prácticos
├── tests/              # Pruebas unitarias
└── docs/               # Documentación técnica

About

Un conjunto de herramientas modular para cargar, transformar, filtrar y analizar imágenes utilizando OpenCV, NumPy, SciPy y Matplotlib.

Topics

Resources

Stars

Watchers

Forks