1
232
我刚刚找到了那辆车 imghdr 单元来自python文档:
这就是它的工作原理:
使用模块比重新实现类似功能要好得多 |
2
51
verify 方法检查文件是否已损坏。
|
3
17
很多时候,前几个字符对于各种文件格式来说都是一个神奇的数字。除了上面的异常检查之外,您还可以检查这个。 |
4
17
除了
请注意,这只检查文件名是否具有有效的图像扩展名,实际上它不会打开图像以查看它是否是有效的图像,这就是为什么需要另外使用
|
5
8
使现代化 我还在Python脚本中实现了以下解决方案 here on GitHub 我还验证了受损文件(jpg)通常不是“损坏”的图像,即受损的图片文件有时仍然是合法的图片文件,原始图像丢失或更改,但您仍然能够加载它而没有错误。但是,文件截断总是会导致错误。
您可以使用Python 枕头 (PIL)模块,具有大多数图像格式,用于检查文件是否为有效且完整的图像文件。
在这种情况下,你的目标也是检测破碎的图像,@Nadia Alramli正确地建议
枕头 也能够检测这些类型的缺陷,但您必须应用图像处理或图像解码/重新编码或触发检查。最后,我建议使用以下代码:
如果出现图像缺陷,此代码将引发异常。 使用此代码,您将使用标准Pillow以大约10 MBytes/s的速度验证一组映像,或者使用Pillow SIMD模块(现代2.5Ghz x86_64 CPU)以大约40 MBytes/s的速度验证一组映像。 对于其他格式 屏蔽门 , Imagemagick 包装纸 ,代码如下:
但是,根据我的实验,魔杖并没有检测到被截短的图像,我认为它在没有提示的情况下将缺少的部分加载为灰色区域。 Imagemagick 有一个外部命令 那个 完成该任务,但我还没有找到一种以编程方式调用该函数的方法,而且我也没有测试此路由。 我建议始终进行初步检查,检查 文件大小 不为零(或非常小),是一个非常重要的问题 花钱少的
|
6
8
一种选择是使用
安装
文件类型<=1.0.6
|
7
7
在Linux上,您可以使用 python-magic 哪个使用 libmagic 识别文件格式。 好的,libmagic会查看文件并尝试告诉您更多关于它的信息,而不仅仅是格式,如位图尺寸、格式版本等。。所以你可能会认为这是对“有效性”的肤浅测试。 对于“valid”的其他定义,您可能必须编写自己的测试。 |
8
6
您可以使用Python绑定到libmagic, python-magic 然后检查mime类型。这不会告诉您文件是否损坏或完整,但它应该能够确定它是什么类型的图像。 |
9
-1
|
July · 如何定义数字间隔,然后四舍五入 1 年前 |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |