1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| import cv2
codecs = (cv2.CAP_ANY, cv2.CAP_VFW, cv2.CAP_V4L, cv2.CAP_V4L2, cv2.CAP_FIREWIRE,
cv2.CAP_FIREWARE, cv2.CAP_IEEE1394, cv2.CAP_DC1394, cv2.CAP_CMU1394,
cv2.CAP_QT, cv2.CAP_UNICAP, cv2.CAP_DSHOW, cv2.CAP_PVAPI, cv2.CAP_OPENNI,
cv2.CAP_OPENNI_ASUS, cv2.CAP_ANDROID, cv2.CAP_XIAPI, cv2.CAP_AVFOUNDATION,
cv2.CAP_GIGANETIX, cv2.CAP_MSMF, cv2.CAP_WINRT, cv2.CAP_INTELPERC, cv2.CAP_REALSENSE,
cv2.CAP_OPENNI2, cv2.CAP_OPENNI2_ASUS, cv2.CAP_OPENNI2_ASTRA, cv2.CAP_GPHOTO2,
cv2.CAP_GSTREAMER, cv2.CAP_FFMPEG, cv2.CAP_IMAGES, cv2.CAP_ARAVIS, cv2.CAP_OPENCV_MJPEG,
cv2.CAP_INTEL_MFX, cv2.CAP_XINE, cv2.CAP_UEYE)
for codec in codecs :
try:
camera = cv2.VideoCapture(r'Particles - 72556.mp4', codec)
while True:
retval, im = camera.read(0)
if not retval:
break
for X in dir(cv2):
if getattr(cv2, X) == codec and X.startswith('CAP'):
cv2.imwrite(f"data/frame_0_{X}.png", im)
break
except:
for X in dir(cv2):
if getattr(cv2, X) == codec and X.startswith('CAP'):
print('Bug codec :', X) |
Partager