2016-05-31 17 views
0

私は現在、.png/.gifイメージをASCIIに変換してテキストファイルに保存するプロジェクトに取り組んでいます。私がこれを達成したのは、各ピクセルのグレースケール平均を求め、次に2つのループが画像の高さと幅を通過してから2次元リストにすべて追加することでした(下の例)。テキストファイルアート操作Python

[Y1]、[X1、X2、X3、X4、X5 ...、X50]

[Y2]、[X1、X2:

それは50×50の画像であったと仮定すると、X3、X4、X5 ...、X50]

[Y3]、[X1、X2、X3、X4、X5 ...、X50]

...

[[Y50]、[X1、X2、X3、X4、X5 ...、X50]]

私は、メモ帳にそれを書くために、このような小さなループを使用します。

for z in range(0, len(yList)): 
    for q in yList[z]: 
     filename123.write(q) 
    filename123.write('\n') 

は、これは私に歪んされることなく、メモ帳に保存された私の50×50のASCIIアートを与え、...など、シフトしました。

私の質問は、私がPythonで作成したファイルを開き、私がテキストで保存したASCIIアートを操作することができるようにすることです。 (私はファイルを開き、それを読むと、ASCIIイメージは 'variable = filename.read()'を作成してからその変数を出力した後にコンソールに出力しています)。これらの操作をテキストファイルでどうやって行うのですか?

答えて

1

理論上は、反転して回転するのは非常に簡単です。さまざまな順序で画像のx, y値を読んでください。画像を反復処理するためにそれを使用し、その後、変換をミラーリング/回転を組み合わせることにより、この情報を計算

x/y first? 
first or last first for x? 
first or last for y? 

:私は非常に次の情報が含まれて表記のいくつかの並べ替えを作成するために変換を組み合わせることをお勧めします。このため、私は実際の画像ファイルを使用していないよ

image -> mirroring notation -> rotation notation 
-> mirroring + rotation = transformation -> iterate through image 
-> spit out ASCII 
+0

、.txtファイル内だけでASCII記号:

あなたのパイプラインは次のようになります。 –

+1

その場合、変換をテキストファイルに適用するだけです:) – Aaron3468