Open-Source-Python-API für Bilder
Wissenschaftliche Bildanalyse, Filterung und Wiederherstellung von Bildern über Python API.
Sikit-Image ist ein Open Source Python API für Bildverarbeitung. Das API bietet eine große Auswahl an Bildverarbeitungsroutinen in Python. Mit dem API können Sie Daten aus spezifischen, wissenschaftlichen und allgemeinen Zweckbildern extrahieren, NumPy Operationen zur Bildmanipulation verwenden, Strukturierungselemente, Blockansichten auf Bilder erzeugen, Belichtungs- und Farbkanäle bearbeiten.
Des Weiteren erlaubt der API die Filterung und Wiederherstellung von Bildern. Sie können kleine Objekte in Graustufenbildern entfernen, Mittelfilter, scharfe Maskierung usw. verwenden. Nicht nur das, der API erlaubt viel mehr Funktionen, um Bilder zu manipulieren.
Erste Schritte mit Sikit-Image
Der empfohlene Weg zur Installation von Sikit-Image ist über Pip. Bitte verwenden Sie den folgenden Befehl, um Sikit-Image zu installieren.
Installation Sikit-Image über Pip
pip install scikit-image
Bearbeiten Sie Belichtungs- und Farbkanäle über Python
Sikit-Image API erlaubt die Manipulation von Farbe & Belichtung von Bildern programmatically.You konvertieren und GB Image in ein Graustufenbild oder SV-Bild. Sie können mit Piktogrammanpassung, immunhistochemische Fleckentrennung, Graustufenbildern, Piktogramm-Equalisierung, Gamma- und Logkontrastanpassung, Filter regionaler Maximen, arbeiten.
Geometrische Transformationen mit der kostenlosen Python-API
Sikit-Image API erlaubt die Manipulation von Farbe & Belichtung von Bildern grammatisch. Sie können ein GB-Image in ein Graustufen- oder SV-Image konvertieren. Sie können mit Piktogrammanpassung, immunhistochemische Fleckentrennung, Graustufenbildern, Piktogramm-Equalisierung, Gamma- und Logkontrastanpassung, Filter regionaler Maximen, arbeiten.
Perform Geometrische Transformationen über Python
# First we create a transformation using explicit parameters:
tform = transform.SimilarityTransform(scale=1, rotation=math.pi/2,
translation=(0, 1))
print(tform.params)
# Alternatively you can define a transformation by the transformation matrix itself:
matrix = tform.params.copy()
matrix[1, 2] = 2
tform2 = transform.SimilarityTransform(matrix)
# apply forward & inverse coordinate transformations b/t the source & destination coordinate systems:
coord = [1, 0]
print(tform2(coord))
print(tform2.inverse(tform(coord)))
# Geometric transformations to warp images:
text = data.text()
tform = transform.SimilarityTransform(scale=1, rotation=math.pi/4,
translation=(text.shape[0]/2, -100))
rotated = transform.warp(text, tform)
back_rotated = transform.warp(rotated, tform.inverse)
fig, ax = plt.subplots(nrows=3)
ax[0].imshow(text, cmap=plt.cm.gray)
ax[1].imshow(rotated, cmap=plt.cm.gray)
ax[2].imshow(back_rotated, cmap=plt.cm.gray)
for a in ax:
a.axis('off')
plt.tight_layout()
Bildfilterung und -wiederherstellung über Python
Scikit-Image Bibliothek erlaubt Entwicklern, Bilder grammatisch zu filtern und wiederherzustellen. Sie können kleine Objekte aus Graustufenbildern mit einem Top Hat-Filter entfernen, Fensterfunktionen mit Bildern verwenden, Mittelfilter verwenden, scharfe Maskierung verwenden, Bilddekonvolution verwenden und vieles mehr.
Perform Image Filter über Python
# Let us load an image available through scikit-image’s data registry.
image = data.astronaut()
image = color.rgb2gray(image)
# Let us blur this image with a series of uniform filters of increasing size.
blurred_images = [ndi.uniform_filter(image, size=k) for k in range(2, 32, 2)]
img_stack = np.stack(blurred_images)
fig = px.imshow(
img_stack,
animation_frame=0,
binary_string=True,
labels={'animation_frame': 'blur strength ~'}
)
plotly.io.show(fig)
# Plot blur metric
B = pd.DataFrame(
data=np.zeros((len(blurred_images), 3)),
columns=['h_size = 3', 'h_size = 11', 'h_size = 30']
)
for ind, im in enumerate(blurred_images):
B.loc[ind, 'h_size = 3'] = measure.blur_effect(im, h_size=3)
B.loc[ind, 'h_size = 11'] = measure.blur_effect(im, h_size=11)
B.loc[ind, 'h_size = 30'] = measure.blur_effect(im, h_size=30)
B.plot().set(xlabel='blur strength (half the size of uniform filter)',
ylabel='blur metric');
plt.show()