基于python脚本语开发的数字图像处理包有很多,常见的比如PIL、Pillow、opencv、scikit-image等。PIL和pillow只提供了基础的数字图像处理,功能有限;OpenCV实际上是一个C++库,提供了python接口,更新较慢;scikit-image是基于scipy的一款图像处理包,它将图片作为numpy数组进行处理。
一、SKimage
skimage包的全称是scikit-image SciKit (toolkit for SciPy) ,它对scipy.ndimage进行了扩展,提供了更多的图片处理功能。它是由python语言编写的,由scipy 社区开发和维护。skimage包由许多的子模块组成,各个子模块提供不同的功能。主要子模块如下所示:
io
读取、保存和显示图片或视频
data
提供测试图片或样本数据
color
颜色空间转换
filters
图像增强、边缘检测、排序滤波器、自动阈值
draw
操作于numpy数组上的基本图形绘制,包括线条、矩形、圆和文本等
transform
几何变换或其他变换,如旋转、拉伸等
morphology
形态学操作,如开闭运算,骨架提取等
exposure
图片强度调整,如亮度调整,直方图均衡等
feature
特征提取,检测,角点等特征
measure
图像属性的测量,如相似性或等高线等
segmentation
图像分割
restoration
图像恢复
util
通用函数
使用方法:https://www.jianshu.com/p/f2e88197e81d
二、PIL(Python Imaging Library )图像处理类库
PIL提供了通用的图像处理功能,以及大量有用的基本图像操作,比如图像缩放、裁剪、旋转、颜色转换等。常见的操作有图像格式转换,创建缩略图、图像区域的复制粘贴。
三、Matplotlib
Matplotlib具有强大的绘图功能。能够绘制图表,点、线,图像轮廓,直方图等,进行交互式标注。
四、Numpy
Numpy是有名的科学计算工具包。
https://www.jianshu.com/p/f2e88197e81d
五、opencv(BGR)
opencv是一个C++库,用于(实时)处理计算机视觉问题。