Bilder zuschneiden#
Bei der Arbeit mit mikroskopischen Bildern macht es oft nur begrenzt Sinn, das gesamte Bild zu verarbeiten. Typischerweise schneiden wir interessante Bereiche aus und verarbeiten diese im Detail.
from skimage.io import imread, imshow
image = imread("../../data/blobs.tif")
Bevor wir ein Bild zuschneiden können, möchten wir vielleicht seine genaue Form (Dimensionen) kennen:
image.shape
(254, 256)
Zusammenfassung: Visualisierung mit imshow
:
imshow(image)
<matplotlib.image.AxesImage at 0x2448a01e9d0>
Das Zuschneiden von Bildern funktioniert genau wie das Zuschneiden von Listen und Tupeln, indem man Indizes verwendet, um den Bereich der zu verwendenden Elemente anzugeben:
cropped_image1 = image[0:128]
imshow(cropped_image1);
mylist = [1,2,2,3,4,5,78]
Um das Bild auch in der zweiten Dimension zuzuschneiden, fügen wir ein ,
in den eckigen Klammern hinzu:
cropped_image2 = image[0:128, 128:]
imshow(cropped_image2);
Unterabtastung von Bildern#
Auch Schrittgrößen können angegeben werden, als würden wir Listen und Tupel verarbeiten. Technisch gesehen führen wir in diesem Fall eine Unterabtastung des Bildes durch. Wir nehmen eine Teilmenge der ursprünglichen Pixel, zum Beispiel in Schritten von 5:
sampled_image = image[::5, ::5]
imshow(sampled_image);
Bilder spiegeln#
Negative Schrittgrößen spiegeln das Bild.
flipped_image = image[::, ::-1]
imshow(flipped_image);
Übung#
Öffnen Sie den banana020.tif
Datensatz und schneiden Sie den Bereich aus, in dem sich die Bananenscheibe befindet.