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 回答