好的。長話短說。一旦我可以將該字符串保存爲圖像,其他時間我可以'
我的相機具有拍攝照片的方法,這就是它返回:
[160, 120, 3, 10, 1287848024, 96181, 'super long image string']
我能夠解碼字符串,並將其保存爲圖像之後我把這樣的方法:
for i in range(0, 10):
image = camProxy.getImageRemote(nameId)
imageWidth = image[0]
imageHeight = image[1]
imageByteArray = image[6]
im = Image.fromstring("YCbCr",(imageWidth,imageHeight),imageByteArray)
fileName = str(time.time())+".jpg"
im.save(fileName, "JPEG")
這很好用,我可以打開保存的圖像。
但是,如果我只是保存字符串轉換成txt文件,後來我想加載它,並保存爲圖像像這樣:
f = open("rawImage.txt", "r")
data = f.readline()
f.close()
# save as image
im = Image.frombuffer("YCbCr",(160,120),data)
im.save("test.jpg", "JPEG")
我得到的是幾乎完全綠色形象。
下面是一個例子的字符串,我保持具有問題:
http://richardknop.com/rawImage.txt
這裏是照相機的getImageRemote()方法用於該圖像的一個完整的輸出:
http://richardknop.com/log.txt
任何人有想法可能是錯的?這是與編碼有關的問題嗎?所有的文件保存爲ASCII,但我已經嘗試將它們全部保存爲UTF-8。
編輯:
我如何將圖像寫入文件?我只是重定向腳本的輸出:
python script.py > output.txt
而在腳本我有:
print imageByteArray
你爲什麼不乾脆將圖像保存爲,而不是二進制數據? – bzlm 2010-10-25 18:28:43
你在哪裏使用我的塊? – 2010-10-25 18:39:30
您能否詳細說明如何將圖像保存到文本文件?如果您尚未這樣做,則可能需要base64對數據進行編碼,然後再將其寫入文本。 – vezult 2010-10-25 18:47:31