프로그래밍/파이썬

파이썬 - 동영상 파일 아스키 코드로 변환

31weeks 2021. 5. 26. 18:30
728x90
반응형

'New File' 아이콘을 클릭하고 파일 이름을 'movie.py'로 생성한 후, 아래의 코드를 입력한다.

 

import cv2

CHARS = ' .,-~:;=!*#%@'                                       # 특수문자 13가지
nw = 100

cap = cv2.VideoCapture('1.mp4')                             # 1.mp4 동영상 파일 불러오기

print("\x1b[2J", end='')

while cap.isOpened():
    ret, img = cap.read()
    if not ret:
        break

    img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)     # 불러온 이미지 파일을 흑백으로 변환

    h, w = img.shape
    nh = int(h / w * nw)

    img = cv2.resize(img, (nw * 2, nh))                       # 이미지 사이즈(비율), nw = 가로, nh = 세로

    for row in img:
        for pixel in row:                                           # pixel 0-255 -> CHARS 0-12
            index = int(pixel / 256 * len(CHARS))            # 0~255 : 256개
            print(CHARS[index], end='')                        # 특수문자 출력 후, 줄바꾸지 않기

        print()                                                       # 한줄 출력 후, 줄 바꾸기

    print('\x1b[H', end='')                                      # 1개의 프레임 출력후 화면 지우기

 

 

 

반응형

 

 

 

movie.py

 

 

 

코드 작성이 완료되면, 적당한 동영상 파일을 구해서 '1.mp4'로 저장한 후, movie.py 파일과 같은 폴더로 이동시켜준다.

 

 

원본 동영상 : 보아 - No.1

 

 

 

728x90

 

 

 

코드 작성과 이미지 파일 준비까지 완료되면, 'Run' 탭에서 'Run and Debug'를 클릭한 뒤, 'Python File'을 선택해서 작성된 'movie.py'의 코드를 실행시키면, Terminal 창에 ' .,-~:;=!*#%@' 13개의 특수문자로 변환되서 영상이 출력된 것을 확인할 수 있다.

 

 

아스키 코드로 변환된 동영상 : 보아 - No.1

 

 

 

 

 

728x90
반응형