Skip navigation

OpenCV videófolyam-kezelő objektumok

Python + OpenCV

VideoCapture objektum

  • Csatlakozhatunk az alapértelmezett (web)kamerához:
    • cap = cv2.VideoCapture(0)
    • A paraméter a kamera sorszámot jelenti. Ha több kameránk is van, használhatunk magasabb értéket.
  • Vagy nyithatunk videófájlt:
    • cap = cv2.VideoCapture('sintel_trailer-480p.mp4')
  • Megnyitás sikerességének ellenőrzése:
    • cap.isOpened()
  • Információ a videófolyamról:
    • cap.get() függvénnyel
    • print('Videó méret:', cap.get(cv2.CAP_PROP_FRAME_WIDTH), cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
    • print('Videó FPS:', cap.get(cv2.CAP_PROP_FPS))
    • Bizonyos paraméterek állíthatók a cap.set() függvénnyel
    • További paraméterek: VideoCaptureProperties
  • Képkockák olvasása:
    • ret, frame = cap.read()
    • ret: sikerült-e az olvasás?
    • frame: ha igen, akkor itt érhető el a képkocka, amit tetszőlegesen feldolgozhatunk
  • Erőforrás elengedés:
    • cap.release()

VideoWriter objektum

  • Megnyitás írásra, kodek információval
    • fourcc = cv2.VideoWriter_fourcc(*'XVID')
    • out = cv2.VideoWriter('output.avi', fourcc, cap_fps, (cap_width, cap_height))
    • MP4 kimenet esetén: cv2.VideoWriter_fourcc(*'mp4v') és output.mp4 használandó.
    • További kodek azonosítók (nem mindegyik támogatott!): https://www.fourcc.org/codecs/
  • Képkocka írása
    • out.write(frame)
  • Erőforrás elengedése
    • out.release()

Példaprogramok

  • 09_01_opencv_webcam.py
  • 09_02_opencv_video_file.py
  • 09_03_opencv_video_write.py

Dokumentáció

Feladat

Írjunk programot, amely a cv_book_scene_gphotos.mp4 videón az alábbi feldolgozásokat végzi:

  • Átalakítja szürkeárnyalatossá.
  • Megfelelő küszöböléssel szegmentálja a könyvborítón lévő betűket.
  • Sor és oszlop szerint feleakkora méretűre változtatja.
  • Elmenti új, MP4 formátumú videófájlba.
  • Megtartja az eredeti lejátszási sebességet.