不是JPEG文件:以0x0a 0x4c错误开头

时间:2016-05-03 20:46:17

标签: image opencv jpeg

我试图导入一堆.jpeg文件格式的图像。 但是我收到了错误

Not a JPEG file: starts with 0x0a 0x4c

现在,我知道0x89 0x50是.png文件的起始方式。但我无法理解0x0a 0x4c代表什么。

我还在终端上运行了file image001.jpeg命令,它给了我

JPEG image data, JFIF standard 1.01

此外,当我导入这些图像组时,每次都会针对不同的文件抛出此错误,而不是相同的错误。所以,我想这不是文件被破坏的问题。

如果有帮助,则会生成图像文件并通过imwrite()的{​​{1}}功能保存在硬盘上。

由于

使用opencv,获得以下详细输出。

ImageMagick

2 个答案:

答案 0 :(得分:1)

JPEG流以SOI标记FF D8开头。随后是一个JFIF文件,带有APP0标记FF E0。

完全有可能您的数据中嵌入了有效的JPEG流,并且某些应用程序正在跳过非jpeg数据,直到它们到达SOI标记,而其他应用程序正在考虑无关数据。

答案 1 :(得分:0)

  

是否还有一个与OSX等效的ImageMagick?

这个问题是什么意思? Imagemagick不提供任何操作系统。但是有一个Imagemagick版本可以在Mac OSX上运行。 Imagemagick仅为El Capitan提供一个二进制版本。见http://www.imagemagick.org/script/binary-releases.php#macosx

但您可以从源安装或更好地从Homebrew安装IM 6或7或从Mac端口安装IM 7。我的方法是从MacPorts安装我的所有代表并从源代码安装Imagemagick。请参阅http://www.imagemagick.org/discourse-server/viewtopic.php?f=2&t=31844http://www.imagemagick.org/script/install-source.php#unix