I'm trying to capture various frames within a x264-encoded video files into png
files (in python
), and then compare the quality of them:
cap = cv2.VideoCapture(filename);
//get frame_number for saving, and save the frame
cap.set(cv2.CAP_PROP_POS_FRAMES,frame_no);
ret, frame = cap.read()
cv2.imwrite(dir_path+'uniform_frame_'+str(frame_no)+".png", frame);
Now I was wondering if I fetch an I-Frame, does it mean that it has a higher quality than other frames, e.g. P-frames and B-Frames? (inherently, keyframes are not compressed, so they must have higher quality and less noise).