여기저기 참고해서 만든 코드를 기록
package import
import cv2
import os
from tqdm.notebook import tqdm, trange
1. 비디오 하나에서 추출하기
vid_path = 'hr_files/vids/video_1.mpg'
pic_path = 'hr_files/pics/video_1/'
vid = 'video_1.mpg'
cap = cv2.VideoCapture(vid_path)
#fps = cap.get(5)
fn = 0
if cap.isOpened():
while True:
ret, img = cap.read()
if not ret:
break
if int(cap.get(1)) % 5 == 0: #5장마다 1장 추출
cv2.imwrite(pic_path + vid[:-4] + '_' + str(fn).rjust(6, '0') + '.png', img)
fn += 1
cap.release()
print(vid)
이미지를 추출할 비디오가 저장된 vid_path에서
이미지를 저장할 pic_path로 5 frame에 1장씩 추출하는 코드
2. 여러 비디오에서 각 비디오를 저장할 폴더를 만들며 추출하기
vid_path = 'lr_files/vids/'
pic_path = 'lr_files/pics/'
vids = os.listdir(vid_path)
for vid in tqdm(vids):
os.mkdir(pic_path + vid)
cap = cv2.VideoCapture(vid_path + vid)
# fps = cap.get(5)
fn = 0
if cap.isOpened():
while True:
ret, img = cap.read()
if not ret:
break
path = pic_path + vid + '/'
if int(cap.get(1)) % 5 == 0: #5장마다 1장 추출
cv2.imwrite(path + vid + '_' + str(fn).rjust(6, '0') + '.png', img)
fn += 1
cap.release()
print(vid)
'컴퓨터 > 파이썬 (Python)' 카테고리의 다른 글
train, valid, test split with random sampling (0) | 2022.11.01 |
---|---|
Ridge-map으로 지형도 그리기 (0) | 2022.06.10 |
주피터 파일 컴파일 하기 (0) | 2022.04.29 |