47 lines
1.0 KiB
Python
47 lines
1.0 KiB
Python
from picamera2 import Picamera2, Preview
|
|
import time
|
|
|
|
picam2 = Picamera2()
|
|
|
|
# Get maximum full-sensor dimensions
|
|
sensor_format = picam2.sensor_modes[0]
|
|
max_width = sensor_format['size'][0]
|
|
max_height = sensor_format['size'][1]
|
|
|
|
camera_config = picam2.create_still_configuration(
|
|
raw={"size": (1640, 1232)},
|
|
main={"size": (1640, 1232)}
|
|
)
|
|
picam2.set_controls({
|
|
"AeEnable": True,
|
|
"AwbEnable": True,
|
|
"ExposureTime": 100000,
|
|
"ExposureValue": 0.3,
|
|
"Brightness": 0.30,
|
|
"Contrast": 1.1
|
|
})
|
|
picam2.configure(camera_config)
|
|
|
|
picam2.start()
|
|
time.sleep(2)
|
|
|
|
def preview_camera():
|
|
picam2.start_preview(Preview.DRM)
|
|
|
|
def stop_preview_camera():
|
|
picam2.stop_preview()
|
|
|
|
def take_picture():
|
|
"""Takes a picture and saves it to the file system"""
|
|
picam2.capture_file("test.jpg")
|
|
return "test.jpg"
|
|
|
|
def get_picture():
|
|
"""Returns the image bytes as base64
|
|
"""
|
|
file_path = take_picture()
|
|
with open(file_path, "rb") as f:
|
|
image_bytes = f.read()
|
|
return image_bytes
|
|
|