Site Overlay

Python dlib Kurulumu Windows 11: Visual Studio, CMake ve Python Kütüphaneleri

Python dlib Kurulumu Windows 11: Visual Studio, CMake ve Python Kütüphaneleri

1. Visual Studio Araçlarının Kurulumu

Windows 11 üzerinde Python ile dlib kütüphanesini kurmadan önce, gerekli Visual Studio araçlarının yüklenmesi gerekmektedir. Bu araçlar, Python ve C++ kütüphaneleri ile uyumlu çalışabilmek için kritik öneme sahiptir. Aşağıdaki modülleri Visual Studio’nun kurulumunda seçtiğinizden emin olun:

Gerekli modüller:

  • C++ ile Masaüstü Geliştirme: C++ tabanlı kütüphanelerle çalışabilmek için gereklidir.
  • MSVC v143 – VS 2022 C++ x64/x86 Derleme Araçları: 64-bit ve 32-bit platformlar için derleme desteği sağlar.
  • Windows için C++ CMake Araçları: CMake, dlib ve diğer C++ tabanlı kütüphanelerin derlenmesi için gereklidir.
  • Windows 11 SDK: Windows platformunda gelişmiş derleme ve hata ayıklama araçlarını sağlar.

Yukarıdaki araçları yükleyerek, dlib gibi Python kütüphanelerini çalıştırmaya uygun bir ortam hazırlamış olacaksınız.

2. CMake Kurulumu

CMake, dlib gibi C++ tabanlı kütüphanelerin derlenmesi için gerekli olan araçlardan biridir. Windows 11’de Python ve dlib kütüphanesini kurmak için CMake’in doğru bir şekilde yüklendiğinden emin olmalısınız. Aşağıda CMake kurulumu için adımları bulabilirsiniz:

  1. CMake’in Resmi Web Sitesinden İndirme: CMake’i bu linkten indirebilirsiniz.
  2. CMake’i Yükleme: İndirilen dosyayı çalıştırarak CMake’i yükleyin ve “Add CMake to the system PATH” seçeneğini işaretleyin.
  3. Kurulum Kontrolü: Komut satırını açın ve aşağıdaki komutu yazın:
    cmake --version
    Bu komut, CMake’in doğru bir şekilde yüklendiğini doğrular.

Bu adımları takip ederek CMake’i başarıyla kurmuş olacak ve Python ile dlib kütüphanesini kullanmaya hazır hale geleceksiniz.

3. Python Kütüphanelerinin Kurulumu

Python ortamınızı kurduktan sonra, dlib gibi kütüphaneleri yüklemek için bazı temel adımları takip etmeniz gerekir. Python, pip ve dlib’in doğru şekilde kurulması için aşağıdaki adımları izleyin:

  1. Python’un Yüklü Olduğundan Emin Olun: Python’un yüklü olup olmadığını kontrol etmek için aşağıdaki komutu kullanabilirsiniz:
    python --version veya python3 --version
    Python’un kurulu olmadığı durumda, Python’un resmi web sitesinden indirip yükleyebilirsiniz.
  2. Pip’i Güncelleyin: Pip, Python paketlerini yönetmek için kullanılan bir araçtır. Pip’in güncel olduğundan emin olmak için şu komutu çalıştırın:
    python -m pip install --upgrade pip
  3. dlib Kurulumu: dlib kütüphanesini yüklemek için şu komutu kullanabilirsiniz:
    pip install dlib
    Bu komut, dlib kütüphanesini Python ortamınıza yükleyecektir. Eğer dlib kurulumu sırasında bir hata alırsanız, Visual Studio ve CMake’in doğru şekilde yüklendiğinden emin olun.
  4. Diğer Kütüphaneler: Python projelerinizde kullanabileceğiniz diğer kütüphaneleri kurmak için aşağıdaki komutları kullanabilirsiniz:
    pip install numpy
    pip install opencv-python
    pip install matplotlib

Bu adımları takip ederek, Python ve dlib ortamınızı başarıyla kurmuş olacak ve güçlü bilgisayarla görü (computer vision) projeleri geliştirmeye başlayabilirsiniz.

Yüz takip için Örnek Betik:

import cv2
import dlib
import numpy as np

# dlib'in yüz tespiti ve landmark modeli için gerekli dosyayı yükle
predictor_path = "shape_predictor_68_face_landmarks.dat"  # Dosyanın bulunduğu dizine göre bu yolu güncelleyin
detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor(predictor_path)

# Kamera bağlantısını başlat
cap = cv2.VideoCapture(0)  # Varsayılan kamera

while True:
    # Kameradan görüntü al
    ret, frame = cap.read()
    if not ret:
        break
    
    # Görüntüyü gri tonlara çevir (dlib yüz tespiti gri görüntülerde çalışır)
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    
    # Yüz tespiti yap
    faces = detector(gray)
    
    for face in faces:
        # Yüzün etrafındaki dikdörtgeni çiz
        (x, y, w, h) = (face.left(), face.top(), face.width(), face.height())
        cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
        
        # Yüzdeki 68 noktayı tespit et
        landmarks = predictor(gray, face)
        
        # Gözlerin koordinatlarını al
        left_eye = landmarks.part(36)  # Sol göz (nokta 36)
        right_eye = landmarks.part(45)  # Sağ göz (nokta 45)
        
        # Gözlerin merkez koordinatlarını hesapla
        eye_center_x = (left_eye.x + right_eye.x) // 2
        eye_center_y = (left_eye.y + right_eye.y) // 2
        
        # Gözlerin koordinatlarını ekrana çiz
        cv2.circle(frame, (left_eye.x, left_eye.y), 3, (0, 255, 255), -1)
        cv2.circle(frame, (right_eye.x, right_eye.y), 3, (0, 255, 255), -1)

        # Bakış yönünü belirle
        if eye_center_x < frame.shape[1] // 3:
            # Sol tarafa bakıyorsa
            cv2.putText(frame, "Bakis: Sol", (20, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2, cv2.LINE_AA)
        elif eye_center_x > 2 * frame.shape[1] // 3:
            # Sağ tarafa bakıyorsa
            cv2.putText(frame, "Bakis: Sag", (20, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2, cv2.LINE_AA)
        else:
            # Ortada bakıyorsa
            cv2.putText(frame, "Bakis: Ortada", (20, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2, cv2.LINE_AA)

    # Ekranda görüntüyü göster
    cv2.imshow("Yuz Takibi", frame)

    # 'q' tuşuna basıldığında döngüyü kır
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# Kaynakları serbest bırak
cap.release()
cv2.destroyAllWindows()

image 17
Başka cihazda görüntüle
Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı
Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı

Arif Akyüz
Bilgi Teknolojileri
Sistem Network Yöneticisi
ve Siber Güvenlik Uzmanı
[email protected]

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Author: Arif Akyüz

Arif Akyüz - Siber Güvenlik Uzmanı ve Dijital Dönüşüm Lideri 15 yılı aşkın süredir bilişim sektöründe, özellikle siber güvenlik ve dijital dönüşüm alanlarında hizmet veren bir uzmanım. Hem stratejik hem de teknik düzeyde çözümler sunarak organizasyonların güvenlik altyapılarını güçlendiriyor ve dijitalleşme süreçlerini yönetiyorum.