AYUDA DE PYTHON

scikit-image Python (Cómo funciona: una guía para desarrolladores)

Regan Pun
Regan Pun
26 de febrero, 2025
Compartir:

Scikit-imagees una colección de algoritmos diseñados para el procesamiento de imágenes en Python. Está disponible de forma gratuita y sin restricciones, y cuenta con código de alta calidad revisado por pares de una activa comunidad de voluntarios. El proyecto Scikit-image comenzó en Google en 2009 como parte del programa Google Summer Code bajo la mentoría de Stefan van der Walt y otros colaboradores de Scikit-image. Tenía como objetivo 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 de Python Scikit-image y una biblioteca de generación de PDF deIronSoftwarellamadoIronPDF.

Primeros pasos

Para aprender sobre Scikit-image, visita el sitio web oficial. Además, Data Carpentry ofrece una excelente lección sobre 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 símbolo del sistema.

    • Actualizar pip:
python -m pip install -U pip
PYTHON
  • Instale scikit-image a través de pip o scikit image conda:
python -m pip install -U scikit-image
PYTHON
  • Para acceder a los conjuntos de datos de demostración, use:
python -m pip install -U scikit-image[data]
PYTHON
  • Para paquetes científicos adicionales, incluidas las capacidades de procesamiento paralelo:
python -m pip install -U scikit-image[optional]
PYTHON

Ejemplo básico

import skimage.io
import matplotlib.pyplot as plt
image = skimage.io.imread(fname='land.jpg')
plt.imshow(image) # show binary image
plt.show()
PYTHON

Filtros

import skimage as ski
image = ski.data.coins()  # Load sample image
edges = ski.filters.sobel(image)
ski.io.imshow(edges)
ski.io.show()
PYTHON

Scikit-image, a menudo abreviado como skimage, es una potente biblioteca de Python para tareas de procesamiento de imágenes. Está construido sobre arrays de NumPy, SciPy y matplotlib, y proporciona varias funciones y algoritmos para manipular y analizar imágenes. skimage importar datos coins se puede usar para acceder a imágenes de muestra de la biblioteca. skimage import filters se puede usar para acceder a filtros integrados y funciones utilitarias.

Características clave 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()
PYTHON

Salida

scikit-image Python(Cómo funciona: una guía para desarrolladores): Figura 1 - Salida de filtrado de imágenes y detección de bordes

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
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()
PYTHON

Salida

scikit-image Python(Cómo funciona: Una guía para desarrolladores): Figura 2 - Salida de extracción de características

3. Transformación Geométrica - Redimensionar y Rotación

