Python Görüntü İşleme

Tarafıma verilen ödev neticesinde görüntü işleme ile yoklama alınması istendi benden. Bende python üzerinden yaptım. Yüz_verisi olarak tanıtıp kişileri daha sonra Yüz_tanima kısımından yüzlerin kimlere ait olduğunu tespit ettim. Aradan 1 ay geçince tekrar sisteme girdim yüz verisi kımına girdiğimde kamera açılması gerekiyor, çalıştır dediğimde kamera ışığı yanıyor fakat hemen açılması gereken kamera artık açılmıyor. Yüz tanima kısmında ise çalıştırdığımda kamera ışığı yanıyor ve hemen kamera açılıyor. Sorunun sebebi ne olabilir. Saygılarımla

Kodu da paylaşırsanız bu kısımda daha hızlı yardımcı olmaya çalışırız. Kodun aynı olup olmadığından emin olun sadece. Bazen kameraları boot süresi gibi kısa zamanda bekletilmeleri gerekiyor. Benim kameramdan bir örnek bu. 3-4 saniye açılması için beklemem gerekiyor. Fakat kodun bir loopda olduğundan ve bir kare alıp hemem kapanmayacak şekilde olduğundan emin misin? Eğer hem 0-dan açsın fotoğrafı alıp kapasın şeklinde one-time çalışıyorsa kodun, o zaman belki kamerayı sadece boot edib alana kadar kodun bitiyordur. Bunları dikkate alarak kodunu bekliyor olacağız.

import cv2 #opencv kütüphanesi eklendi
vid_cam = cv2.VideoCapture(0) # kamera tanımlandı

yüz tabanı için hazır bulunan sınıflandırıcı harcascade.xml dosyası dahil edildi

yuz_dedektor = cv2.CascadeClassifier(‘haarcascade_frontalface_default.xml’)

tanımlanan yüzleri ayırmak için farklı rakamlar atandı

yuz_ismi = 5

çekilecek fotoğraf için değişken tanımlandı

sayi = 1
while(True): # while döngüsü oluşturuldu

_, resim_cerceve = vid_cam.read() # kamera okutuldu

gri = cv2.cvtColor(resim_cerceve, cv2.COLOR_BGR2GRAY) # resim rengi için gri tonlama eklendi

yuzler = yuz_dedektor.detectMultiScale(gri, 1.3, 5) # resim için alt ve üst sınırlar belirlendi



for(x,y,w,h) in yuzler: # for döngüsünde çerçeve ebatları için değişkenler belirlendi

    # cerceve kalınlığı ve rengi belirlendi

    cv2.rectangle(resim_cerceve, (x,y), (x+w,y+h), (255,0,0), 2)

    sayi += 1 # fotoğraf adet artışı tanımlandı

    # resimler veri klasörüne yazdırıldı

    cv2.imwrite("veri/user." + str(yuz_ismi) + '.' + str(sayi) + ".jpg", gri[y:y+h,x:x+w])

    cv2.imshow('cerceve', resim_cerceve) # kameraya göster komutu atandı

# fotoğraf kalitesi belirlendi ve kameradan çıkış tuşu atandı

if cv2.waitKey(5) & 0xFF == ord('q'):

    break

elif sayi>50: #kameranın çekeceği fotoğraf sayısı sınırlandırıldı.

    break

vid_cam.release() # kamera durduruldu

cv2.destroyAllWindows() # tüm pencereler kapatıldı.