是否有程序来分析Linux的文件,特别是图像文件,它的功能类似于十六进制编辑器,它将显示在绘制图像的某些区域之后发生了哪些字节的变化等等。
发布于 2014-09-14 00:25:26
有各种命令行程序,如xxd或hexdump,它们将向终端输出文件的十六进制内容。您可以使用vim编辑十六进制文件。见这个答案。
你真的想这么做吗?你说你特别想分析图像文件。为此,最好使用编程语言。
使用编程语言
图像只是一个数字矩阵。例如,RGB映像可以表示为3个矩阵,其中包含0到255之间的值。5x5像素纯红色图像如下所示:
矩阵1(红平面):
255 255 255 255 255
255 255 255 255 255
255 255 255 255 255
255 255 255 255 255
255 255 255 255 255矩阵2(绿色平面):
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0矩阵3(蓝色平面):
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0为了以这种方式分析图像,已经创建了各种工具。在图像处理领域,这些工具是相当标准的:
它们既具有交互性,又非常容易使用。例如,MATLAB为您提供了一个>>提示,您可以在其中输入命令。没有必要进行汇编。
要读取图像:
>> im = imread('Penguins.jpg');从图像中提取红色平面:
>> red = im(:,:,1);这使用:操作符从图像的第一个z平面(红色平面)提取所有x坐标和所有y坐标。
要查看红色平面的最初5x5像素,请执行以下操作:
>> red(1:5, 1:5)
ans =
116 118 118 120 118
116 116 117 118 116
118 117 117 118 118
117 117 118 118 118
119 118 117 118 118我不会发布Python示例,但是这样做也很容易。
https://unix.stackexchange.com/questions/155425
复制相似问题