Entfernen von Beschriftungen an Bildrändern
Bei der wissenschaftlichen Bildanalyse ist es oft relevant, dass nur vollständig erfasste Objekte im Bild analysiert werden.
Unser Ausgangspunkt soll ein Beschriftungsbild sein; zum Beispiel abgeleitet von blobs.tif durch Schwellenwertbildung und Kennzeichnung zusammenhängender Komponenten:
c:\structure\code\pyclesperanto_prototype\pyclesperanto_prototype\_tier9\_imshow.py:34: UserWarning: cle.imshow is deprecated, use stackview.imshow instead.
warnings.warn("cle.imshow is deprecated, use stackview.imshow instead.")
|
cle._ image
shape | (254, 256) |
dtype | uint32 |
size | 254.0 kB |
min | 0.0 | max | 62.0 |
|
Number of objects in the image: 62
Falls die Größe der Objekte relevant ist, sollte man die Objekte ausschließen, die nicht vollständig abgebildet wurden und somit den Bildrand berühren.
|
shape | (254, 256) |
dtype | uint32 |
size | 254.0 kB |
min | 0 | max | 55 |
|
Beachten Sie, dass die maximale Intensität im obigen Beschriftungsbild 55 beträgt und die Anzahl der Objekte 44 ist (siehe unten). Dies ist also ein Beschriftungsbild, in dem nicht alle Beschriftungen zwischen 1 und 44 vorhanden sind.
Number of objects in the image: 44
Anschließende Beschriftung
Viele Algorithmen zur weiteren Verarbeitung von Beschriftungsbildern erfordern, dass die Beschriftungen fortlaufend nummeriert sind. Daher müssen wir dies bei dem obigen Bild korrigieren.
|
shape | (254, 256) |
dtype | uint32 |
size | 254.0 kB |
min | 0 | max | 44 |
|
Andere Implementierungen zum Entfernen von Objekten an Bildrändern erfordern diesen Schritt nicht:
|
cle._ image
shape | (254, 256) |
dtype | uint32 |
size | 254.0 kB |
min | 0.0 | max | 44.0 |
|
Number of objects in the image: 44