from kuukar.kuukar_lcd import lcd
from kuukar.kuukar_leds import leds
import threading
import multiprocessing
import cv2



class cv:
    def __init__(self, lcd: lcd, leds: leds) -> None:
        self.lcd = lcd
        self.leds = leds
        #self.camera = cv2.VideoCapture(0)
        #threading.Thread(target=self._cv_loop).start()

    def _cv_loop(self):
        while True:
            img = self.capture_image()
            ##stop_sign = self.detect_sign(img)
            
    def get_road_curve(self, frame):
        pass

    def capture_image(self):
        ret, frame = self.camera.read()
        return frame
    
    def detect_sign(self, frame):
        stopsign_cascade = cv2.CascadeClassifier('./stopsign_good.xml')
        image = frame.array
        gray_img=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
        found_stopsigns=stopsign_cascade.detectMultiScale(gray_img,1.1,5)
        return found_stopsigns

