scikit-image Python (Cómo Funciona: Una Guía para Desarrolladores)
Scikit-image es una colección de algoritmos diseñados para el procesamiento de imágenes en Python. Es de libre acceso y sin restricciones, y cuenta con código de alta calidad revisado por pares procedente de una comunidad activa de voluntarios. El proyecto Scikit-image se inició en Google en 2009 como parte del programa Google Summer Code, bajo la tutoría de Stefan van der Walt y otros colaboradores de Scikit-image. Su objetivo era crear una biblioteca de Python para el procesamiento de imágenes que fuera fácil de usar, eficiente y ampliable para aplicaciones académicas e industriales. En este artículo, aprenderemos sobre la biblioteca de imágenes for Python Scikit-image y una biblioteca de generación de PDF de Iron Software llamada IronPDF.
Introducción
Para obtener más información sobre Scikit-image, visita el sitio web oficial. Además, Data Carpentry ofrece una excelente lección sobre el procesamiento de imágenes en Python utilizando Scikit.
Instalación mediante pip
- Asegúrate de tener instalado Python (al menos la versión 3.10).
Abre tu terminal o la línea de comandos.
- Actualizar pip:
python -m pip install -U pippython -m pip install -U pipSHELL- Instala scikit-image mediante pip:
python -m pip install -U scikit-imagepython -m pip install -U scikit-imageSHELL- Para acceder a los conjuntos de datos de demostración, utilice:
python -m pip install -U scikit-image[data]python -m pip install -U scikit-image[data]SHELL- Para paquetes científicos adicionales, incluidas capacidades de procesamiento paralelo:
python -m pip install -U scikit-image[optional]python -m pip install -U scikit-image[optional]SHELL
Ejemplo básico
import skimage.io
import matplotlib.pyplot as plt
# Load an image from file
image = skimage.io.imread(fname='land.jpg')
# Display the image
plt.imshow(image)
plt.show()import skimage.io
import matplotlib.pyplot as plt
# Load an image from file
image = skimage.io.imread(fname='land.jpg')
# Display the image
plt.imshow(image)
plt.show()Filtros
import skimage as ski
# Load a sample image from the scikit-image default collection
image = ski.data.co/ins()
# Apply a Sobel filter to detect edges
edges = ski.filters.sobel(image)
# Display the edges
ski.io.imshow(edges)
ski.io.show()import skimage as ski
# Load a sample image from the scikit-image default collection
image = ski.data.co/ins()
# Apply a Sobel filter to detect edges
edges = ski.filters.sobel(image)
# Display the edges
ski.io.imshow(edges)
ski.io.show()Scikit-image, a menudo abreviado como skimage, es una potente biblioteca de Python para tareas de procesamiento de imágenes. Se basa en matrices NumPy, SciPy y matplotlib, y ofrece diversas funciones y algoritmos para manipular y analizar imágenes. El skimage.data.co/ins() se utiliza para acceder a imágenes de ejemplo de la biblioteca. skimage.filters proporciona acceso a filtros integrados y funciones de utilidad.
Características principales de Scikit-image
1. Filtrado de imágenes y detección de bordes
from skimage import io, filters
# Load an image
image = io.imread('image.jpg')
# Apply Gaussian blur
blurred_image = filters.gaussian(image, sigma=1.0)
# Apply Sobel edge detection
edges = filters.sobel(image)
# Display the original image, blurred image, and edges
io.imshow_collection([image, blurred_image, edges])
io.show()from skimage import io, filters
# Load an image
image = io.imread('image.jpg')
# Apply Gaussian blur
blurred_image = filters.gaussian(image, sigma=1.0)
# Apply Sobel edge detection
edges = filters.sobel(image)
# Display the original image, blurred image, and edges
io.imshow_collection([image, blurred_image, edges])
io.show()Resultado

2. Extracción de características con HOG (histograma de gradientes orientados)
from skimage import io, color, feature
# Load an example image and convert to grayscale
image = io.imread('image.jpg')
gray_image = color.rgb2gray(image)
# Compute HOG features and visualize them
hog_features, hog_image = feature.hog(gray_image, visualize=True)
# Display the original image and the HOG image
io.imshow_collection([image, gray_image, hog_image])
io.show()from skimage import io, color, feature
# Load an example image and convert to grayscale
image = io.imread('image.jpg')
gray_image = color.rgb2gray(image)
# Compute HOG features and visualize them
hog_features, hog_image = feature.hog(gray_image, visualize=True)
# Display the original image and the HOG image
io.imshow_collection([image, gray_image, hog_image])
io.show()Resultado

