Mit ImageJ Objekte in digitalen Bildern zählen und vermessen

Aus LinuxUser 09/2018

Mit ImageJ Objekte in digitalen Bildern zählen und vermessen

© Ben, Fotolia

Komplett vermessen

Mit ImageJ vermessen Sie die Größe von Objekten auf digitalen Bildern – bis auf den Millimeter genau, falls nötig.

Was als Scherz beim ersten Mal zündet, verliert auf Dauer schnell seinen Reiz: Das Verzerren, Einfärben oder Modifizieren von Schnappschüssen taugt für Party-Gags und ein paar Twitter-Follower, spielt aber die Möglichkeiten digitaler Bildverarbeitung bei Weitem nicht aus. Mit ImageJ haben Sie dagegen ein Profi-Werkzeug zur Hand, das dazu dient, solide Fakten aus Bildern zu extrahieren.

Bei vielen Distributionen steht das in Java geschriebene Tool über die Paketquellen bereit. So hält Ubuntu die Version 1.50 vor. Auf der Seite des Entwicklers [1] findet sich die Version 1.52. Sie ist lediglich 6 MByte groß.

Unter dem Namen Fiji (“Fiji is Just ImageJ”) stellt eine Gruppe von Entwicklern ein aktualisiertes Paket für die Version 1.52b bereit [2], das eine eigene Java-Umgebung mitbringt und daher mit fast 300 MByte Umfang zu Buche schlägt. Viele der optionalen Plugins sind bereits installiert, außerdem gibt es eine Funktion für ein automatisches Update.

Nach Entpacken der Zip-Datei startet die Software in eine unspektakuläre Oberfläche (Abbildung 1). Der Aufruf erfolgt über die Kommandos ImageJ-linux64 (Fiji, Version 1.52b) oder java -jar ij.jar (ImageJ 1.5x).

Abbildung 1: Das Programm ImageJ startet mit einer Menüleiste, die aus drei Zeilen besteht.

Abbildung 1: Das Programm ImageJ startet mit einer Menüleiste, die aus drei Zeilen besteht.

Hardware

Eine einfache quantitative Analyse setzt aus nachvollziehbaren Gründen Bilder mit Flächen voraus, wie sie etwa in der Mikroskopie entstehen. Abbildung 2 zeigt den Kamerakopf eines einfachen USB-Mikroskops. Der Schaft hat einen Durchmesser von 8 Millimetern, was für ein Beleuchtungssystem aus acht kleinen Leuchtdioden ausreicht.

Abbildung 2: Obwohl nur acht Millimeter winzig, bringt der Kamerakopf eines USB-Mikroskops noch acht Mikro-LEDs mit.

Abbildung 2: Obwohl nur acht Millimeter winzig, bringt der Kamerakopf eines USB-Mikroskops noch acht Mikro-LEDs mit.

Im Unterschied zu sogenannten Endoskopkameras verfügen USB-Mikroskope über eine Schraube zum Fokussieren. Damit überstreicht das Gerät in der Regel einen Abstand von 10 Millimetern (maximale Vergrößerung) bis 50 Millimetern (maximaler Weitwinkel).

Abbildung 3 zeigt echten Vanillezucker – echt heißt, dass er Vanilleschoten enthält (links oben). Vor dem roten Hintergrund heben sich die weißen Kristalle des Zuckers, unregelmäßig geformte Reste von Schoten und die kugelförmigen Samen der Vanille ab.

Abbildung 3: Auszählen von Vanillesamen im Vanillezucker: Nach dem Bearbeiten des Bilds lassen sich sehr einfach 12 Stück identifizieren.

Abbildung 3: Auszählen von Vanillesamen im Vanillezucker: Nach dem Bearbeiten des Bilds lassen sich sehr einfach 12 Stück identifizieren.

Um mithilfe von ImageJ die Anzahl der im Bild enthaltenen Samen zu bestimmen, bedarf es einiger Schritte: Zuerst wählen Sie unter File | Open die Bilddatei aus. Dann gleichen Sie mit Process | Substract background den Kontrast des Bilds an. Über Image | Type/RGB Stack spalten Sie anschließend die Farben des Bilds in seine Kanäle auf.

Aus dem Stack wählen Sie nun das Bild mit dem Rot-Kanal aus. Mit Image | Adjust | Threshold stellen Sie die Bildschwelle ein und wandeln es in ein Bild mit 1 Bit Farbtiefe um (Teilbild unten links). Der Menüpunkt Analyse | Analyse Particles | summarize | show: outlines öffnet mehrere Fenster, wovon eines die gesamte Fläche und die Anzahl der Teilchen anzeigt (Teilbild unten rechts).

Während des Bearbeitens entstehen mehrere Bilder nur 1 Bit Farbtiefe. Darauf wenden Sie bei Bedarf morphologische Filter an. Die finden Sie über die Suchfunktion des Programms in der untersten Zeile, indem Sie etwa den Begriff watershed eingeben.

Mikroskopie

ImageJ hält nicht nur passende Werkzeuge für das Zählen von Teilchen bereit, sondern auch solche für das Vermessen von Elementen. Abbildung 4 zeigt das Haar einer Brennnessel, aufgenommen mit dem USB-Mikroskop aus Abbildung 2.

Abbildung 4: Das Brennhaar einer Brennnessel unter dem Mikroskop – ImageJ gibt Auskunft über dessen Breite.

Abbildung 4: Das Brennhaar einer Brennnessel unter dem Mikroskop – ImageJ gibt Auskunft über dessen Breite.

Dabei genügt es allerdings nicht, den Faktor für die Vergrößerung anzugeben, denn der ändert sich mit der Größe der Reproduktion. Stattdessen ist es üblich, wissenschaftliche Bilder mit einer Referenzlänge zu eichen. Notfalls genügt ein Haar: Der Durchmesser eines menschlichen Kopfhaars liegt typischerweise bei 100 Mikrometern.

