我需要找到一种将二进制文件转换为图像的快速方法。
二进制文件由 N 个NN 矩阵,我想将 0 与一种颜色关联,将 1 与另一种颜色关联。
我需要对超过 1000 个二进制文件执行此操作。
如果可能的话,我想避免使用 MatLab,有没有任何工具/软件(适用于 unix)可以帮助我?
EDIT:
This http://www.ryanwestafer.com/stuff/bin2img.php这正是我一直在寻找的!
页面底部显示:“提示:要处理多个文件,请使用 shell 脚本将此 URL 和所需参数传递给 wget,然后将输出定向到文件”
然而我却做不到这一点。
我尝试过:
wget --post-data="blocksize=10&width=10&offset=0&markval=-1&autoscale=0" \
--post-file="userfile=/path.../filename" http://www.ryanwestafer.com/stuff/bin2img.php \
> output
但我得到的只是下载到本地文件夹中的原始页面!
如果您有安装了 PIL(图像)库的 python:
import Image
def colormap(s):
s_out = []
for ch in s: # assume always '\x00' or '\x01'
if s == '\x00':
s_out.append('\x00') # black
else:
s_out.append('\xFF') # white
return ''.join(s_out)
N= 50 # for instance
fin = open('myfile.bin','rb')
data = fin.read(N*N) # read NxN bytes
data = colormap(data)
# convert string to grayscale image
img = Image.fromstring('L', (N,N), data )
# save to file
img.save('thisfile.png')
data = fin.read(N*N) # next NxN bytes
data = colormap(data)
img = Image.fromstring('L', (N,N), data )
img.save('thisfile2.png')
这可以根据需要轻松修改为循环和序列文件名等
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)