3. Transformación geométrica: cambio de tamaño y rotación
from skimage import io, transform
# Load an image
image = io.imread('image.jpg')
# Resize image by dividing its dimensions by 2
resized_image = transform.resize(image, (image.shape[0] // 2, image.shape[1] // 2))
# Rotate image by 45 degrees
rotated_image = transform.rotate(image, angle=45)
# Display the original image, resized image, and rotated image
io.imshow_collection([image, resized_image, rotated_image])
io.show()from skimage import io, transform
# Load an image
image = io.imread('image.jpg')
# Resize image by dividing its dimensions by 2
resized_image = transform.resize(image, (image.shape[0] // 2, image.shape[1] // 2))
# Rotate image by 45 degrees
rotated_image = transform.rotate(image, angle=45)
# Display the original image, resized image, and rotated image
io.imshow_collection([image, resized_image, rotated_image])
io.show()Resultado

4. Eliminación de ruido en imágenes con el filtro de variación total
from skimage import io, restoration
# Load a noisy image
image = io.imread('image.jpg')
# Apply total variation denoising
denoised_image = restoration.denoise_tv_chambolle(image, weight=0.1)
# Display the noisy image and the denoised image
io.imshow_collection([image, denoised_image])
io.show()from skimage import io, restoration
# Load a noisy image
image = io.imread('image.jpg')
# Apply total variation denoising
denoised_image = restoration.denoise_tv_chambolle(image, weight=0.1)
# Display the noisy image and the denoised image
io.imshow_collection([image, denoised_image])
io.show()Resultado

Puedes encontrar más información sobre el procesamiento de imágenes y las matrices NumPy en la página oficial.
Presentamos IronPDF

IronPDF es una sólida biblioteca de Python diseñada para gestionar la creación, edición y firma de documentos PDF utilizando HTML, CSS, imágenes y JavaScript. Da prioridad a la eficiencia en el rendimiento y funciona con un consumo mínimo de memoria. Las características principales incluyen:
Conversión de HTML a PDF: Convierte archivos HTML, cadenas HTML y URL en documentos PDF, aprovechando capacidades como la representación de páginas web mediante el renderizador de PDF de Chrome.
Compatibilidad multiplataforma: Compatible con Python 3+ en Windows, Mac, Linux y diversas plataformas en la nube. IronPDF también es compatible con entornos .NET, Java, Python y Node.js.
Edición y firma: Personalice las propiedades de los PDF, aplique medidas de seguridad como contraseñas y permisos, y añada firmas digitales sin complicaciones.
Plantillas de página y configuración: Crea diseños de PDF con características como encabezados, pies de página, números de página, márgenes ajustables, tamaños de papel personalizados y diseños adaptativos.
- Cumplimiento de estándares: Se ajusta estrictamente a los estándares PDF, como PDF/A y PDF/UA, garantiza la compatibilidad con la codificación de caracteres UTF-8 y gestiona con destreza recursos como imágenes, hojas de estilo CSS y fuentes.
Instalación
pip install ironpdf
pip install scikit-imagepip install ironpdf
pip install scikit-imageGenerar documentos PDF con IronPDF y Scikit Image
Requisitos previos
- Asegúrate de que Visual Studio Code está instalado como editor de código
- Python versión 3 está instalado
Para empezar, creemos un archivo Python para añadir nuestros scripts.
Abre Visual Studio Code y crea un archivo, scikitDemo.py.
Instala las bibliotecas necesarias:
pip install scikit-image
pip install ironpdfpip install scikit-image
pip install ironpdfA continuación, añada el siguiente código Python para mostrar el uso de los paquetes Python IronPDF y scikit-image.
from skimage import io, filters
from ironpdf import *
# Apply your license key
License.LicenseKey = "YOUR_LICENSE_KEY"
# Load an image
image = io.imread('image.jpg')
# Apply Gaussian blur
blurred_image = filters.gaussian(image, sigma=1.0)
# Apply Sobel edge detection
edges = filters.sobel(image)
# Save the results to a file
io.imshow_collection([image, blurred_image, edges]).savefig('ironPdf-skimage.png')
# Convert the saved image to a PDF document
ImageToPdfConverter.ImageToPdf("ironPdf-skimage.png").SaveAs("ironPdf-skimage.pdf")
# Display the images
io.show()from skimage import io, filters
from ironpdf import *
# Apply your license key
License.LicenseKey = "YOUR_LICENSE_KEY"
# Load an image
image = io.imread('image.jpg')
# Apply Gaussian blur
blurred_image = filters.gaussian(image, sigma=1.0)
# Apply Sobel edge detection
edges = filters.sobel(image)
# Save the results to a file
io.imshow_collection([image, blurred_image, edges]).savefig('ironPdf-skimage.png')
# Convert the saved image to a PDF document
ImageToPdfConverter.ImageToPdf("ironPdf-skimage.png").SaveAs("ironPdf-skimage.pdf")
# Display the images
io.show()Explicación del código
Este fragmento de código muestra cómo utilizar scikit-image (skimage) e IronPDF conjuntamente para procesar una imagen y convertir los resultados en un documento PDF. A continuación se ofrece una explicación de cada parte:
Instrucciones de importación: Importa las funciones necesarias de scikit-image para la carga y el filtrado de imágenes, e importa la funcionalidad de IronPDF.
Aplicar clave de licencia: Establece la clave de licencia para IronPDF. Este paso es necesario para utilizar las funcionalidades de IronPDF.
Carga y procesamiento de una imagen: Carga una imagen denominada
'image.jpg'utilizando la funciónio.imreadde scikit-image. A continuación, aplica un desenfoque gaussiano a la imagen cargada utilizandofilters.gaussiancon un valor sigma de 1,0, y aplica la detección de bordes de Sobel a la imagen cargada utilizandofilters.sobel.Visualización y guardado de resultados:
io.imshow_collection([image, blurred_image, edges]).savefig('ironPdf-skimage.png'): Guarda una colección de imágenes (original, desenfocada y bordes) como'ironPdf-skimage.png'.Conversión de imagen a PDF:
ImageToPdfConverter.ImageToPdf("ironPdf-skimage.png").SaveAs("ironPdf-skimage.pdf"): Convierte la imagen PNG guardada en un documento PDF utilizando la funcionalidad de IronPDF.- Visualización de las imágenes:
io.show(): Muestra las imágenes en una ventana gráfica.
Este fragmento de código combina las capacidades de scikit-image para el procesamiento de imágenes y de IronPDF para convertir las imágenes procesadas en documentos PDF. Muestra cómo cargar una imagen, aplicar un desenfoque gaussiano y la detección de bordes de Sobel, guardarlas como un archivo PNG, convertir el PNG a PDF utilizando IronPDF y mostrar las imágenes procesadas. Esta integración resulta útil para tareas en las que es necesario procesar, analizar y documentar imágenes en formato PDF, como en la investigación científica, los informes de análisis de imágenes o los flujos de trabajo de generación automática de documentos.
Resultado


Licencia de IronPDF
IronPDF funciona con una clave de licencia for Python. IronPDF for Python ofrece una licencia de prueba gratuita para que los usuarios puedan probar sus amplias funciones antes de la compra.
Coloque la clave de licencia al principio del script antes de utilizar el paquete IronPDF:
from ironpdf import *
# Apply your license key
License.LicenseKey = "YOUR_LICENSE_KEY"from ironpdf import *
# Apply your license key
License.LicenseKey = "YOUR_LICENSE_KEY"Conclusión
scikit-image permite a los desarrolladores de Python abordar tareas relacionadas con imágenes de manera eficiente. Tanto si trabajas en visión artificial, imágenes médicas o proyectos artísticos, este paquete te ofrece todo lo que necesitas. scikit-image es una biblioteca versátil y potente para el procesamiento de imágenes en Python, que ofrece una amplia gama de funciones y algoritmos para tareas como el filtrado, la segmentación, la extracción de características y las transformaciones geométricas. Su perfecta integración con otras bibliotecas científicas la convierte en la opción preferida para investigadores, desarrolladores e ingenieros que trabajan con aplicaciones de análisis de imágenes y visión artificial.
IronPDF es una biblioteca de Python que facilita la creación, edición y manipulación de documentos PDF dentro de aplicaciones de Python. Ofrece funciones como la generación de archivos PDF a partir de diversas fuentes, como HTML, imágenes o archivos PDF existentes. Además, IronPDF permite realizar tareas como fusionar o dividir documentos PDF, añadir anotaciones, marcas de agua o firmas digitales, extraer texto o imágenes de archivos PDF y gestionar propiedades de los documentos, como metadatos y ajustes de seguridad. Esta biblioteca ofrece una forma eficaz de gestionar tareas relacionadas con PDF mediante programación, lo que la hace adecuada para aplicaciones que requieren funciones de generación de documentos, creación de informes o gestión de documentos.
Con ambas bibliotecas, los usuarios pueden trabajar con imágenes, procesarlas de forma eficiente y almacenar los resultados en documentos PDF para su archivo.










