Computer Vision Yolculuğu — Gün 4: MediaPipe ile Hand Tracking ve 21 Landmark Sistemini Anlamak
Computer Vision projelerinde görüntü işleme kadar önemli bir diğer konu da gerçek zamanlı takip sistemleridir.
Computer Vision Yolculuğu — Gün 4: MediaPipe ile Hand Tracking ve 21 Landmark Sistemini Anlamak

Hand tracking teknolojileri touchless interaction ve gesture control sistemlerinin temelini oluşturur.
Computer Vision projelerinde görüntü işleme kadar önemli bir diğer konu da gerçek zamanlı takip sistemleridir.
Özellikle:
- hand tracking,
- gesture recognition,
- pose estimation,
- face mesh
gibi sistemlerde görüntü yalnızca analiz edilmez; aynı zamanda nesnelerin konumları ve hareketleri de takip edilir.
Bu yazıda MediaPipe kullanarak:
- gerçek zamanlı hand tracking,
- 21 landmark sistemi,
- landmark koordinatları,
- normalize coordinate mantığı,
- pixel coordinate dönüşümü,
- sağ/sol el algılama
gibi temel hand tracking yapılarını inceleyeceğiz.
MediaPipe Nedir?
MediaPipe, Google tarafından geliştirilen gerçek zamanlı Computer Vision çözümleri sunan bir framework’tür.
MediaPipe içerisinde:
- hand tracking,
- pose detection,
- face mesh,
- object tracking
gibi hazır AI modelleri bulunur.
Bu projede kullanılan yapı:
mp.solutions.hands
modülüdür.
MediaPipe Hand Tracking Sistemi
MediaPipe’in hand tracking sistemi temel olarak şu pipeline ile çalışır:
Frame
↓
Palm Detection
↓
Hand Landmark Model
↓
21 Landmark
Sistem önce eldeki avuç bölgesini tespit eder, ardından el üzerindeki landmark noktalarını çıkarır.
Hand Tracking Modelinin Oluşturulması
MediaPipe hand detector oluşturmak için:
mp_hands = mp.solutions.hands
hands = mp_hands.Hands()
kullanılır.
Burada:
Hands()
AI modelini başlatır.
OpenCV ve RGB Dönüşümü
OpenCV varsayılan olarak:
BGR
renk formatı ile çalışır.
Ancak MediaPipe:
RGB
formatı kullanır.
Bu nedenle görüntü önce dönüştürülmelidir:
rgb_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
Bu dönüşüm hand tracking sisteminin düzgün çalışması için oldukça önemlidir.
process() Fonksiyonu
Frame analiz işlemi:
results = hands.process(rgb_img)
ile gerçekleştirilir.
Bu satırda AI modeli görüntüyü analiz eder ve landmark verilerini üretir.
Landmark Verilerinin Alınması
MediaPipe el üzerinde:
21 landmark
üretir.
Bu veriler:
results.multi_hand_landmarks
içerisinde tutulur.
Eğer görüntüde el yoksa:
None
döner.
Bu nedenle güvenli kullanım için:
if results.multi_hand_landmarks:
kontrolü yapılır.
21 Landmark Sistemi
MediaPipe el üzerindeki belirli noktaları numaralandırır.
Örneğin:
0 -> Wrist 4 -> Thumb Tip 8 -> Index Finger Tip 12 -> Middle Finger Tip 20 -> Pinky Tip
Bu yapı sayesinde belirli parmaklar takip edilebilir.

Gerçek zamanlı hand tracking sistemlerinde AI modelleri el hareketlerini landmark noktalarıyla analiz eder.
Landmark Loop Sistemi
Tüm landmark noktalarını dolaşmak için:
for handLms in results.multi_hand_landmarks:
for id, lm in enumerate(handLms.landmark):
kullanılır.
Burada:
id→ landmark numarasılm→ landmark objesi
anlamına gelir.
lm.x, lm.y ve lm.z
Her landmark için:
lm.x
lm.y
lm.z
değerleri bulunur.
Burada:
- x → yatay konum
- y → dikey konum
- z → derinlik bilgisi
anlamına gelir.
Normalize Coordinate Mantığı
MediaPipe koordinatları doğrudan pixel değeri vermez.
Koordinatlar:
0 → 1
arasında normalize edilmiş şekilde tutulur.
Örneğin:
lm.x = 0.5
ifadesi:
ekranın %50 sağında
anlamına gelir.
Pixel Coordinate Dönüşümü
Gerçek ekran koordinatını elde etmek için:
cx = int(lm.x * w)
cy = int(lm.y * h)
kullanılır.
Burada:
w→ görüntü genişliğih→ görüntü yüksekliği
anlamına gelir.
Bu dönüşüm sayesinde landmark noktaları gerçek pixel koordinatına çevrilir.
Landmark Görselleştirme
Belirli landmark noktaları OpenCV ile işaretlenebilir.
Örneğin işaret parmağı ucu:
if id == 8:
ile seçilebilir.
Ardından:
cv2.circle(img, (cx,cy), 15, (255,0,255), -1)
kullanılarak ekranda gösterilebilir.

MediaPipe, gerçek zamanlı hand tracking için optimize edilmiş AI tabanlı bir landmark sistemi kullanır.
Sağ ve Sol El Algılama
MediaPipe aynı anda birden fazla el algılayabilir.
Bu işlem için:
hands = mp_hands.Hands(max_num_hands=2)
kullanılır.
Ayrıca:
results.multi_handedness
yardımıyla elin:
- Left
- Right
olduğu belirlenebilir.
Gesture Recognition İçin Temel Mantık
Hand tracking sistemlerinde gesture recognition genellikle belirli landmark noktalarının konum ilişkileri kullanılarak yapılır.
Örneğin:
Thumb Tip ↔ Index Tip
arasındaki mesafe ölçülerek ses kontrolü gibi sistemler geliştirilebilir.
Sonuç
MediaPipe ile hand tracking sistemlerini anlamak, gerçek zamanlı gesture recognition projelerinin temelini oluşturur.
21 landmark sistemi sayesinde:
- parmak uçları takip edilebilir,
- koordinatlar analiz edilebilir,
- gesture sistemleri geliştirilebilir.
Bu yapı; gesture volume control, hand-controlled UI ve touchless interaction sistemleri gibi birçok modern Computer Vision projesinin temelini oluşturur.
Proje Reposu
Bu proje, Computer Vision öğrenme yolculuğumun bir parçası olarak adım adım geliştirilmektedir.
Yazıda kullanılan kaynak kodlara ve proje dosyalarına aşağıdaki GitHub reposu üzerinden ulaşabilirsiniz:
메타데이터
- post_id
- 6bbc3e7efbe9
- slug
- computer-vision-yolculuğu-gün-4-mediapipe-ile-hand-tracking-ve-21-landmark-sistemini-anlamak-6bbc3e7efbe9
- url
- https://medium.com/@m.edakulahci/computer-vision-yolculu%C4%9Fu-g%C3%BCn-4-mediapipe-ile-hand-tracking-ve-21-landmark-sistemini-anlamak-6bbc3e7efbe9
- canonical_url
- https://medium.com/@m.edakulahci/computer-vision-yolculu%C4%9Fu-g%C3%BCn-4-mediapipe-ile-hand-tracking-ve-21-landmark-sistemini-anlamak-6bbc3e7efbe9
- author_url
- https://medium.com/@m.edakulahci
- status
- ok
- fetched_at
- 2026-07-27 22:49:31