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

王林
풀어 주다: 2023-05-17 14:34:06
앞으로
1646명이 탐색했습니다.

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

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 = &#39;output.txt&#39;

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