㈠ python 图像处理 Pillow 库 基础篇
Python图像处理领域,Pillow库是不可或缺的工具,尤其在Python3中,最新版本为5.2.0。Pillow继承了Python2时期的Pil库,但两者之间主要的区别在于类的引用方式。务必注意,Pillow与Pil不兼容,若已安装Pil,需先卸载。
利用pip安装Pillow的过程相对简单,关键是通过Image.open()创建图像实例。这个过程可以处理多种情况,如从文件、文件对象、二进制流或tar文件读取图像。
图像实例的创建和操作功能丰富,如格式转换、缩略图制作、剪贴和粘贴操作,甚至可以分离和合并图像通道。此外,Pillow还支持几何变换,包括调整大小和旋转,以及颜色变换,包括模式转换。
增强图像效果方面,Pillow提供了滤镜和像素点处理功能,可以对图像进行局部处理。高级增强功能则通过ImageEnhance模块实现,如对比度、亮度、饱和度和清晰度的调整。对于动态图像,Pillow支持FLI/FLC、GIF等格式,可以处理序列帧,并支持Postscript打印和配置加载器以优化处理速度和输出质量。
总的来说,Pillow库为Python图像处理提供了强大且灵活的工具箱,无论是基础操作还是高级功能,都能满足你的需求。
㈡ python图像处理库 哪个好 知乎
1.scikit-image
scikit-image是一个开源的Python包,适用于numpy数组。它实现了用于研究,教育和工业应用的算法和实用工具。即使是那些刚接触Python生态系统的人,它也是一个相当简单直接的库。此代码是由活跃的志愿者社区编写的,具有高质量和同行评审的性质。
2.Numpy
Numpy是Python编程的核心库之一,并为数组提供支持。图像本质上是包含数据点像素的标准Numpy数组。因此,我们可以通过使用基本的NumPy操作,例如切片、掩膜和花式索引,来修改图像的像素值。可以使用skimage加载图像并使用matplotlib显示图像。
3.Scipy
scipy是Python的另一个类似Numpy的核心科学模块,可用于基本的图像操作和处理任务。特别是子模块scipy.ndimage,提供了在n维NumPy数组上操作的函数。该包目前包括线性和非线性滤波,二值形态学,B样条插值和对象测量等功能函数。
4. PIL/Pillow
PIL是Python编程语言的一个免费库,它支持打开、操作和保存许多不同的文件格式的图像。然而,随着2009年的最后一次发布,它的开发停滞不前。但幸运的是还有Pillow,一个PIL积极开发的且更容易安装的分支,它能运行在所有主要的操作系统,并支持Python3。这个库包含了基本的图像处理功能,包括点运算、使用一组内置卷积核的滤波和色彩空间的转换。
5.OpenCV-Python
OpenCV是计算机视觉应用中应用最广泛的库之一
。OpenCV-Python是OpenCV的python版API。OpenCV-Python的优点不只有高效,这源于它的内部组成是用C/C++编写的,而且它还容易编写和部署。这使得它成为执行计算密集型计算机视觉程序的一个很好的选择。
6.SimpleCV
SimpleCV也是一个用于构建计算机视觉应用程序的开源框架。有了它,你就可以访问几个高性能的计算机视觉库,如OpenCV,而且不需要先学习了解位深度、文件格式、颜色空间等。它的学习曲线大大小于OpenCV,正如它们的口号所说“计算机视觉变得简单”。
7.Mahotas
Mahotas是另一个计算机视觉和图像处理的Python库。它包括了传统的图像处理功能例如滤波和形态学操作以及更现代的计算机视觉功能用于特征计算,包括兴趣点检测和局部描述符。该接口是Python语言,适合于快速开发,但是算法是用C语言实现的,并根据速度进行了调优。Mahotas库速度快,代码简洁,甚至具有最小的依赖性。
8.SimpleITK
ITK或者Insight Segmentation and Registration
Toolkit是一个开源的跨平台系统,为开发人员提供了一套广泛的图像分析软件工具
。其中,SimpleITK是建立在ITK之上的简化层,旨在促进其在快速原型设计、教育、解释语言中的应用。SimpleITK是一个图像分析工具包,包含大量支持一般过滤操作、图像分割和匹配的组件。SimpleITK本身是用C++写的,但是对于包括Python以内的大部分编程语言都是可用的。
9.pgmagick
pgmagick是GraphicsMagick库的一个基于python的包装。GraphicsMagick图像处理系统有时被称为图像处理的瑞士军刀。它提供了一个具有强大且高效的工具和库集合,支持以88种主要格式读取、写入和操作图像。
10.Pycairo
Pycairo是图像处理库cairo的一组Python捆绑。Cairo是一个用于绘制矢量图形的2D图形库。矢量图形很有趣,因为它们在调整大小或转换时不会失去清晰度。Pycairo是cairo的一组绑定,可用于从Python调用cairo命令。
㈢ Python常用库(五):图像处理【Pillow】
Pillow 是一个强大的 Python 图像处理库,广泛用于多种图片格式的处理,包含 BMP、GIF、JPEG、PNG、TIFF 等。该库提供丰富的功能,如图片读取、显示、旋转、缩放、裁剪及转换。在深度学习领域中,它不可或缺。主要功能包含:
1. **图像基本操作**
- **读取图片**:使用 `Image.open()` 打开图片,可以查看属性。
- **另存图片**:保存图片,检查大小信息。
- **调整图片**:调整大小、旋转(逆时针)、翻转(上下、左右)。
- **编辑图片**:用 `resize()` 方法调整尺寸,参数为重采样滤波器,常用选项包括 'NEAREST', 'BILINEAR', 'BICUBIC', 'HAMMING', 'LANCZOS' 等。
- **裁剪图片**:通过 `crop()` 函数,元组中的四个数字分别对应裁剪区域的左上角 x 坐标、左上角 y 坐标、右下角 x 坐标、右下角 y 坐标。
2. **图像绘制**
- **绘制图形**:通过 `ImageDraw` 包使用 `draw.line()`, `draw.rectangle()` 等方法。
- **填充文字**:使用 `draw.text()` 为图片添加文本内容,参数详细说明见注释。
3. **图像滤镜**
- **增强**:调整亮度、对比度、饱和度等,使图片更清晰。
- **模糊**:使用滤镜使图片产生模糊效果。
- **轮廓和浮雕**:增添纹理,模拟立体效果。
了解并熟练使用 Pillow,能极大地提升图像处理的效率与质量。推荐关注作者微信公众号“猿码记”,获取更多技术教程与深度学习资源。
㈣ 基于python的遥感图像处理(2.1)--GDAL简介
GDAL,全称为Geospatial Data Abstraction Library,是一个开源的C/C++库,广泛应用于GIS和遥感软件中,包括商业软件如ArcGIS和ENVI,以及开源工具GRASS、QGIS等。它融合了OGR和GDAL项目,OGR专注于矢量数据的解析,GDAL则主要负责栅格数据的读写,同时依赖PROJ.4库处理空间参考和投影转换。
GDAL的核心功能包括支持栅格数据、矢量数据和空间网络数据的处理。它提供了Python、Java和C#等语言的接口,通过SWIG实现跨语言调用,开发者可以利用Python调用GDAL的API执行底层C/C++代码。此外,GDAL还提供了一系列实用工具,便于进行大规模的空间数据处理,如结合Shell脚本进行批处理。
从GDAL 2.x版本起,栅格和矢量数据的API接口设计趋于统一,对开发者更加友好。在GDAL中,栅格数据由GDALDataset抽象类表示,包含了波段、空间参考和元数据等信息,如GeoTIFF、DEM或土地利用图。例如,WGS1984坐标系下的UTM 50N投影的WKT定义为一个示例。
仿射变换在GDAL中用于连接栅格图像的像素坐标与地理坐标,通过GeoTransform数组计算实际地理坐标。而GDAL的矢量数据模型基于OGC Simple Features规范,包括图层、空间要素和几何体等概念。简单来说,一个GDAL数据集包含多个图层,每个图层又包含多个带有几何体和属性的要素。
以上内容主要来源于TheOneGIS的博客。