Сохранить поток изображений с отметкой времени, используя OpenCV Python - PullRequest
0 голосов
/ 11 ноября 2018

Я использую открытое CV, Python для сохранения изображений с одной и той же камеры в формате jpg и png. Я использую метку времени, чтобы сохранить изображения в последовательности. Мой пример кода следующий. Но проблема в том, что при каждом запуске я сохраняю только одно изображение. Что будет лучшим решением для сохранения потока изображений с отметкой времени

import numpy as np
import cv2
import time

camera = cv2.VideoCapture(0)
time = time.time() #timestamp

def saveJpgImage(frame):
    #process image
    img_name = "opencv_frame_{}.jpg".format(time)
    cv2.imwrite(img_name, frame)

def savePngImage():
    #process image
    img_name = "opencv_frame_{}.png".format(time)
    cv2.imwrite(img_name, frame)

def main():
    while True:
        ret, frame = cam.read()
        cv2.imshow("Camera Images", frame)
        if not ret:
            break
        k = cv2.waitKey(1)

        if k%256 == 27:
            # ESC pressed
            print("Escape hit, closing...")
            break
        elif k%256 == 32:
            saveJpgImage(frame)
            savePngImage(frame)


if __name__ == '__main__':
    main()

1 Ответ

0 голосов
/ 12 ноября 2018

Вы проверяете, когда клавиша нажата, и вызываете функцию сохранения, когда она нажата.Если вы хотите вызвать видео петлю при нажатии клавиши, сделайте это!(не забудьте включить метод escape!)

...