【Tool】Python常用图像库总结

2018-12-05  本文已影响0人  ItchyHiker

Python 里面有很多常用图像库,入opencv, PIL/Pillow, scikit-image, imageio, scipy.ndimage。这里总结下每个库的特点,以便在合适的时候选择合适的工具。

opencv

如果你是从c++的Opencv转过来的,那么在python 里面也可以使用opencv库,有一点限制就是一些不常见的功能,并没有集成到python里面,但是还是功能很全。如果只能掌握一个图像库,我的首选就是opencv, 当我需要遍历文件夹的图片的时候,发现C++ 的opencv 有类似 python glob函数,我就爱上它了。而且opencv c++库最近发布了4.0和深度学习结合更加紧密了,有兴趣可以关注下。

PIL

PIL的模块比较多,我一般用的多的就是Image模块,需要注意的是,Image模块读进来的图像是一个对象,不像其他函数一样是numpy array,需要使用numpy处理的话还需要进行一下转换。


PIL.png

scikit-image

scikit-image 是一个专注于图像处理的库,初步看功能也是比较强大。


skimage.png

imageio

imageio是一个专注于图像读取的库,支持的格式很多,接口数很少,很容易掌握。
正如官网所显示的,一共只需要掌握8个函数。

imageio.png
使用 imageio 库读取进来就是numpy格式的。一般我们只需要掌握imread, imwrite两个函数,而且scipy.misc中的imread imsave也不建议使用了,而是推荐使用imageio中的对应函数。
这里贴一下imageio的API:https://imageio.readthedocs.io/en/latest/userapi.html
使用的时候直接去查看就可以了。

scipy.ndimage

ndimage是 scipy中的一个子模块, 有常见的卷积,滤波,傅立叶变换,插值,形态学变换的函数等。

Reference

  1. PIL: https://pillow.readthedocs.io/en/5.3.x/
  2. ndimage: https://docs.scipy.org/doc/scipy-0.19.0/reference/ndimage.html
  3. scikit-image: http://scikit-image.org/docs/stable/api/api.html
上一篇下一篇

猜你喜欢

热点阅读