Scikit-image
Programmbibliothek für Bildverarbeitung Aus Wikipedia, der freien Enzyklopädie
scikit-image (ehemals scikits.image) ist eine freie Software-Bibliothek zur Bildverarbeitung für die Programmiersprache Python. Sie enthält Algorithmen für Segmentierung, geometrische Transformationen, Farbraummanipulation, Analyse, Filterung, Morphologie, Feature-Erkennung und mehr. Sie basiert als SciKit (Kurzform für SciPy Toolkit), wie beispielsweise auch Scikit-learn, auf den numerischen und wissenschaftlichen Python-Bibliotheken NumPy und SciPy.[4][5]
scikit-image | |
---|---|
![]() | |
Basisdaten | |
Aktuelle Version | 0.25.2[1] (18. Februar 2025) |
Betriebssystem | Plattformunabhängig |
Programmiersprache | Python[2][3], Cython[2] |
Lizenz | BSD-Lizenz |
scikit-image.org |
Implementierung
Scikit-image ist weitgehend in Python geschrieben. Einige Kernalgorithmen wurden aus Performancegründen in Cython realisiert.
Beispiel
Zusammenfassung
Kontext

In diesem Beispiel wird ein Schachbrettmuster data.checkerboard() erzeugt und anschließend mit einer affinen Abbildung verzerrt. Nachdem noch weitere Elemente dem Bild hinzugefügt worden sind, werden Eckpunkte mit Hilfe des Harris Corner Detectors, eines Interest-Operators, ermittelt.
from matplotlib import pyplot as plt
from skimage import data
from skimage.feature import corner_harris, corner_subpix, corner_peaks
from skimage.transform import warp, AffineTransform
from skimage.draw import ellipse
# Wir erzeugen eine Affine Abbildung des Schachbrettmusters data.checkerboard()
tform = AffineTransform(scale=(1.3, 1.1), rotation=1, shear=0.7, translation=(210, 50))
image = warp(data.checkerboard(), tform.inverse, output_shape=(350, 350))
# Ellipse zeichnen
rr, cc = ellipse(310, 175, 10, 100)
image[rr, cc] = 1
# zwei Rechtecke zeichnen
image[180:230, 10:60] = 1
image[230:280, 60:110] = 1
# Mit Hilfe des Harris Corner Detectors Eckpunkte ermitteln
coords = corner_peaks(corner_harris(image), min_distance=5)
coords_subpix = corner_subpix(image, coords, window_size=13)
fig, ax = plt.subplots()
ax.imshow(image, interpolation='nearest', cmap=plt.cm.gray)
ax.plot(coords[:, 1], coords[:, 0], '.b', markersize=3)
ax.plot(coords_subpix[:, 1], coords_subpix[:, 0], '+r', markersize=15)
ax.axis((0, 350, 350, 0))
plt.show()
Weblinks
Siehe auch
- OpenCV eine freie Programmbibliothek mit Algorithmen für die Bildverarbeitung und maschinelles Sehen
Einzelnachweise
Wikiwand - on
Seamless Wikipedia browsing. On steroids.