# Fliesenbreitenmessung (Tile Width Measurement)

### Measuring Tile Width <a href="#measuring-tile-width" id="measuring-tile-width"></a>

Messungen können je nach Kontext des Projekts herausfordernd sein. Die sofort einsatzbereiten Funktionsblöcke von AugeLab Studio ermöglichen einfache und schnelle Messungen zu einem solchen herausfordernden Thema.

Dieses Beispiel zeigt dir, wie man die Breite (effektiv die Entfernung) einer Holzfliese misst.

Zuerst verwenden Sie den Funktionsblock [Load Image](/german/function-blocks/input-output/image-inputs/load-image.md) und laden Sie **wood.jpg** aus dem Ordner mit Beispielbildern, der von AugeLab Studio bereitgestellt wird.

<figure><img src="/files/pRwLHCWDXqrUnQw8Qbhx" alt=""><figcaption></figcaption></figure>

Unser Ziel ist es, die Breite jeder Fliese zu messen und sie auszudrucken. Als Nächstes müssen wir dieses Bild vorverarbeiten, um Rauschen zu reduzieren, das durch die Kamera oder die Umgebung eingeführt werden kann. In solchen Fällen ist der Funktionsblock [Blur](/german/function-blocks/image-transformations/color-filters/blur.md) eine sehr gute Wahl mit der Option **Median Blur**. Legen Sie die folgende Logik an:

<figure><img src="/files/rP1trtEGMd12FRPA5Srb" alt=""><figcaption></figcaption></figure>

Wir halten die *Kernel Size* auf 3, um die Vorverarbeitung auf ein Minimum zu reduzieren, da jede Art von Vorverarbeitung das Endergebnis während der Messungen beeinflussen kann. Als Nächstes verwenden wir den Funktionsblock [Histogram on Line](/german/function-blocks/image-transformations/analysis/histogram-on-line.md).

Der Funktionsblock **Histogram on Line** erkennt automatisch scharfe Kanten, speichert deren Positionen als Punkte anhand der angegebenen Schwellenwerte und Positionswerte. Indem wir die folgende Logik erstellen:

<figure><img src="/files/wu8jgiBzF4RZUpV6zrEq" alt=""><figcaption></figcaption></figure>

Sagen wir dem Block **Histogram on Line**, dass er Kanten an der 100. horizontalen Pixelposition berechnen soll und nach Kanten sucht, die Werte über 100 überschreiten (was zwischen 0-255 liegen kann).

Die horizontale Position der Erkennungslinie (zweiter Anschluss) ist am wichtigsten, da andere Faktoren leicht zu falschen Erkennungen führen können. Lassen Sie uns 350 angeben und sehen, was in einem solchen Szenario passiert:

<figure><img src="/files/MMvj2orgnpk1RwJ2plH4" alt=""><figcaption></figcaption></figure>

Die Auswahl einer horizontalen Linie mit mehr Störungen hat zu falschen Erkennungen geführt. Daher wird immer empfohlen, eine Linie zu wählen, die möglichst wenig von Rauschen und der Umgebung betroffen ist.

Da wir erfolgreich die Kantenpositionen jeder Fliese berechnet haben, können wir die Breite der ersten Fliese mit mehreren Blöcken berechnen.

Zuerst verwenden wir die Ausgabe *Peak Mean Locations* des Blocks **Histogram on Line**. Diese Ausgabe besteht aus einer [Liste](/german/function-blocks/block-structures.md#purple-position) von Positionen:

<figure><img src="/files/b3LgI4sQL6YWEjMhJP07" alt=""><figcaption></figcaption></figure>

Jede Position enthält horizontale und vertikale Positionen (x, y) der Spitzenpositionen. Wir können die Entfernung zwischen jedem Punkt berechnen, entweder mit dem Block [Demux](/german/function-blocks/data-logic/logic/demux.md) oder mit dem Funktionsblock [Measure Position Distance](/german/function-blocks/image-transformations/analysis/measure-position-distance.md).

Verwenden Sie den Block [List Operations](/german/function-blocks/data-logic/datenoperationen-data-operations/list-operations.md) und wählen Sie **get** aus dem Dropdown-Menü. Befolgen Sie die folgende Logik:

<figure><img src="/files/9YXrX2YPuE44cie8wtuT" alt=""><figcaption></figcaption></figure>

Die obige Logik wählt das erste Element aus, indem sie null (0) angibt, und das zweite Element, indem sie eins (1) angibt. Mit [Measure Position Distance](/german/function-blocks/image-transformations/analysis/measure-position-distance.md) werden die x-y und die euklidischen Entfernungen berechnet und angezeigt.

Vielleicht ist dir aufgefallen, dass die y-Distanz null ist, da alle Punkte auf der gleichen horizontalen Linie liegen.

Das war's! Du hast erfolgreich die Breite der ersten Fliese berechnet.

### Calculating all tile widths <a href="#calculating-all-tile-widths" id="calculating-all-tile-widths"></a>

Nun lass uns die anderen Breiten mit Listen- und Batchoperationen berechnen.

Indem wir denselben Funktionsblock **List Operations** verwenden, verwenden wir die *pop*-Option aus dem Dropdown-Menü. Die Pop-Option entfernt das Element an einem bestimmten Index aus einer Liste. Lass uns erneut die folgende Logik erstellen:

<figure><img src="/files/LMbbsLd5pNXH8JSglf5Q" alt=""><figcaption></figcaption></figure>

Der Block **List Operations** kopiert zuerst die bereitgestellte Liste und berechnet dann das gewünschte Ergebnis. Wir haben eine Liste der Spitzenpositionen ohne das erste Element erstellt und dann eine weitere Liste, indem wir nur das letzte entfernt haben.

Wenn wir diese mit [Batch Processing](/german/function-blocks/data-logic/flow-control/batch-processing.md) und dem [Data Type Converter](/german/function-blocks/data-logic/datenoperationen-data-operations/data-type-converter.md) verwenden, können wir die positionsbedingte Differenz zwischen den einzelnen Spitzenpunkten berechnen:

<figure><img src="/files/jQuAzHdbaW5anjzAvugt" alt=""><figcaption></figcaption></figure>

Es ist wichtig, den [Data Type Converter](/german/function-blocks/data-logic/datenoperationen-data-operations/data-type-converter.md) zu verwenden, wenn Sie mit Batchverarbeitung umgehen. Wenn ein Funktionsblock eine Charge erhält, wird er im Batchmodus ausgeführt. Verwenden Sie die Option *Batch2List* aus dem Menü, um zum normalen Betriebsmodus zurückzukehren.

Das ist alles! Du hast die Breite aller Fliesen berechnet!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/german/beispielprojekte/tile-width-measurement.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
