क्या वीडियो रिकॉर्ड करते समय और उन छवियों पर वर्तमान समय लिखते समय फ्रेम प्राप्त करना संभव है? मैं इसकी तलाश कर रहा था लेकिन मुझे कुछ नहीं मिला। मैं प्रत्येक फ्रेम पर समय लिखना चाहता हूं और/या उन फ्रेम को उस टाइमस्टैम्प से सहेजना चाहता हूं। मुझे प्रत्येक फ्रेम के लिए एक वीडियो से समय की जानकारी नहीं मिली, इसलिए मैं इस समाधान के साथ आया। मैं किसी भी विचार के लिए खुला हूं। अग्रिम में धन्यवाद।

0
morgan 4 पद 2019, 22:43

1 उत्तर

हाँ, ऐसा सम्भव है। cap.get(0) ध्वज, (जहां टोपी एक cv2.VideoCapture वस्तु है), आपको मिलीसेकंड में एक फ्रेम का टाइमस्टैम्प देता है। आप इसे इस प्रकार कर सकते हैं:

import cv2
# If you want to write system time instead of frame timestamp then import datetime
# import datetime

filepath = '.../video.mp4'
cap = cv2.VideoCapture(filepath)
# If capturing from webcam then as follows:
# cap = cv2.VideoCapture(0)

while(True):

    # Capture frame-by-frame
    ret, frame = cap.read()

    if(ret== False):
        break

    current_time = cap.get(0)
    # If you want system time then replace above line with the following:
    # current_time = datetime.datetime.now()

    cv2.putText(frame,'Current time:'+str(current_time), 
        (10, 100), 
        cv2.FONT_HERSHEY_SIMPLEX, 
        1,
        (255,255,255),
        2)

    # Display the resulting frame
    cv2.namedWindow('Frame with timestamp')
    cv2.imshow('Frame with timestamp',frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()


उम्मीद है ये मदद करेगा :)

0
Lalith Nag 6 पद 2019, 17:29