Voronoi-Otsu-Labeling auf binären Bildern#

Der Voronoi-Otsu-Labeling-Algorithmus kann auch auf binäre Bilder angewendet werden und führt zu ähnlichen Ergebnissen wie der binäre Watershed in ImageJ. Er trennt rundliche Objekte, falls sie zusammenkleben.

from skimage.io import imread
from napari_segment_blobs_and_things_with_membranes import voronoi_otsu_labeling, threshold_otsu
import stackview

Um dies zu demonstrieren, beginnen wir mit einem binären Bild.

blobs_image = imread("../../data/blobs.tif")
binary_image = threshold_otsu(blobs_image)

binary_image
nsbatwm made image
shape(254, 256)
dtypeint32
size254.0 kB
min0
max1

Wir wenden nun Voronoi-Otsu-Labeling auf das binäre Bild an.

label_image = voronoi_otsu_labeling(binary_image, spot_sigma=3.5)

label_image
nsbatwm made image
shape(254, 256)
dtypeint32
size254.0 kB
min0
max67

Übung#

Unten sehen Sie das Ergebnis des Watershed in ImageJ. Wie müssen Sie das label_image-Ergebnis oben modifizieren, um es wieder in ein binäres Bild wie das Ergebnis von ImageJ zu verwandeln?

binary_watershed_imagej = imread("../../data/blobs_otsu_watershed.tif")

stackview.insight(binary_watershed_imagej)
shape(254, 256)
dtypeuint8
size63.5 kB
min0
max255