>  기사  >  백엔드 개발  >  Python을 사용하여 그림을 문자 그림으로 변환하는 방법

Python을 사용하여 그림을 문자 그림으로 변환하는 방법

王林
王林앞으로
2023-05-17 14:34:061645검색

먼저 그레이스케일을 시뮬레이션하는 데 문제가 있습니다. 공식은 다음과 같습니다.

1
Gray = 0.2126 × R + 0.7152 × G + 0.0722 × B

이것은 다루기 쉽습니다. 물론 RGB 모드에서는 256x256x256의 색상 범위가 256의 회색조 범위로 변환되지만 문자는 여전히 일대일 대응이 아닙니다. 여러 회색조에 해당하는 문자 하나를 사용하여 이 문제를 해결할 수 있습니다.

먼저 다음을 포함하여 PIL 라이브러리를 설치해야 합니다.

Python 2인 경우 pip install PIL을 실행하세요. pip install PIL

如果是Python 3,运行 pip install pillow

接下来直接上代码吧:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from PIL import Image
#设置显示的字符集
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`&#39;. ")    
WIDTH = 130
HEIGHT = 50
def get_char(r,g,b,alpha = 256):
    if alpha == 0:
        return &#39; &#39;
    length = len(ascii_char)
    gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
    unit = (255.0 + 1)/length
    return ascii_char[int(gray/unit)]
if __name__ == &#39;__main__&#39;:
    img = "E:/WindowsDocuments/G7/Desktop/1.png"
    im = Image.open(img)
    im = im.resize((WIDTH,HEIGHT), Image.NEAREST)
    txt = ""
    for i in range(HEIGHT):
        for j in range(WIDTH):
            txt += get_char(*im.getpixel((j,i)))
        txt += &#39;\n&#39;
    print(txt)

如果想要输出到文件,可以在定义的部分,加上想要保存的文件名 OUTPUT = 'output.txt'

Python 3이라면 pip install Pillow를 실행하세요. 코드로 바로 가보겠습니다:
1
2
with open(OUTPUT, &#39;w&#39;) as f:
    f.write(txt)

Python을 사용하여 그림을 문자 그림으로 변환하는 방법파일로 출력하고 싶다면 정의 부분 OUTPUT에 저장하고 싶은 파일 이름을 추가하면 됩니다. = 'output.txt', 그리고 마지막에 다음을 입력합니다:

🎜🎜🎜🎜rrreee🎜🎜rrreee🎜🎜🎜🎜🎜마지막으로 다음을 얻습니다: 🎜🎜🎜🎜

위 내용은 Python을 사용하여 그림을 문자 그림으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제