Zum Fußzeileninhalt springen
PYTHON-HILFE

scikit-image Python (Wie es funktioniert: Ein Leitfaden für Entwickler)

Scikit-image ist eine Sammlung von Algorithmen, die für die Bildverarbeitung in Python entwickelt wurden. Es ist frei verfügbar und uneingeschränkt, mit qualitativ hochwertigem, von einer aktiven Gemeinschaft von Freiwilligen begutachtetem Code. Das Scikit-image-Projekt begann 2009 bei Google im Rahmen des Google Summer Code Programms unter der Leitung von Stefan van der Walt und anderen Mitwirkenden von Scikit-image. Es zielte darauf ab, eine Python-Bibliothek für die Bildverarbeitung zu schaffen, die leicht zu verwenden, effizient und erweiterbar für akademische und industrielle Anwendungen ist. In this article, we will learn about the Scikit-image Python imaging library and a PDF generation library from IronSoftware called IronPDF.

Einstieg

Um mehr über Scikit-image zu erfahren, besuchen Sie die offizielle Webseite. Zusätzlich bietet Data Carpentry eine hervorragende Lektion zur Bildverarbeitung in Python mit Scikit.

Installation über pip

  • Stellen Sie sicher, dass Python installiert ist (mindestens Version 3.10).
  • Öffnen Sie Ihr Terminal oder die Eingabeaufforderung.

    • Aktualisieren Sie pip:
    python -m pip install -U pip
    python -m pip install -U pip
    SHELL
    • Installieren Sie scikit-image über pip:
    python -m pip install -U scikit-image
    python -m pip install -U scikit-image
    SHELL
    • Um auf Demo-Datensätze zuzugreifen, verwenden Sie:
    python -m pip install -U scikit-image[data]
    python -m pip install -U scikit-image[data]
    SHELL
    • Für zusätzliche wissenschaftliche Pakete, einschließlich parallel Verarbeitungsfunktionen:
    python -m pip install -U scikit-image[optional]
    python -m pip install -U scikit-image[optional]
    SHELL

Einfaches Beispiel

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

Filter

import skimage as ski

# Load a sample image from the scikit-image default collection
image = ski.data.coins()

# 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.coins()

# Apply a Sobel filter to detect edges
edges = ski.filters.sobel(image)

# Display the edges
ski.io.imshow(edges)
ski.io.show()
PYTHON

Scikit-image, oft als skimage abgekürzt, ist eine leistungsstarke Python-Bibliothek für Bildverarbeitungsaufgaben. Es basiert auf NumPy-Arrays, SciPy und matplotlib und bietet verschiedene Funktionen und Algorithmen zur Manipulation und Analyse von Bildern. Mit skimage.data.coins() können Sie auf Beispielbilder aus der Bibliothek zugreifen. skimage.filters bietet Zugriff auf eingebaute Filter und Dienstprogrammfunktionen.

Hauptmerkmale von Skikit-image

1. Bildfilterung und Kantenerkennung

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

Ausgabe

