From 60a6326612e9353352c2502ebe147e4c4c128e9e Mon Sep 17 00:00:00 2001 From: brentru Date: Wed, 20 Dec 2023 12:42:22 -0500 Subject: [PATCH] capture into jpeg --- adafruit_pycamera/__init__.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/adafruit_pycamera/__init__.py b/adafruit_pycamera/__init__.py index 3892a55..aad2237 100644 --- a/adafruit_pycamera/__init__.py +++ b/adafruit_pycamera/__init__.py @@ -703,6 +703,25 @@ def continuous_capture_start(self): """Switch the camera to continuous-capture mode""" pass # pylint: disable=unnecessary-pass + def capture_into_jpeg(self): + """Captures an image and returns it in JPEG format. + + Returns: + bytes: The captured image in JPEG format, otherwise None if the capture failed. + """ + self.camera.reconfigure( + pixel_format=espcamera.PixelFormat.JPEG, + frame_size=self.resolution_to_frame_size[self._resolution], + ) + time.sleep(0.1) + jpeg = self.camera.take(1) + if jpeg is not None: + print(f"Captured {len(jpeg)} bytes of jpeg data") + print("Resolution %d x %d" % (self.camera.width, self.camera.height)) + else: + print("JPEG capture failed") + return jpeg + def capture_into_bitmap(self, bitmap): """Capture an image and blit it into the given bitmap""" bitmaptools.blit(bitmap, self.continuous_capture(), 0, 0)