给出一个有点复杂的未知规范文件,其中包含一个未压缩的位图文件(.BMP),你将如何在Python中提取它?
扫描“BM”标记并查看以下字节是否“类似”BMP标题?
答案 0 :(得分:4)
我会使用Python Imaging Library PIL并对数据进行处理。如果它可以解析它,那么它是一个有效的图像。当它抛出异常时,则不是。
你需要搜索图像的开头;如果幸运的话,图像阅读器会在图像数据之后忽略垃圾。如果没有,请使用二进制搜索来定位图像的结尾。
答案 1 :(得分:4)
是的,您可以做的唯一事情是在文件中搜索“BM”标记,将以下数据提取到BITMAPFILEHEADER和相应的BITMAPINFO中,并查看其中的值是否有效(即尺寸合理,颜色深度合理等。)
找到合理的内容后,将数据拉出并传递给另一个答案中提到的库。