Das Eichen erfolgt in drei Schritten: Zunächst bestimmen Sie die Länge eines Pixels. Abbildung 5 zeigt die Aufnahme eines Farbfotos aus einer Zeitschrift. Die Punkte des Rasters haben einen Abstand von ungefähr 200 Mikrometern, also zwei Haaresbreiten.

Abbildung 5: Die Rasterpunkte des Drucks in einer Zeitschrift geben einen Aufschluss darüber, welche Länge ein Pixel repräsentiert.

Abbildung 5: Die Rasterpunkte des Drucks in einer Zeitschrift geben einen Aufschluss darüber, welche Länge ein Pixel repräsentiert.

Im zweiten Schritt übertragen Sie die Eichung auf das zu messende Bild. Bei Mikroskopen mit kleiner Schärfentiefe genügt es, die Brennweite beizubehalten. Beim USB-Mikroskop bleibt deshalb die Stellung der Rändelschraube unverändert, Sie stellen das Objekt durch Verändern des Objektivabstands scharf. Zuletzt zeichnet das Programm den Maßstab ins Bild.

Die beiden Schritte erfordern folgende Einstellungen: Mit dem Linienwerkzeug (fünftes Icon von links) markieren Sie die Strecke von zwei Millimetern aus Abbildung 5. Über Analyse | Set Scale öffnen Sie das Eingabefenster zum Eichen (Abbildung 6).

Abbildung 6: Haben Sie eine Referenzlänge ins Bild eingezeichnet, rechnen Sie anschließend die Pixel in eine Länge um.

Abbildung 6: Haben Sie eine Referenzlänge ins Bild eingezeichnet, rechnen Sie anschließend die Pixel in eine Länge um.

Die Länge der Strecke steht bereits im ersten Eingabefeld. Im zweiten Feld geben Sie die gemessene Länge ein, hier 2. Das vierte Feld nimmt die Einheit auf, hier mm. Zur Information gibt die Software unten das Verhältnis von Pixeln zur Länge aus; hier sind es 227,5006 Pixel pro Millimeter.

Um den Maßstab zu zeichnen, prüfen Sie zunächst die Eichung. Dann öffnen Sie das Menüs Analyse | Tools | Scale Bar. Anschließend geben Sie eine einfache Zahl im oberen Eingabefenster ein, also besser 1 statt 1,345. Zuletzt passen Sie Größe und Farbe des Messbalkens an und wählen die Position aus, an der er erscheint – entweder auf der Auswahl oder in einer der Bildecken.

Wiegen

Abbildung 7 zeigt die Schnittfläche einer Blutwurst, deren Fettgehalt wir feststellen wollen. Der Befehl Image | Type | HSB-Stack zerlegt das Bild in die drei Komponenten Farbwert, Farbsättigung und Hellwert. Im Teilbild mit der Sättigung tritt weiß der Anteil des Fetts deutlich hervor.

Abbildung 7: Etwas unorthodox: ImageJ eignet sich auch zum Abschätzen des Fettgehalts einer Blutwurst.

Abbildung 7: Etwas unorthodox: ImageJ eignet sich auch zum Abschätzen des Fettgehalts einer Blutwurst.

Nach dem Umwandeln in ein Bild mit 1 Bit Farbtiefe erfasst die Software den Anteil der Flächen. Um den Bereich des Hintergrunds beim Messen auszuschließen, grenzen Sie die Fläche der Wurst mit dem Auswahlwerkzeug Lasso ein.

Das Programm berechnet in unserem Beispiel einen Flächenanteil des Fetts von 17 Prozent. Die Dichte von Muskelgewebe liegt bei 1,05 g/cm3, die von Fett bei 0,94 g/cm3. Dem Flächen- oder Volumenanteil von 17 Prozent entspricht somit ein Gewichtsanteil von 15 Prozent. Das deckt sich in diesem Fall gut mit der Herstellerangabe von 14 Prozent Fettanteil.

Messen

Selbst Grundstücke vermessen Sie mit ImageJ bei Bedarf. Abbildung 8 zeigt den Englischen Garten in München in einer Darstellung aus OpenStreetMap [3]. Nach dem Eichen – der Maßstab ist unten links eingezeichnet – rechnet ImageJ alle Angaben von Pixeln in Kilometer um.

Abbildung 8: Selbst das Bestimmen der Größe des Englischen Gartens in München stellt für ImageJ kein Problem dar.

Abbildung 8: Selbst das Bestimmen der Größe des Englischen Gartens in München stellt für ImageJ kein Problem dar.

Die Grenzen umfahren Sie mit dem Polygon-Auswahlwerkzeug. Ein Klick auf Analyse | Measure (oder [Strg]+[M]) liefert für die eingeschlossene Fläche die Größe von 3,43 Quadratkilometer, was 343 Hektar entspricht.

Das liegt deutlich unter der offiziellen Angabe von 375 Hektar [4]. Des Rätsels Lösung: Die Maximiliansanlagen, auf der Karte unterhalb des markierten Bereichs auf der anderen Seite der Isar, umfassen 30 Hektar und zählen mit zum Englischen Garten. Die Angabe von ImageJ stimmt also erstaunlich genau.

Fazit

Die Leistungsfähigkeit von ImageJ schimmert bei unseren Beispielen nur in Ansätzen durch. Es handelt sich dabei um ein mächtiges Programm zur Analyse von Bildern. Selbst wenn Sie nicht in die Tiefen des Programms einsteigen, lohnt es sich, sich zumindest mit den Funktionen zum Vermessen von Bildern zu beschäftigen. 

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 09/2018 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben