프로그래밍/파이썬

파이썬 - 이미지 파일 아스키 코드로 변환

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

화면 하단에 있는 'Terminal'창에서 pip install opencv-python를 입력해서 'OpenCV'를 설치한다.

 

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

 

 

import cv2

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

img  = cv2.imread('1.jpg')                                      # 1.jpg 이미지 파일 불러오기
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()                                                           # 한줄 출력 후, 줄 바꾸기

 

 

 

반응형

 

 

 

image.py

 

 

 

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


이미지 원본 - 1.jpg

 

 

 

728x90

 

 

 

코드 작성과 이미지 파일 준비까지 완료되면, 'Run' 탭에서 'Run and Debug'를 클릭한 뒤, 'Python File'을 선택해서 작성된 'image.py'의 코드를 실행시킨다.

 

아스키 코드로 변환 - 1.jpg

 

 

 

실행이 완료되면, Terminal 창에 ' .,-~:;=!*#%@' 13개의 특수문자로 변환되서 출력된 것을 확인할 수 있다.

 

아스키 코드로 변환 - 1.jpg

 

 

728x90
반응형