image - 将二进制文件转换为图像

标签 image image-processing matrix binary wget

我需要找到一种将二进制文件转换为图像的快速方法。
二进制文件由一个 NNN 矩阵组成,我想将 0 与一种颜色相关联,将 1 与另一种颜色相关联。
我需要对 1000 多个二进制文件执行此操作。
如果可能的话,我想避免使用 MatLab,是否有任何工具/软件(适用于 unix)可以帮助我?

编辑:

This正是我要找的!
在页面底部,它说:“提示:要处理许多文件,请使用 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')

这可以根据需要轻松修改为循环和序列文件名等

关于image - 将二进制文件转换为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14092289/

相关文章:

java - 拖动图像

html - 图像 srcset 大小

linux - 找到 body 的肩颈点

java - 安卓位图曝光

matlab - 通过将子矩阵分布到三维来 reshape 矩阵

matlab - 用矩阵中的行索引替换非 NaN 值

c# - 使用C#从jsignature转换base30图像

c++ - 在多个框架上绘制矩形

algorithm - Modelica:将数组返回值分配给标量

javascript - 检测浏览器是否禁用图像