Local Binary Pattern-LBP (Yerel İkili Örüntü): görüntü işleme ve bilgisayarla görme alanında sıkça kullanılan bir yöntemdir. Özellikle doku analizi, yüz tanıma, desen sınıflandırması gibi uygulamalarda etkili sonuçlar sağlar. LBP, bir pikselin komşularıyla olan ilişkisini basit bir şekilde kodlayan bir yöntemdir.
LBP, bir görüntüdeki her pikseli, çevresindeki piksellerle karşılaştırarak ikili bir sayı (binary pattern) oluşturur. Bu sayılar daha sonra histogramlar halinde birleştirilerek görüntünün dokusal özelliklerini temsil eder.
LBP Algoritmasının Kullanım Amaçları
- Doku Analizi: Bir görüntünün dokusal özelliklerini çıkarır. Örneğin, düzgünlük, pürüzlülük veya tekrarlayan desenler.
- Yüz Tanıma: Yüz ifadeleri veya yüz özelliklerinin analizinde kullanılır. Histogram tabanlı bir yaklaşım olduğu için, aydınlatma değişikliklerine karşı dayanıklıdır.
- Nesne ve Desen Tanıma: Görüntülerdeki belirli desenleri veya yapıları sınıflandırmak için kullanılır.
- Tıbbi Görüntü Analizi: Doku tabanlı özelliklerin çıkarılması gerektiği MRI, CT veya X-ray görüntü analizlerinde etkilidir.
- Hareket Tespiti: Videolarda hareketli bölgelerin analizi için doku bazlı özellik çıkarma.
import cv2
from skimage.feature import local_binary_pattern
import matplotlib.pyplot as plt
# Görüntüyü yükle
image = cv2.imread('sample_image.jpg', cv2.IMREAD_GRAYSCALE)
# LBP hesaplama
radius = 3 # Komşuluk yarıçapı
n_points = 8 * radius # Komşu piksel sayısı
lbp = local_binary_pattern(image, n_points, radius, method='uniform')
# LBP'yi görselleştirme
plt.figure(figsize=(10, 5))
plt.subplot(1, 2, 1)
plt.title('Orijinal Görüntü')
plt.imshow(image, cmap='gray')
plt.subplot(1, 2, 2)
plt.title('LBP Görüntüsü')
plt.imshow(lbp, cmap='gray')
plt.show()
