1

そこで、画像入力を音波出力に変換する次のコードを書きましたが、問題なく動作します。

import wave

try:
    #change the file's name and format
    image_file = 'image.png'
    fin = open(image_file, "rb") #binary read
    data = fin.read()
    fin.close()
except IOError:
    print("Image file %s not found" % imageFile)
    raise SystemExit

#Give the name for wav file produced at run time corresponding to the input file
sound_output = wave.open('image.wav', 'w')
sound_output.setparams((2, 2, 44100, 10, 'NONE', 'not compressed'))

hex_str = bytes(data) #convert binary data to string of bytes
sound_output.writeframes(hex_str)


sound_output.close()

今、私はその出力波音を使用して、それを画像とテキストに変換したいと考えています(元の画像ではなく、出力できる画像)。ウェーブサウンドファイルを入力として受け取り、バイナリデータとして読み取る上記と同じアプローチを考えています。しかし、そのバイナリ データを画像形式 (jpg または png) およびテキストの文字列として保存する方法がわかりません。誰でも助けることができますか?

4

1 に答える 1

0

PNGは構造化された形式です。ビットの塊から任意の画像を生成するためにビットマップ形式に変換します。ただし、ファイル名拡張子を.wavから.bmpに切り替えるだけで、同じことが実現します。実際の変換は有用または必要ではありません...メタデータ(サウンドのサンプルレートなど、画像の長方形の寸法)を使用して小さなヘッダーを追加する場合を除きます。「テキスト」の場合、それも必要ありません。

于 2012-11-21T22:59:48.633 に答える