Używam OpenCV do wykonywania obliczeń filmów, które zrobiłem w eksperymentach. Aby to zrobić, potrzebuję niektórych właściwości z filmów i byłoby to przydatne, gdybym mógł automatycznie wykryć je z samego filmu. W documentation znajdę następujący kod:Uzyskiwanie właściwości filmu za pomocą pythona i opencv
cv2.VideoCapture.get(propId) → retval
na poniższej liście stwierdza, że do całkowitej liczby ramek propId
powinny być CV_CAP_PROP_FRAME_WIDTH
. Jednak gdy próbuję następujące pojawia się błąd:
>> cap = cv2.VideoCapture('runoff.MOV')
>> print cap.get('CV_CAP_PROP_FRAME_WIDTH')
TypeError: an integer is required
Gdybym wejścia liczbę całkowitą w kodzie:
>> cap = cv2.VideoCapture('runoff.MOV')
>> print cap.get(3)
1920.0
CV_CAP_PROP_FRAME_WIDTH
jest 4 pozycja w wykazie zawartym w dokumentacji i rzeczywiście, gdy używam poprawny licznik całkowity 3
Otrzymuję tę właściwość. Zastanawiam się, czy jest na to lepszy sposób, wykorzystując samą klasę i pisząc do niej słownik ze wszystkimi kluczowymi, całkowitymi kombinacjami.