Top takibi kodunu yüz takibi koduna dönüştürme

Aşağıdaki linkte top takibini çok iyi yapıyor. Kendi yüz tanıma koduma entegre etmek istiyorum. Nasıl yaparım?

while True:
        ret, img = video_capture.read()
        img = cv2.flip(img, +1)
        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        faces = faceCascade.detectMultiScale(
            img,
            scaleFactor=1.1,
            minNeighbors=30,
            minSize=(10, 30)
            )
        for (x, y, w, h) in faces:
            cv2.rectangle(img, (x, y), (x+w, y+h), (225, 0, 0), 1)
            if x>=1 and x<=71:
                if tiltServo!=220:
                    panServo=panServo-1
                    pwm.set_pwm(pan, 0, panServo)
            elif x>=200 and x<=350:
                if tiltServo!=320:
                    panServo=panServo+1
                    pwm.set_pwm(pan, 0, panServo)
            if y>=1 and y<=80:
                if tiltServo!=255:
                    tiltServo = tiltServo+1
                    pwm.set_pwm(tilt, 0, tiltServo)
            elif y>=120 and y<=350:
                if tiltServo!=150:
                    tiltServo = tiltServo-1
                    pwm.set_pwm(tilt, 0, tiltServo)
                    
        cv2.imshow('frame',img)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break   

Benim kodda faces’i kullanarak yüzün etrafına çizilen dikdörtgenin x,y değerine göre motoru +1 ve -1 şeklinde hareket ettirmiştim çok başarılı olmadı. Linkteki kodda contours’u koduma nasıl adapte edilebiliceğine yardımcı olabilirseniz sevinirim.

Aramıza hoşgeldiniz!

Bilen birisi yok galiba :confused: Ama bir cevabın geleceğine eminim.

Teşekkürler. Bakalım hayırlısı. Olmadı palyaço gibi burnumda kırmızı topla takip etmesini sağlayacağım artık :slight_smile:

Yani en azından takıldığım yeri daha açıklayıcı bilgi ile söyleyeyim belki bir bilen olur. contours hakkında hiç bilgim olmadığı için y eksenini nasıl dahil edileceğini bilmiyorum. Birinde faces for döngüsü, diğerinde contours for döngüsü var o yüzden kafam karıştı. Belkide benim kodları hiç kullanmadan aşağıdaki faces’i contours içinde doğru şekilde yerleştirdiğimde olacaktır.

            faces = faceCascade.detectMultiScale(
            img,
            scaleFactor=1.1,
            minNeighbors=30,
            minSize=(10, 30)
            )

contours’u şimdi araştırdığım kadarıyla aynı renkte öğeleri maskelemeyle bulmak için kullanılıyormuş. Belkide yapmak istediğim uyumsuz bir işlemdir. Benzer mantıkla yüzü maskelemeyle takibi bulursam daha başarılı takip olacak. belkide x_medium kodu orta noktayı bulduğu için başarılı oluyordur. Bir çözümü vardır elbet.

1 Beğeni