今まで画像を保存する際にcap.jpgで保存していましたがそれですと、画像自体は上書きしていくので過去の画像を保存したい場合は困ります。
ですので画像を保存する際に、日付時刻データをつけて特定のフォルダに収納しました。
環境は下記になります。
Hardware:Raspberry pi4B
OS:Raspbian 10/buster
Python:3.7.3
前回の記事は以下になります。
https://iot-techs.net/information/eed00299-9a56-560f-96d4-5cdd0a99540d
datetimeモジュールを利用します。
now = datetime.datetime.now()
で現在の日付と時刻を取得できます。
strftime()
で日付、時間を文字列に変換します。
次にOSモジュールを利用します。
image_path = "./images/"
で保存先を格納します。
camera.capture(now.strftime(image_path + '%Y%m%d_%H%M%S') + 'cap.jpg')
で時間、時刻Cap.jpgでimagesフォルダに保存されていきます。
ソースコードは以下になります。
import tkinter as tk
import os
import time
import datetime
import picamera
#ウィンドウの作成
base = tk.Tk()
base.geometry("500x300")
base.title("画像撮影")
camera = picamera.PiCamera()
# 保存先path
image_path = "./images/"
def clk(): #---クリックイベント
#現在時間を取得
now = datetime.datetime.now()
#画像撮影
camera.resolution = (1024, 768)
camera.capture(now.strftime(image_path + '%Y%m%d_%H%M%S') + 'cap.jpg')
#プレビュー
camera.start_preview()
time.sleep(5)
camera.stop_preview()
#ウィジェットの作成
label = tk.Label(text = "ボタンを押して撮影する")
button = tk.Button(base, text='開始', width=20, command=clk)
# 配置
label.pack()
button.pack(pady=100,padx=200)
base.mainloop()