scikit-image Python (So funktioniert's: Ein Leitfaden für Entwickler): Abbildung 1 - Bildfilterung und Kantenerkennung Ausgabe

2. Merkmalsextraktion mit HOG (Histogram of Oriented Gradients)

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

Ausgabe

scikit-image Python (So funktioniert's: Ein Leitfaden für Entwickler): Abbildung 2 - Merkmalsextraktion Ausgabe

3. Geometrische Transformation - Größenänderung und Rotation

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

Ausgabe

scikit-image Python (So funktioniert's: Ein Leitfaden für Entwickler): Abbildung 3 - Geometrische Transformation Ausgabe

4. Bildentrauschung mit Total Variation Filter

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

Ausgabe

scikit-image Python (How It Works: A Guide for Developers): Figure 4 - Image Denoising Ausgabe

Weitere Informationen zur Bildverarbeitung und NumPy-Array finden Sie auf der offiziellen Seite.

Einführung von IronPDF

scikit-image Python (So funktioniert's: Ein Leitfaden für Entwickler): Abbildung 5 - IronPDF: Die Python PDF-Bibliothek

IronPDF ist eine robuste Python-Bibliothek, die für die Erstellung, Bearbeitung und Signierung von PDF-Dokumenten mit HTML, CSS, Bildern und JavaScript ausgelegt ist. Es priorisiert Effizienz bei der Leistung und arbeitet mit minimalem Speicherverbrauch. Hauptmerkmale sind:

  • HTML zu PDF Konvertierung: Konvertieren Sie HTML-Dateien, HTML-Strings und URLs in PDF-Dokumente, indem Sie Funktionen wie das Rendern von Webseiten mit dem Chrome PDF-Renderer nutzen.

  • Plattformübergreifende Unterstützung: Kompatibel mit Python 3+ auf Windows, Mac, Linux und verschiedenen Cloud-Plattformen. IronPDF ist auch für .NET-, Java-, Python- und Node.js-Umgebungen zugänglich.

  • Bearbeiten und Signieren: Passen Sie PDF-Eigenschaften an, setzen Sie Sicherheitsmaßnahmen wie Passwörter und Berechtigungen durch und wenden Sie digitale Signaturen nahtlos an.

  • Seitenvorlagen und Einstellungen: Erstellen Sie PDF-Layouts mit Funktionen wie Kopfzeilen, Fußzeilen, Seitenzahlen, anpassbaren Rändern, benutzerdefinierten Papierformaten und responsiven Designs.

  • Standardskonformität: Hält sich strikt an PDF-Standards wie PDF/A und PDF/UA, gewährleistet UTF-8-Zeichenkodierungskompatibilität und verwaltet kompetent Assets wie Bilder, CSS-Stylesheets und Schriften.

Installation

pip install ironpdf 
pip install scikit-image
pip install ironpdf 
pip install scikit-image
SHELL

PDF-Dokumente mit IronPDF und Scikit Image erstellen

Voraussetzungen

  1. Stellen Sie sicher, dass Visual Studio Code als Code-Editor installiert ist
  2. Python Version 3 ist installiert

Zu Beginn erstellen wir eine Python-Datei, um unsere Skripte hinzuzufügen.

Öffnen Sie Visual Studio Code und erstellen Sie eine Datei, scikitDemo.py.

Notwendige Bibliotheken installieren:

pip install scikit-image
pip install ironpdf
pip install scikit-image
pip install ironpdf
SHELL

Fügen Sie dann den unten stehenden Python-Code hinzu, um die Verwendung der Python-Pakete IronPDF und scikit-image zu demonstrieren.

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

Code-Erklärung

Dieses Code-Snippet zeigt, wie man scikit-image (skimage) und IronPDF zusammen verwendet, um ein Bild zu verarbeiten und die Ergebnisse in ein PDF-Dokument zu konvertieren. Hier ist eine Erklärung zu jedem Teil:

  1. Import-Anweisungen: Importiert notwendige Funktionen von scikit-image zum Bildladen und Bildfiltern und importiert IronPDF-Funktionalität.

  2. Anwenden des Lizenzschlüssels: Setzt den Lizenzschlüssel für IronPDF. Dieser Schritt ist erforderlich, um IronPDF-Funktionalitäten zu nutzen.

  3. Laden und Verarbeiten eines Bildes: Lädt ein Bild namens 'image.jpg' mit der io.imread-Funktion von scikit-image. Anschließend wird ein Gaußscher Weichzeichner mit einem Sigma-Wert von 1.0 auf das geladene Bild angewendet und Sobel-Kantenerkennung mit filters.sobel auf das geladene Bild.

  4. Anzeigen und Speichern der Ergebnisse: io.imshow_collection([image, blurred_image, edges]).savefig('ironPdf-skimage.png'): Speichert eine Sammlung von Bildern (Original, verschwommen und Kanten) als 'ironPdf-skimage.png'.

  5. Umwandeln von Bildern in PDF: ImageToPdfConverter.ImageToPdf("ironPdf-skimage.png").SaveAs("ironPdf-skimage.pdf"): Konvertiert das gespeicherte PNG-Bild in ein PDF-Dokument mit der IronPDF-Funktionalität.

  6. Anzeigen der Bilder: io.show(): Zeigt die Bilder in einem grafischen Fenster an.

Dieses Code-Snippet kombiniert die Fähigkeiten von scikit-image zur Bildverarbeitung und IronPDF zur Umwandlung verarbeiteter Bilder in PDF-Dokumente. Es zeigt das Laden eines Bildes, die Anwendung von Gaußschem Weichzeichner und Sobel-Kantenerkennung, deren Speicherung als PNG-Datei, die Umwandlung von PNG in PDF mit IronPDF und die Anzeige der verarbeiteten Bilder. Diese Integration ist nützlich für Aufgaben, bei denen Bilder verarbeitet, analysiert und in PDF-Format dokumentiert werden müssen, wie in der wissenschaftlichen Forschung, Bildanalysereports oder automatisierten Dokumentenerstellungs-Workflows.

Ausgabe

scikit-image Python (So funktioniert's: Ein Leitfaden für Entwickler): Abbildung 6 - Bilder Eingabe

PDF

scikit-image Python (How It Works: A Guide for Developers): Figure 7 - PDF Ausgabe

IronPDF-Lizenz

IronPDF läuft mit einem Lizenzschlüssel für Python. IronPDF für Python bietet eine kostenlose Testlizenz, damit Benutzer seine umfangreichen Funktionen vor dem Kauf ausprobieren können.

Platzieren Sie den Lizenzschlüssel am Anfang des Skripts, bevor Sie das IronPDF-Paket verwenden:

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

Abschluss

scikit-image befähigt Python-Entwickler dazu, Bild bezogene Aufgaben effizient zu bewältigen. Egal, ob Sie an Computer Vision, medizinischen Bildverarbeitung oder künstlerischen Projekten arbeiten, dieses Paket hat alles, was Sie brauchen. scikit-image ist eine vielseitige und leistungsfähige Bibliothek zur Bildverarbeitung in Python, die eine breite Palette von Funktionen und Algorithmen für Aufgaben wie Filterung, Segmentierung, Merkmalsextraktion und geometrische Transformationen bietet. Die nahtlose Integration mit anderen wissenschaftlichen Bibliotheken macht es zur bevorzugten Wahl für Forscher, Entwickler und Ingenieure, die mit Bildanalyse und Computer Vision Anwendungen arbeiten.

IronPDF ist eine Python-Bibliothek, die die Erstellung, Bearbeitung und Manipulation von PDF-Dokumenten innerhalb von Python-Anwendungen ermöglicht. Es bietet Funktionen zur Generierung von PDF-Dateien aus verschiedenen Quellen wie HTML, Bildern oder bestehenden PDFs. Darüber hinaus unterstützt IronPDF Aufgaben wie das Zusammenführen oder Aufteilen von PDFs, das Hinzufügen von Anmerkungen, Wasserzeichen oder digitalen Signaturen, das Extrahieren von Texten oder Bildern aus PDFs und das Verwalten von Dokumenteigenschaften wie Metadaten und Sicherheitseinstellungen. Diese Bibliothek bietet eine effiziente Möglichkeit, PDF-bezogene Aufgaben programmatisch zu erledigen, was sie für Anwendungen geeignet macht, die Dokumenterstellung, Berichtserstellung oder Dokumentenverwaltungsfunktionen erfordern.

Mit beiden Bibliotheken zusammen können Benutzer mit Bildern arbeiten, sie effizient verarbeiten und die Ergebnisse in PDF-Dokumenten zum Archivieren speichern.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen