Enterprise-grade AI image upscaling and multi-threaded vectorization engine.
Project description
Vectify Simplify
Vectify Simplify es una librería de Python diseñada para convertir imágenes normales (JPG, PNG) a vectores escalables (SVG) de la mejor calidad posible. Combina modelos de inteligencia artificial para mejorar la resolución y algoritmos matemáticos para trazar las curvas.
Es una herramienta potente pero fácil de usar, pensada para que no tengas que pelear con configuraciones complejas, y que respeta perfectamente las transparencias (canal Alpha).
Instalación
Instala el paquete principal mediante pip:
pip install vectify-simplify
(Opcional) Para que la librería procese todo mucho más rápido usando tu tarjeta de video, instala el motor de ONNX correspondiente:
- Para tarjetas NVIDIA:
pip install onnxruntime-gpu - Para tarjetas Intel/AMD (en Windows):
pip install onnxruntime-directml
Guía de Uso y Funciones
Aquí tienes todas las herramientas que incluye el motor, explicadas paso a paso.
1. Vectorización Rápida (Todo en uno)
Esta es la función principal. Toma tu imagen, la escala con IA, la limpia y la vectoriza automáticamente usando un perfil predeterminado.
from vectify.core import VectifyEngine
# Inicializar el motor (detecta si tienes CPU o GPU automáticamente)
engine = VectifyEngine()
# Vectorizar usando el perfil para fotografías
resultado = engine.vectorize(
image_path="foto.png",
output_path="resultado.svg",
preset="photo"
)
print(f"Proceso terminado. Capas creadas: {resultado['colors_used']}")
2. Combinar Perfiles con Ajustes Manuales
Si quieres usar un perfil base pero necesitas forzar, por ejemplo, que solo use 5 colores exactos, puedes sobrescribir los valores.
from vectify.core import VectifyEngine
engine = VectifyEngine()
resultado = engine.vectorize(
image_path="logo.png",
output_path="logo_limpio.svg",
preset="logo", # Usar la base del perfil logo
max_colors=5, # Pero obligarlo a sacar solo 5 colores
solid_fill=True, # Sellar cualquier hueco o porosidad
detail_level="high" # Mantener las esquinas afiladas
)
3. Extraer Paleta de Colores
Analiza una imagen y devuelve los colores predominantes ordenados por el porcentaje de área que ocupan en la foto.
from vectify.core import VectifyEngine
engine = VectifyEngine()
paleta = engine.analyze_palette("ilustracion.png", max_colors=6)
for color in paleta:
print(f"Color Hex: {color['hex']} - Ocupa un {color['percentage']}%")
4. Evaluar Calidad de la Imagen
Analiza qué tan borrosa está una imagen o si tiene una resolución muy baja antes de procesarla.
from vectify.core import VectifyEngine
engine = VectifyEngine()
calidad = engine.evaluate_image_quality("foto.png")
print(f"Calidad general: {calidad['quality']}")
print(f"Megapíxeles: {calidad['megapixels']}")
print(f"Nivel de nitidez: {calidad['sharpness_level']}")
5. Flujo Manual (Paso a Paso)
Si quieres tener el control total, puedes usar las funciones internas del motor por separado sin usar la función vectorize.
from vectify.core import VectifyEngine
engine = VectifyEngine()
# Paso 1: Aumentar la resolución x4 usando la Inteligencia Artificial pura
engine.upscale_with_ai("input.png", "paso1_ia.png")
# Paso 2: Limpiar ruido, suavizar texturas y mejorar bordes
engine.refine_image("paso1_ia.png", "paso2_limpio.png", sharpness=0.5)
# Paso 3: Vectorizar la imagen ya procesada manualmente
engine.vectorize("paso2_limpio.png", "final.svg", preset="illustration")
Tabla de Parámetros
Cuando usas la función vectorize(), puedes modificar estos parámetros para alterar el resultado a tu gusto:
| Parámetro | Opciones / Tipo | Descripción |
|---|---|---|
| preset | "photo", "logo", "illustration" | Carga una configuración pregrabada para ese tipo de imagen. |
| max_colors | Número entero (ej. 16, 32) | Límite máximo de colores (capas SVG) a extraer. |
| detail_level | "low", "medium", "high" | Define qué tan precisas serán las curvas y bordes del vector. |
| smoothing_level | "low", "normal", "high" | Nivel de suavizado matemático de los trazos. |
| solid_fill | True, False | Trata de rellenar pequeños huecos y porosidades en la imagen. |
| max_megapixels | Número decimal (ej. 4.0) | Límite de tamaño para redimensionar la imagen y evitar que la memoria colapse. |
| colors | Lista o None | Permite pasar una lista de colores exacta si no quieres que la detecte automáticamente. |
Licencia
Licencia MIT. Eres libre de usar, modificar y distribuir este código en proyectos personales o comerciales.
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 vectify_simplify-1.0.5.tar.gz.
File metadata
- Download URL: vectify_simplify-1.0.5.tar.gz
- Upload date:
- Size: 5.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f422b42615987d252a4607ca8dae918652196ae6efe7a1b3f704a0ddd775641b
|
|
| MD5 |
516902bafa82dc5d4c6cb308019b48e7
|
|
| BLAKE2b-256 |
03c608ae1698dab6bb9940724c058a8e89bacde0f10ec0a11d6a2b07c6f43076
|
File details
Details for the file vectify_simplify-1.0.5-py3-none-any.whl.
File metadata
- Download URL: vectify_simplify-1.0.5-py3-none-any.whl
- Upload date:
- Size: 5.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c2aa3ea7ca8366b8a3c840ea87742baa1eb17de7fd443d5e518f44fe8de1948
|
|
| MD5 |
238440da95817d92628c7132ad84e1aa
|
|
| BLAKE2b-256 |
ff1ef3757db336bb1bb5e4d21690d29126ec67d5dae01cb720c59cdb929a40fd
|