python开发_imghdr_图像格式支持

在python中,imghdr模块对图像格式提供了支持

该模块主要是处理识别图像的格式

imghdr模块提供的函数如下:

1 imghdr.what(filename, h=None) 
2        Tests the image data contained in the file named by filename, and returns a string describing the image type. If optional h is provided, t         he filename is ignored and h is assumed to contain the byte stream to test.
1 imghdr.tests 
2       A list of functions performing the individual tests. Each function takes two arguments: the byte-stream and an open file-like object. When         what() is called with a byte-stream, the file-like object will be None.
3 
4       The test function should return a string describing the image type if the test succeeded, or None if it failed.

以下的图像格式可以被识别:

Value

Image format

'rgb'

SGI ImgLib Files

'gif'

GIF 87a and 89a Files

'pbm'

Portable Bitmap Files

'pgm'

Portable Graymap Files

'ppm'

Portable Pixmap Files

'tiff'

TIFF Files

'rast'

Sun Raster Files

'xbm'

X Bitmap Files

'jpeg'

JPEG data in JFIF or Exif formats

'bmp'

BMP files

'png'

Portable Network Graphics

=====================================================

以下是我做的demo:

=====================================================

 1 #python imghdr
 2 
 3 #Author   :   Hongten
 4 #Mailto   :   hongtenzone@foxmail.com
 5 #Blog     :   http://www.cnblogs.com/hongten
 6 #QQ       :   648719819
 7 #Version  :   1.0
 8 #Create   :   2013-09-09
 9 
10 import os
11 import imghdr
12 
13 #global var
14 #image path
15 IMG_PATH = None
16 
17 __author__ = ['Hongten']
18 
19 def get_ext(path):
20     '''return a string describing the image type.'''
21     if os.path.exists(path):
22         return imghdr.what(path)
23     else:
24         print('the path [{}] dose not exit!'.format(path))
25 
26 def init():
27     global IMG_PATH
28     IMG_PATH = 'C:\\test\\hongten.jpg'
29 
30 def main():
31     init()
32     img_ext = get_ext(IMG_PATH)
33     print('the image : [{}],and the type is :[{}]'.format(IMG_PATH, img_ext))
34 
35 if __name__ == '__main__':
36     main()

运行效果:

the image : [C:\test\hongten.jpg],and the type is :[jpeg]

更多参考:

http://blog.sina.com.cn/s/blog_a04184c101010kt2.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xdecode

Java调用PDFBox打印自定义纸张PDF

打印对象 一份设置为A3纸张, 页面边距为(10, 10, 10, 10)mm的PDF文件. ? PageFormat  默认PDFPrintable无法设置页...

4785
来自专栏IT派

开源|人脸检测的C / C ++源代

人脸检测的C/C++源代码,曾发表于 OPENCV 的 MAILING LIST,主要是对OPENCV 3.1 版本发布的代码做了一些速度上的优化,并且解决了内...

3875
来自专栏施炯的IoT开发专栏

Kinect for Windows SDK V1.7 发布

2013 年 3 月 18 日,微软对Kinect更新了SDK,目前的版本号已经到了1.7。 最新的SDK可以到开发者下载页面下载:Kinect Develop...

2098
来自专栏CreateAMind

Caption Generation 比google的方法更快(6 hours v.s. several weeks)

You can use the code in this repo to genearte a MSCOCO evaluation server submiss...

1225
来自专栏hbbliyong

WPF TreeView SelectedItemChanged called twice

How to avoid WPF TreeView SelectedItemChanged being called twice Very often, we...

1002
来自专栏Kubernetes

runC源码分析——cgroup

runC项目中,与cgroups相关的代码,都在目录 runc/libcontainer/cgroups/下,下面是其源码目录结构分析: ? 我们关注的主要内...

4396
来自专栏ACM小冰成长之路

51Nod-1868-彩色树

ACM模版 描述 ? 题解 树型DP,先上官方题解: ? 官方题解说的十分清楚,和我的代码思路也恰好吻合,大体上是针对每种颜色求出不包括该种颜色的路径的点对儿数...

2327
来自专栏张善友的专栏

Prism Training Kit 4.0

上周刚刚发布的支持Windows Phone 7的Prism 4.0最终版,Damian, Diego, Guido 和Ezequiel更新了Prism Tra...

18810
来自专栏蓝天

brk/sbrk和mmap行为分析

1122
来自专栏张善友的专栏

Visual Studio 2010的并行调试支持

Visual Studio 2010大幅度的提升了并行调试的用户体验。Visual Stuido 2010的并行调试非常简单,,它提供了两个新的调试工具窗口,以...

1969

扫码关注云+社区

领取腾讯云代金券