快速可视化大型二进制矩阵?

时间:2011-02-02 08:12:46

标签: matrix bitmap ascii plot gnuplot

我正在寻找一种简单的,特别是快速的可能性,将存储在文本文件中的二进制矩阵(仅包含0和1)转换为某种情节。黑白位图完全符合我的可视化目的。我尝试使用gnuplot,但我认为gnuplot第一次还不够,因为我有很多数据(至少几十个MiB),内存消耗和处理时间都很糟糕。

当搜索解决方案时,我主要发现与存储二进制(数据格式)的矩阵相关的东西以及读取二进制数据格式的可能性。 gnuplot的。

您知道有哪些程序可以将文本矩阵转换为位图快速吗?我甚至考虑编写一个小C程序,但由于我无法估计创建位图有多难,因为我从来没有完成图像处理之前使用现有工具会很好,如果可能的。

谢谢!

2 个答案:

答案 0 :(得分:7)

使用netpbm。 E.g:

$ cat | pnmtopng > circle.png
P1 
10 10
0001111000
0111111110
0111111110
1111111111
1111111111
1111111111
1111111111
0111111110
0111111110
0001111000
$ file circle.png 
circle.png: PNG image, 10 x 10, 1-bit grayscale, non-interlaced

以下是最终结果:enter image description here

答案 1 :(得分:0)

我使用的唯一通过C输出的图像是C JPG库,它可能适合您的需求,也可能不适合您。它不是世界上最快的东西,但它很容易使用,你可以在逻辑本身做一些快捷方式,使它更快。

我正在考虑的方式是迭代遍历矩阵并根据矩阵值输出黑色或白色像素;我完全不确定它是否比gnuplot更快或更有效。