Yüz Tanıma Algılama Sistemi Yapımı - Nasıl Yapılır? | Robocombo

Yüz Tanıma Algılama Sistemi Yapımı - Nasıl Yapılır? | Robocombo
Merhaba arkadaşlar, bu makalemizde raspberry pi ve openCV kullanarak yüz tanıma yada yüz algılama sistemi yapımı nasıl gerçekleştirilir birlikte öğreneceğiz. 
 
İhtiyacımız olanlar;
  1. Raspberry Pi
  2. OpenCV
 

Yüz Algılama Sistemi Yapımında Geometrik Şekiller Çizmek için Python Kodu

Aşağıdaki kod görüntünün üzerine çizgiler, elipsler, daireler, dikdörtgenler, polillerler ve metinler çizecektir. Bu kodu kopyalayın ve çalıştırın.  
Python Kodu
 
 

Yüz Tanıma Sistemi Nasıl Çalışır? - Kod Dağılımı

İlk önce gerekli kütüphaneleri indiriyoruz. OpenCV paketi farklı geometrik şekiller çizmemize yardımcı olur ve NumPy paketi boş bir görüntü oluşturmamızı ve diğer matematiksel işlemleri yapmamızı sağlar.
 
Javascript Kodu
import cv2 import numpy as np
  Daha sonra üzerine geometrik şekiller çizebileceğimiz siyah bir görüntü oluşturuyoruz.
  Python Kodu
img = np.zeros((512, 512, 3), np.uint8)
  Ardından cv2.line () işlevini 5 piksel kalınlığında çapraz mavi bir çizgi çizmek için kullanalım. Siyah görüntü üzerinde soldan merkeze doğru sağa mavi bir çizgi çizelim.   Cv2.line () fonksiyonu beş argüman alır:
  1. Görüntü dosyası
  2. Başlangıç ​​noktaları (görüntü satırında başlayacaktır)
  3. Bitiş noktaları
  4. Çizginin rengi
  5. Çizginin kalınlığı
 
Python Kodu
#img = cv2.line(image, (starting point), (Ending point), (color), line thickness)
img = cv2.line(img, (0, 256), (512, 256), (255, 0, 0), 10)
  Şimdi, görüntünün ortasına iki elips çizeceğiz. Elipsi çizmek için birkaç argüman geçmeliyiz:
  1. Görüntü dosyası
  2. Merkez konumu (x, y)
  3. Büyük ve küçük eksen uzunlukları
  4. Saatin tersi yönde elipsin dönme açısı
  5. Başlangıç ​​ve bitiş açısı (başlangıç ​​ve bitiş açısı, ana eksenden saat yönünde ölçülen elips arkının başlangıç ​​ve bitişini belirtir, yani 0 ve 360 ​​değerleri vermek tam elipsi verir)
  6. Elipsin rengi
  7. Elipsin kalınlığı (-1, şekli dolduracağı anlamına gelir)
 
Python Kodu
#cv2.ellipse(img, center, axes, angle, start angle, end angle, color, thickness=1)
img = cv2.ellipse(img,(256,256),(50,50),180,0,180,(255, 255, 0),-1)
img = cv2.ellipse(img,(256,256),(50,50),0,0,180,(0, 255, 0),-1)
Sonra, elipsin üzerine kırmızı bir daire çizeceğiz. Bir daire çizmek için görüntü dosyasını, merkez koordinatını, dairenin yarıçapını, rengi (B, G, R) biçiminde ve dairenin kalınlığını geçmemiz gerekir.
 
Python Kodu
#cv2.Circle(img, center, radius, color, thickness)
img = cv2.circle(img, (256, 256), 56, (0, 0, 255), 10)
Sonra dairenin üzerine yeşil bir dikdörtgen çizelim. Bir dikdörtgen çizmek için dikdörtgenin sol üst köşesine ve sağ alt köşesine ihtiyacınız vardır.
 
Python Kodu
#img = cv2.rectangle(image, (Top Left Corner), (Bottom Right Corner), (color), thickness)
img = cv2.rectangle(img, (189, 189), (323, 323), (0, 255, 0), 10)
Bir çokgen çizmek için, köşelerin koordinatlarına ihtiyacımız var. Bu noktaları ROWS x 1 x 2 şeklinde bir dizi haline getirin, burada ROWS, köşelerin sayısıdır ve int32 türünde olmalıdır. Burada sarı renkte dört köşeli küçük bir çokgen çiziyoruz.  
Python Kodu
pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts = pts.reshape((-1,1,2))
# cv2.PolyLine(img, polys, is_closed, color, thickness=1)
img = cv2.polylines(img,[pts],True,(0,255,255))
Resimlere metin koymak için, yazmak istediğimiz metin verilerini, istediğimiz yerin koordinatlarını (örneğin, verilerin başladığı sol alt köşe), yazı tipi türünü, yazı tipi ölçeğini (yazı tipinin boyutunu belirtir) sağlamamız gerekir.
 
Python Kodu
#cv2.PutText(img, text, org, fontFace, fontScale, color, thickness, line type)
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2,cv2.LINE_AA)

 

Yüzleri Algılamak ve Yüzlerde Daire Çizmek için Python Kodu

Şimdi görüntüdeki yüzleri algılayacak ve yüzlerin çevresini çizecek kodu yazacağız. Yüzleri tespit etmek için, Haar Cascade kademeli sınıflandırıcısını kullanacağız. OpenCV zaten yüz, gözler, gülüş ve daha fazlası için önceden kodlanmış sınıflandırıcıları içermektedir. Kullanacağımız sınıflandırıcı yüzleri algılar. Cascade dosyasını  buradan alabilirsiniz . Bu dosyayı çalışma dizinine " haarcascade_frontalface_default.xml " olarak kaydedin .   Python kodu aşağıdaki gibidir:  
  Python Kodu
 
 
Etiketler: Yüz Tanıma Algılama Sistemi Yapımı – Nasıl Yapılır?
Ekim 20, 2021
Listeye dön
Çerez Uyarısı

Alışveriş deneyiminizi iyileştirmek için yasal düzenlemelere uygun çerezler (cookies) kullanıyoruz. Detaylı bilgiye Gizlilik ve Çerez Politikası
sayfamızdan erişebilirsiniz.