Skip to content

jbeleno/Codes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Codes — Toolkit de scripts para visión por computador

Python Pillow OpenCV scikit--learn TensorFlow

Conjunto de scripts standalone en Python para tareas comunes de visión por computador: aumento de datos (data augmentation), división de datasets en train/val/test, y testing de modelos de clasificación de imágenes.

Proyecto académico (USCO). Cada carpeta es un mini-toolkit independiente con su requirements.txt y su README específico — diseñado para que cada script se pueda usar aislado, sin instalar dependencias innecesarias.


Estructura

Codes/
├── Data Augmentation/        # Pillow + OpenCV
│   ├── Rotate.py             # Rotación 90° CW, 90° CCW, 180°
│   ├── Flipping.py           # Flip horizontal y/o vertical
│   ├── Perspective.py        # Transformación de perspectiva
│   ├── README.md
│   └── requirements.txt
├── Data Splitting/           # scikit-learn
│   ├── splitting.py          # Train/val/test split
│   ├── README.md
│   └── requirements.txt
├── Model Testing/            # TensorFlow + OpenCV + matplotlib
│   ├── Test.py               # Inferencia + métricas + visualización
│   ├── README.md
│   └── requirements.txt
└── README.md

Uso

Cada subcarpeta tiene su propio entorno. Instalar solo las dependencias del módulo que se vaya a usar:

# Ejemplo: usar Data Augmentation
cd "Data Augmentation"
pip install -r requirements.txt
# Editar paths en el script (input_folder, output_folder)
python Rotate.py

Módulos

Data Augmentation

Tres scripts independientes para aumentar variedad de un dataset de imágenes:

Script Qué hace
Rotate.py Genera 3 rotaciones (90° CW, 90° CCW, 180°) por imagen
Flipping.py Genera flip horizontal, vertical, o ambos
Perspective.py Aplica una transformación de perspectiva para simular ángulos de cámara distintos

Stack: Pillow, OpenCV, NumPy.

Cada script lee de un input_folder y escribe en un output_folder (se crea si no existe). Editar las paths al inicio del script antes de correr.

Data Splitting

splitting.py — divide un dataset organizado por carpetas de clase en subconjuntos train/, val/ y test/ con proporciones configurables, usando train_test_split de scikit-learn.

Model Testing

Test.py — carga un modelo Keras/TensorFlow, corre inferencia sobre un set de prueba, calcula métricas y produce visualizaciones con matplotlib (matriz de confusión, ejemplos correctos/incorrectos).


Mejoras pendientes

  • CLI args con argparse en lugar de editar paths hardcodeadas en cada script.
  • Soporte para más formatos además de .png / .jpg / .jpeg.
  • Albumentations como alternativa más completa a Pillow para augmentation (más transformaciones, más rápido).
  • Pipeline unificado: un script que orqueste augmentation → split → training → test en un solo comando.
  • Tests unitarios sobre las transformaciones (verificar que un flip horizontal no rompe metadata, que el split mantiene proporción de clases, etc.).

Licencia

Proyecto académico — Universidad Surcolombiana (USCO).

About

Standalone Python scripts for computer vision: image augmentation (rotate, flip, perspective with Pillow/OpenCV), dataset splitting (scikit-learn), and model testing (TensorFlow + matplotlib).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages