#https://github.com/opencv/opencv/tree/master/data/haarcascades
import sys;sys.path.insert(0, '/home/pi/Install/lib/python3.13/site-packages')
import cv2
kaskada_obraza = cv2.CascadeClassifier('kaskade/haarcascade_frontalface_default.xml')
kaskada_oči = cv2.CascadeClassifier('kaskade/haarcascade_eye.xml') 
kamera = cv2.VideoCapture(0)
if not kamera.isOpened():
    print("Ni kamere");exit()
else:    
    kamera.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
    kamera.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
try:
  while True:
      vrne, slika = kamera.read()
      if not vrne:
          print("Ne sprejmem slike, konec posnetka?")
          break
      slika = cv2.resize(slika, (480,360))
      siva = cv2.cvtColor(slika, cv2.COLOR_BGR2GRAY)
      obrazi = kaskada_obraza.detectMultiScale(siva, 1.3, 5)
      h, w, l = slika.shape;rezolucija = (w,h)
      for (x,y,w,h) in obrazi:
        cv2.rectangle(slika,(x,y),(x+w,y+h),(255,255,0),2) 
        prepoznava_siva = siva[y:y+h, x:x+w]
        prepoznava_barve = slika[y:y+h, x:x+w]
        oči = kaskada_oči.detectMultiScale(prepoznava_siva) 
        for (ox,oy,ow,oh) in oči:
            cv2.rectangle(prepoznava_barve,(ox,oy),(ox+ow,oy+oh),(0,127,255),2)
      cv2.imshow('Prepoznavanje obrazov',slika)
      k = cv2.waitKey(1)
      if k%256 == 27:#ESC - konec
          print("Konec slikanja")
          break
except:
    print('Ni odziva :)')
kamera.release()
cv2.destroyAllWindows()
