# Tile Width Measurement

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

Ölçümler, projenin bağlamına bağlı olarak zorlu olabilir. AugeLab Studio'nun kullanıma hazır fonksiyon blokları, böyle zorlu bir konuda kolay ve hızlı ölçümler yapmanıza olanak tanır.

Bu örnek, bir ahşap karonun genişliğini (etkili olarak mesafesini) nasıl ölçeceğinizi gösterecektir.

Öncelikle, [Load Image](/turkish/fonksiyon-bloklari/input-output/image-inputs/load-image.md) fonksiyon bloğunu kullanın ve AugeLab Studio tarafından sağlanan örnek resim klasöründen **wood.jpg** dosyasını yükleyin.

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

Amacımız her karonun genişliğini ölçmek ve bunları yazdırmaktır. Sonraki adımda, bu görüntüyü kameranın veya çevrenin neden olabileceği gürültüyü azaltmak için ön işleme tabi tutmamız gerekecek. Bu tür durumlar için, [Blur](/turkish/fonksiyon-bloklari/image-transformations/color-filters/blur.md) fonksiyon bloğu **Median Blur** seçeneği ile oldukça iyi bir uyum sağlar. Aşağıdaki mantığı oluşturun:

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

Ön işleme işlemini minimumda tutmak için *Kernel Size* değerini 3 olarak ayarlıyoruz, çünkü her türlü ön işleme, ölçümler sırasında nihai sonucu etkileyebilir. Sonraki adımda, [Histogram on Line](/turkish/fonksiyon-bloklari/image-transformations/analysis/histogram-on-line.md) fonksiyon bloğunu kullanacağız.

**Histogram on Line** fonksiyon bloğu, keskin kenarları otomatik olarak tespit eder, konumlarını verilen eşik ve konum değerlerine göre nokta olarak depolar. Aşağıdaki mantığı oluşturarak:

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

**Histogram on Line** bloğuna 100. yatay piksel konumunda kenarları hesaplamasını ve değerleri 100 (0-255 arasında olabilir) üzerinde olan kenarları aramasını söylüyoruz.

Tespit çizgisinin yatay konumu (ikinci soket) en önemli yer olduğundan, diğer faktörler yanıltıcı tespitlere neden olabilir. 350 değerini verelim ve bu senaryoda ne olacağını görelim:

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

Daha fazla rahatsızlık olan bir yatay çizgi seçmek yanıltıcı tespitlere neden oldu. Bu nedenle, her zaman gürültü ve çevreden en az etkilenen bir çizgi seçmek önerilir.

Her karonun kenar konumlarını başarıyla hesapladık, şimdi birkaç blok kullanarak ilk karonun genişliğini hesaplayabiliriz.

Öncelikle, **Histogram on Line** bloğunun *Peak Mean Locations* çıktısını kullanacağız. Bu çıktı, [list](/turkish/fonksiyon-bloklari/block-structures.md#purple-position)[ of positions](/turkish/fonksiyon-bloklari/block-structures.md#purple-position) içerir:

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

Her konum, zirve konumlarının yatay ve dikey (x, y) konumlarını içerir. [Demux](/turkish/fonksiyon-bloklari/data-logic/logic/demux.md) bloğunu kullanarak veya [Measure Position Distance](/turkish/fonksiyon-bloklari/image-transformations/analysis/measure-position-distance.md) fonksiyon bloğunu kullanarak her nokta arasındaki mesafeyi hesaplayabiliriz.

[Liste Operasyonları](/turkish/fonksiyon-bloklari/data-logic/data-operations/list-operations.md) bloğunu kullanın ve açılır menüden **get** seçeneğini seçin. Aşağıdaki mantığı izleyin:

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

Yukarıdaki mantık, sıfır (0) sağlayarak ilk öğeyi, bir (1) sağlayarak ikinci öğeyi seçer. [Measure Position Distance](/turkish/fonksiyon-bloklari/image-transformations/analysis/measure-position-distance.md) kullanarak; x-y ve Öklid mesafeleri hesaplanır ve sunulur.

Yüksek ihtimalle, y mesafesinin sıfır olduğunu fark ettiniz; çünkü tüm noktalar aynı yatay çizgide bulunuyor.

Hepsi bu kadar! İlk karonun genişliğini başarıyla hesapladınız.

### Tüm Karo Genişliklerini Hesaplama <a href="#calculating-all-tile-widths" id="calculating-all-tile-widths"></a>

Şimdi, liste ve toplu işlemler kullanarak diğer genişlikleri hesaplayalım.

Aynı **List Operations** fonksiyon bloğunu kullanarak *pop* seçeneğini kullanacağız. Pop seçeneği, bir listeden verilen dizindeki öğeyi kaldırır. Yine aşağıdaki mantığı oluşturalım:

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

**List Operations** bloğu, sağlanan listeyi önce kopyalar ve ardından istenen sonucu hesaplar. İlk öğe olmadan zirve konumları listesini oluşturduk ve sadece son öğeyi kaldırarak başka bir liste oluşturduk.

[Batch Processing](/turkish/fonksiyon-bloklari/data-logic/flow-control/batch-processing.md) ile [Data Type Converter](/turkish/fonksiyon-bloklari/data-logic/data-operations/data-type-converter.md) kullanarak, her zirve noktası arasındaki pozisyon farklılıklarını hesaplayabiliriz:

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

Toplu İşleme ile çalışırken [Data Type Converter](/turkish/fonksiyon-bloklari/data-logic/data-operations/data-type-converter.md) kullanmak önemlidir. Eğer bir fonksiyon bloğu bir toplu işlem alırsa, toplu modda çalışır. Normal çalışma moduna geri dönmek için menüsünden *Batch2List* seçeneğini kullanın.

Hepsi bu kadar! Tüm karoların genişliğini hesapladınız!


---

# 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/turkish/ornek-projeler/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.
