AiWeb

from kivy.app import App from kivy.uix.image import Image from kivy.clock import Clock from kivy.graphics.texture import Texture import cv2 from ultralytics import YOLO

class CameraApp(App): def build(self): self.img = Image() self.capture = cv2.VideoCapture(0) self.model = YOLO(“yolov8n.pt”) Clock.schedule_interval(self.update, 1.0/30.0) return self.img

def update(self, dt):
    ret, frame = self.capture.read()
    if ret:
        results = self.model(frame)
        frame = results[0].plot()

        buf = cv2.flip(frame, 0).tobytes()
        texture = Texture.create(size=(frame.shape[1], frame.shape[0]), colorfmt='bgr')
        texture.blit_buffer(buf, colorfmt='bgr', bufferfmt='ubyte')
        self.img.texture = texture

CameraApp().run()