From 97ffb089d1d12cb7e8980de374d11bee7dbdbe91 Mon Sep 17 00:00:00 2001 From: Dielmar052006 Date: Sun, 1 Sep 2024 16:24:28 +0800 Subject: [PATCH] Create Dielmar --- Dielmar | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 Dielmar diff --git a/Dielmar b/Dielmar new file mode 100644 index 000000000..3731d8998 --- /dev/null +++ b/Dielmar @@ -0,0 +1,40 @@ +from kivy.app import App +from kivy.uix.button import Button +from kivy.uix.image import Image +from kivy.uix.boxlayout import BoxLayout +from kivy.graphics.texture import Texture +import cv2 + +class DielmarApp(App): + def build(self): + self.camera = cv2.VideoCapture(0) + layout = BoxLayout(orientation='vertical') + + self.img1 = Image() + layout.add_widget(self.img1) + + capture_button = Button(text="Capture Selfie", size_hint=(1, 0.1)) + capture_button.bind(on_press=self.capture_selfie) + layout.add_widget(capture_button) + + return layout + + def capture_selfie(self, *args): + ret, frame = self.camera.read() + if ret: + buffer = cv2.flip(frame, 0).tobytes() + texture = Texture.create(size=(frame.shape[1], frame.shape[0]), colorfmt='bgr') + texture.blit_buffer(buffer, colorfmt='bgr', bufferfmt='ubyte') + self.img1.texture = texture + + def on_stop(self): + self.camera.release() + +if __name__ == '__main__': + DielmarApp().run() +def apply_filter(self, image): + # Convert to grayscale + gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) + # Apply GaussianBlur + filtered = cv2.GaussianBlur(gray, (15, 15), 0) + return filtered