from skimage import io, transform
# Load an image
image = io.imread('image.jpg')
# Resize image
resized_image = transform.resize(image, (image.shape[0] // 2, image.shape[1] // 2))
# Rotate image
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()
PYTHON

Salida

scikit-image Python(Cómo funciona: Una guía para desarrolladores): Figura 3 - Salida de transformación geométrica

4. Eliminación de ruido en imágenes con 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()
PYTHON

Salida

scikit-image Python(Cómo Funciona: Una Guía para Desarrolladores): Figura 4 - Salida de Reducción de Ruido de Imagen

Puede encontrar más información sobre el procesamiento de imágenes y el arreglo de NumPy en elpágina oficial.

Presentación de IronPDF

scikit-image Python(Cómo funciona: Una guía para desarrolladores): Figura 5 - IronPDF: La biblioteca PDF de Python

IronPDF es una robusta biblioteca Python diseñada para manejar la creación, edición y firma de documentos PDF utilizando HTML, CSS, imágenes y JavaScript. Prioriza la eficiencia del rendimiento y funciona con un uso mínimo de memoria. Las características clave incluyen:

  • Conversión de HTML a PDF: Convierte archivos HTML, cadenas HTML y URL en documentos PDF, aprovechando funciones como la renderización de páginas web mediante el renderizador PDF de Chrome.
  • **Compatible con Python 3+ en Windows, Mac, Linux y varias plataformas en la nube. IronPDF también es accesible para 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 aplique firmas digitales sin problemas.
  • Plantillas y Configuración de Páginas: Crea diseños 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 adhiere 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 hábilmente activos como imágenes, hojas de estilo CSS y fuentes.

Instalación

pip install ironpdf 
pip install scikit-image
PYTHON

Generar documentos PDF usando IronPDF y Scikit Image

Requisitos previos

  1. Asegúrate de que Visual Studio Code esté instalado como editor de código

  2. 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.

    Instale las bibliotecas necesarias:

pip install scikit-image
pip install ironpdf
PYTHON

A continuación, añade el siguiente código en Python para demostrar el uso de los paquetes de Python IronPDF y scikit-image.

from skimage import io, filters
from ironpdf import * 
# Apply your license key
License.LicenseKey = "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)
# Display the original image, blurred image, and edges
io.imshow_collection([image, blurred_image, edges]).savefig('ironPdf-skimage.png')
ImageToPdfConverter.ImageToPdf("ironPdf-skimage.png").SaveAs("ironPdf-skimage.pdf")
io.show()
PYTHON

Código Explicación

Este fragmento de código demuestra cómo usar scikit-image(`skimage`)y IronPDF juntos para procesar una imagen y convertir los resultados en un documento PDF. Aquí tienes una explicación de cada parte:

  1. Importaciones: Importa funciones necesarias de scikit-image para cargar imágenes(io.imread)y filtrado de imágenes(filters.gaussian, filters.sobel)e importa la funcionalidad de IronPDF.

  2. Aplicación de Clave de Licencia: License.LicenseKey = "Key": Establece la clave de licencia para IronPDF. Este paso es necesario para usar las funcionalidades de IronPDF.3. Carga y Procesamiento de una Imagen: Carga una imagen llamada `'image.jpg'` utilizando la función `io.imread` de scikit-image. Luego aplica desenfoque gaussiano a la imagen cargada utilizando `filters.gaussian` con un valor de sigma de 1.0. Más tarde aplica detección de bordes de Sobel a la imagen cargada utilizando `filters.sobel`.

  3. Visualización y Guardado de Resultados: io.imshow_collection([imagen, imagen_desenfocada, bordes]).savefig('ironPdf-skimage.png')Muestra una colección de imágenes(original, desenfocado, y bordes)usando `io.imshow_collection` y guarda la colección mostrada como `'ironPdf-skimage.png'`.

    ImageToPdfConverter.ImageToPdf(ironPdf-skimage.png)Guardar como(ironPdf-skimage.pdf): Convierte la imagen PNG guardada('ironPdf-skimage.png') a un documento PDF usando `ImageToPdfConverter.ImageToPdf` de IronPDF y lo guarda como `'ironPdf-skimage.pdf'`.5. Mostrando la imagen: 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 IronPDF para convertir imágenes procesadas en documentos PDF. Demuestra la carga de una imagen, la aplicación de un desenfoque Gaussiano y detección de bordes de Sobel, la visualización de los resultados, su guarda como un archivo PNG, la conversión del PNG a PDF utilizando IronPDF, y la visualización de las imágenes procesadas. Esta integración es útil para tareas en las que las imágenes necesitan ser procesadas, analizadas y documentadas en formato PDF, como en investigaciones científicas, informes de análisis de imágenes o flujos de trabajo de generación de documentos automatizados.

Salida

scikit-image Python(Cómo funciona: Una guía para desarrolladores): Figura 6 - Imágenes de entrada

PDF

scikit-image Python(Cómo funciona: Una guía para desarrolladores): Figura 7 - Salida PDF

Licencia IronPDF

IronPDF funciona con la clave de licencia para Python. IronPDF for Python ofrece unprueba gratuita para que los usuarios puedan comprobar sus amplias funciones antes de comprarlo.

Coloca la Clave de Licencia al inicio del script antes de usarlo.Paquete IronPDF:

from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
PYTHON

Conclusión

scikit-image capacita a los desarrolladores de Python para abordar tareas relacionadas con imágenes de manera eficiente. Ya sea que estés trabajando en visión por computadora, imágenes médicas o proyectos artísticos, este paquete tiene 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 filtrado, segmentación, extracción de características y transformaciones geométricas. Su integración perfecta con otras bibliotecas científicas lo convierte en una opción preferida para investigadores, desarrolladores e ingenieros que trabajan con análisis de imágenes y aplicaciones de visión por computadora.

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 PDFs existentes. Además, IronPDF admite tareas como la fusión o división de documentos PDF, la adición de anotaciones, marcas de agua o firmas digitales, la extracción de texto o imágenes de PDFs, y la gestión de propiedades de documentos como metadatos y configuraciones de seguridad. Esta biblioteca proporciona una manera eficiente de manejar tareas relacionadas con PDF de forma programática, lo que la hace adecuada para aplicaciones que requieren generación de documentos, creación de informes o funcionalidades de gestión de documentos.

Junto con ambas bibliotecas, los usuarios pueden trabajar con imágenes, procesarlas de manera eficiente y almacenar los resultados en documentos PDF para fines de archivo.

Regan Pun
Ingeniero de software
Regan se licenció en Ingeniería Electrónica por la Universidad de Reading. Antes de incorporarse a Iron Software, sus anteriores puestos de trabajo le obligaban a centrarse en tareas concretas; lo que más le gusta de Iron Software es la variedad de tareas que puede realizar, ya sea añadiendo valor a las ventas, el soporte técnico, el desarrollo de productos o el marketing. Le gusta entender cómo utilizan los desarrolladores la biblioteca de Iron Software y utilizar ese conocimiento para mejorar continuamente la documentación y desarrollar los productos.
< ANTERIOR
Grakn Python (Cómo Funciona: Una Guía para Desarrolladores)
SIGUIENTE >
peewee Python (Cómo funciona: una guía para desarrolladores)

¿Listo para empezar? Versión: 2025.3 acaba de salir

Ver licencias >