あなたの考えをお聞かせください:
元の画像 -> グレースケール -> ピクセルの明るさに基づいて指定された文字シーケンスにマッピング -> 出力。
文字数が多いほど、文字の密度が高くなります。効果はより良くなります。
グレースケール画像のピクセルの明るさの範囲に基づいてキャラクターの絵を作成すると、より良い効果が得られます。
再度パレットを使用して文字の色を変更すると、より元の画像に近くなります。
これは元の画像です:
これは生成されたキャラクター ペイントです:
早速、コードに進みましょう:
コードをコピー コードは次のとおりです:
import Image
chars =" ...',;: clodxkLO0DGEKNWMM"
fn=r'c:usersliabcdesktopjianbing.png'
f1=lambda F:''.join([(k%100!=0) and m or m+'n' for k,m in enumerate (apply( lambda x:[chars[x[j,i]%len(chars)] for i in xrange(70) for j in xrange(100)],(Image.open(F).resize((100, 70)) .convert("L").load(),)),1)])
f=open(r"c:usersliabcdesktopaface.txt","w")
f.write(f1 (fn) )
f.close()