【发布时间】:2018-12-21 06:23:58
【问题描述】:
我有一个包含 240x320 图像的文件,但它的字节格式是我在十六进制编辑器中打开它并得到类似于 16 列 4800 原始数组的东西。
我对此完全陌生,这就是为什么我遇到麻烦我曾尝试使用 python 脚本,但它在第 17 行出现错误,在 data = columnvector[0][i]:
IndexError: 列表索引超出范围。
我尝试了一个 java 代码,但这也是一个错误,我想尝试一些 c# 代码,但我找到的代码都没有解释如何将我的文件提供给代码。这是python代码
import csv
import sys
import binascii
csv.field_size_limit(500 * 1024 * 1024)
columnvector = []
with open('T1.csv', 'r') as csvfile:
csvreader = csv.reader(csvfile,delimiter=' ', quotechar='|')
for row in csvreader:
columnvector.append(row)
headers =['42','4D','36','84','03','00','00','00','00','00','36','00','00','00','28','00','00','00',
'40','01','00','00','F0','00','00','00','01','00','18','00','00','00','00','00','00','84','03','00','C5','00',
'00','00','C5','00','00','00','00','00','00','00','00','00','00','00']
hexArray=[]
for i in range(0,76800):
data = columnvector[0][i]
hexArray.extend([data,data,data])
with open('T1.txt', 'wb') as f:
f.write(binascii.unhexlify(''.join(headers)))
f.write(binascii.unhexlify(''.join(hexArray)))
我想使用任何方法将文件转换为图像,我真的不在乎使用什么方法,只要它能完成工作。
【问题讨论】:
-
请分享文件!
-
是的,很抱歉我现在添加了它
-
很抱歉,这些文件看起来都不像合理的图像......它们具有正确的大小,适合每像素 8 位的灰度 320x240 图像,但没有任何可识别形状的相似之处或将对象制作成 JPEG 或 PNG。
-
图像 T5 似乎比其他所有图像都亮得多...
-
hkalasua.wordpress.com/2017/09/11/ov7670-arduino-sd 这是我遵循的指南,但不同之处在于他的脚本需要一个包含 76800 列的文件,我找不到任何可以做到这一点的十六进制编辑器