반응형
pip install pytube

pytube에서 다운로드 기능을 제공합니다.

 

from pytube import YouTube

def Downloader(link):     
    url =YouTube('https://www.youtube.com/watch?v='+str(link))
    video = url.streams.first()
    video.download('../../database/videos/')
    
Downloader(random_youtube_link)

제가 사용한 메소드의 파라미터는 유튜브 랜덤 생성 토큰만 전달하는 기능을 갖고있습니다.

 

또한 video.download()의 파라미터는 저장 경로입니다.

반응형
반응형
cap = cv2.VideoCapture(path) #path가 0, 1이면 웹캠, 경로면 파일 읽기
frame_size = [cap.get(cv2.CAP_PROP_FRAME_HEIGHT), cap.get(cv2.CAP_PROP_FRAME_WIDTH)]
frame_num = (cap.get (cv2.CAP_PROP_FRAME_COUNT))

prev_time = 0
FPS = 90

fourcc = cv2.VideoWriter_fourcc(*'DIVX')
# cv2.VideoWriter params
# (path, fourcc, fps, (w, h))
out = cv2.VideoWriter('0.avi', fourcc, 60.0, (int(frame_size[1]), int(frame_size[0])))

for pos in range(int(cap.get(cv2.CAP_PROP_FRAME_COUNT))):
	ret, img = cap.read() # ret은 프레임 읽은 결괏값: True or False, img는 프레임
	current_time = time.time() - prev_time # 현재 시간 설정

	if (ret is True) and (current_time > 1./ FPS) :# 현재 시간이 FPS에 합당한지?

		prev_time = time.time() #prev_time 초기화
		out.write(img) #프레임 쓰기
	
cap.release()

 

프레임 사이즈, 프레임 수는 추가 정보

반응형
반응형
\`#-_\-coding:utf-8-_\-  
#PYTHONIOENCODING=UTF-8  
import os, glob, shutil

rootdir = os.path.join('dataset')  
traindir = os.path.join('train')  
valdir = os.path.join('val')  
for i in glob.glob(os.path.join(rootdir,'_')):  
    for j in glob.glob(os.path.join(i,'_')):  

        foldername = j.split('/')\[-2\]  


        filename = j.split('/')[-1]

        if '4.PNG' in j:
            if not os.path.exists(os.path.join(valdir,foldername)):
                os.mkdir(os.path.join(valdir,foldername))
            shutil.copy(j,os.path.join(valdir,foldername,filename))
        else:
            if not os.path.exists(os.path.join(traindir,foldername)):
                os.mkdir(os.path.join(traindir,foldername))
            shutil.copy(j,os.path.join(traindir,foldername,filename))

그림 1 데이터 셋 구조

목표: 폴더 내 4.PNG를 검증셋, 그 외는 학습 셋으로 분리

1. 폴더명이 한글이기 때문에 utf-8 인코딩 관련 주석 처리

2. os.path.joinglob.glob을 통해 폴더 서치 및 파일 서치

3. os.mkdir([dirname])으로 저장 폴더 생성

4. 파일 명이 4.PNG이면 val 폴더로 복사 shutil.copy(src, dst) 이동: shutil.move(src, dst)

반응형

+ Recent posts