# Background Subtractor

Bu fonksiyon bloğu, öğrenilmiş bir arka plan modeli ile mevcut kareleri karşılaştırarak hareketli/önplan (foreground) bölgelerini tespit eder. Stabil bir arka plandan önplan nesnelerini (insanlar, araçlar, hareketli parçalar) ayırmak ve daha ileri analiz için ikili/gri tonlu bir önplan maskesi üretmek için kullanın.

## 📥 Girdiler (sockets) <a href="#inputs" id="inputs"></a>

`Input Image` Analiz edilecek girdi görüntüsünü veya video karesini kabul eder (renkli veya gri tonlu).

## 📤 Çıktılar (sockets) <a href="#outputs" id="outputs"></a>

`Foreground Mask` Önplan piksellerinin vurgulandığı gri tonlu/ikili bir maske çıktısı üretir.

## 🕹️ Kontroller <a href="#controls" id="controls"></a>

`Method` Açılır menüden arka plan çıkarma algoritmasını seçin (ör. MOG2 veya KNN).

`History` Arka plan modelini oluşturmak için kaç önceki karenin kullanılacağını kontrol eder. Daha yüksek değerler modelin daha yavaş uyum sağlamasına neden olur.

`VarThreshold` Piksel değişikliklerine duyarlılığı kontrol eder. Daha düşük değerler küçük değişikliklere karşı daha hassas olur; daha yüksek değerler ise daha az hassas olur.

## ⚙️ Çalışma mekanizması <a href="#running-mechanism" id="running-mechanism"></a>

Her çalıştırmada blok şu adımları izler:

* Seçili `Method` ile mevcut `History` / `VarThreshold` ayarlarını kullanır.
* Ayarlar değiştiyse, dahili arka plan modeli yeni parametreleri yansıtacak şekilde yeniden başlatılır.
* Gelen `Input Image` üzerinde işlem yapar ve tespit edilen önplan bölgelerini gösteren `Foreground Mask` çıktısını üretir.

Bu maske kare kare güncellenir ve sayma, izleme veya kaydetme gibi diğer bloklar tarafından kullanılabilir.

## 🎯 Özellikler <a href="#features" id="features"></a>

* `Method` ile algoritmalar arasında hızlı geçiş.
* `History` ve `VarThreshold` kaydırıcılarıyla gerçek zamanlı parametre ayarı; adaptasyon hızı ile stabilite arasında denge kurma.
* Tespit ve analiz bloklarına doğrudan beslenebilen hazır önplan maskesi üretimi.

## 📝 Kullanım <a href="#usage" id="usage"></a>

1. Kamera, video veya görüntü yükleyen bir bloğu `Input Image` girişine bağlayın.
2. İstenilen `Method`u seçin ve sonuçları izlerken `History` ile `VarThreshold` değerlerini ayarlayın.
3. `Foreground Mask`i downstream (sonraki) bloklarda tespit, sayma veya kaydetme işlemleri için kullanın.

## 💡 İpuçları ve Püf Noktaları <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Gürültülü sonuçlarda, önce girişi `Blur` ile yumuşatmayı veya yüksek frekanslı gürültüyü azaltmak için `Denoising` uygulamayı deneyin.
* Maskedeki küçük lekeleri gidermek için bu bloğun ardından `Morphological Transformations` (opening/closing) ekleyin.
* Sadece belirli bir alana odaklanmak istiyorsanız, arka plan çıkarma öncesinde girişi hızlandırmak için `Image ROI Select` veya `Image ROI` ile kırpın.
* Parametre ayarı için `Foreground Mask`i daha büyük bir görüntüleyicide önizlemek üzere `Show Image` kullanın.
* Nesne seviyesinde analiz için maskeyi `Blob Detector` veya tespit edilen bileşenleri çıkarmak ve ölçmek amacıyla `Find Contour` bloğuna besleyin.
* Orijinal kare üzerinde tespitleri işaretlemek veya vurgulamak için, kontur/blob analizinden elde edilen koordinatlarla `Draw Detections` veya `Draw Rectangle` ile birleştirin.
* Girdi kareleriniz çok büyükse, daha hızlı işlem için önce `Image Resizer` ile ölçek düşürün.
* Önemli kareleri veya maskeleri, tetik koşulu oluştuğunda saklamak için `Image Logger` veya `Image Write` kullanın (ör. tespit sayısı eşik değeri aştığında).
* Canlı işlem devam ederken bir kareyi incelemek için `Image Memory` ile bir kareyi dondurun.

(not: yukarıdaki ipuçları mevcut fonksiyon blokları listesine referans verir)

## 🛠️ Sorun Giderme <a href="#troubleshooting" id="troubleshooting"></a>

* Önplan maskesi çok hassassa (çok fazla titreyen piksel) → `VarThreshold` değerini artırın veya modelin daha yavaş uyum sağlaması için `History` değerini yükseltin.
* Hareket eden nesneler güvenilir şekilde tespit edilmiyorsa → `VarThreshold` değerini düşürün veya önceki yumuşatmayı azaltın.
* Maskede küçük izole gürültüler varsa → `Morphological Transformations` (opening) ekleyin veya girişe `Blur` uygulayın.
* Arka plan sık sık değişiyorsa (aydınlatma, hareketli arka plan) → modelin daha hızlı uyum sağlaması için `History` değerini azaltın veya işlemi daha stabil bir ROI ile sınırlandırın (`Image ROI Select`).
* Maskeyi net göremiyorsanız → daha iyi inceleme için `Show Image` ile maskeyi görüntüleyin.

## 🔗 Önerilen blok kombinasyonları <a href="#recommended-combinations" id="recommended-combinations"></a>

* Önişleme: `Blur` → `Background Subtractor` → `Morphological Transformations`
* Odaklı tespit: `Image ROI Select` → `Background Subtractor` → `Blob Detector` → `Draw Detections`
* Kayıt ve inceleme: `Background Subtractor` → `Show Image` (önizleme) ve `Image Logger` veya `Image Write` (maskeleri/karesi kaydetme)
* Sonrası analiz: `Background Subtractor` → `Find Contour` / `Measure Object Distance` → `Data to JSON` veya `CSV Export`

Bu kombinasyonlar, mevcut blokları kullanarak güvenilir video analiz boru hatları oluşturmanıza yardımcı olur.


---

# 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/fonksiyon-bloklari/image-transformations/transformation-filters/background-subtractor.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.
