计算源文件中图像的高度和宽度

时间:2012-11-21 13:14:43

标签: image-processing erlang

我需要从实际图像文件中计算图像的宽度和高度,所以我正在用打开的文件读取图像。所以我有一堆字符和数字以及一切似乎毫无意义的东西,他们可能会提供rgb信息。 我只想用原始文件信息计算图像的大小 我使用Erlang语言进行编程,但只要我们不使用内置库,任何语言的代码都会有用,因为我们正在使用原始文件。

提前感谢大家的帮助

4 个答案:

答案 0 :(得分:3)

我通过详细了解每种格式找到答案, 所以它就像这样

JPG:你可以在字节“255,192,0,17,8”之后找到宽度和高度之后的大小信息

PNG:您可以在“IHDR”之后找到它

GIF:您可以在“GIF89a”之后找到它

有更多信息,但这是互联网上最常见的图像类型

谢谢大家的时间

答案 1 :(得分:0)

我假设你说“原始”意味着你只有像素值 在这种情况下,并不总是有办法知道宽度和高度。

假设您阅读了400像素。在这种情况下,有效图像侧可以是400的任何完全因式分解,例如, 1x400,2x200,4x100,8x50,20x20等也可换位。

更不用说许多图像格式包含一些不是4,8或16倍的像素行的填充......

答案 2 :(得分:0)

它在图像文件中的编码方式取决于图像类型,希望也可以在图像文件中编码。您可以查看问题Getting Image size of JPEG from its binary以获取JPEG编码的示例。

答案 3 :(得分:0)

如果您的数据未知,请使用Octave并加载图像。然后看看这个页面:

http://www.gnu.org/software/octave/doc/interpreter/Displaying-Images.html

用于显示图像的命令。希望通过一些操作它会起作用。这适用于原始图像,但有特定的解码器。一旦了解了图像的样子,就可以编写等效的C代码。