Как заморозить предпросмотр Picamera - PullRequest
1 голос
/ 12 мая 2019

Я хочу запустить предварительный просмотр камеры, которая через некоторое время делает снимок с помощью модуля PiCamera, и когда снимок был сделан, он должен заморозить предварительный просмотр, чтобы пользователь мог его просмотреть, как я могу остановить предварительный просмотр?

В настоящее время я отображаю его, используя matplotlib.image:

from picamera import PiCamera
from time import sleep
import RPi.GPIO as GPIO
import matplotlib.pyplot as plt
import matplotlib.image as mpimg

def btn_press(channel):
    camera.start_preview()
    camera.annotate_text="3..."
    sleep(1)
    camera.annotate_text="2..."
    sleep(1)
    camera.annotate_text="1..."
    sleep(1)
    camera.capture("image.jpg")
    camera.annotate_text="Pic taken"
    sleep(5)
    camera.stop_preview()
    pic=mpimg.imread("image.jpg")
    plt.imshow(pic)
    plt.show()
    #print("pic taken")

camera = PiCamera()
camera.led=False
camera.annotate_text_size=100

btn=20

GPIO.setmode(GPIO.BCM)
GPIO.setup(20, GPIO.IN)

GPIO.add_event_detect(btn, GPIO.BOTH, callback=btn_press, bouncetime=8000)

1 Ответ

0 голосов
/ 12 мая 2019

Есть несколько способов сделать это, но вы можете использовать

plt.waitforbuttonpress()
...