在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
今天小编要向大家推荐五款Python图像处理工具,分别是scikit-image、 Numpy、Scipy、 PIL/ Pillow和OpenCV-Python。并且还会介绍这五款工具的用法,有需求的小伙伴赶紧看下去吧!

1.scikit-image
scikit-image是一个开源的Python包,适用于numpy数组。它实现了用于研究,教育和工业应用的算法和实用工具。即使是那些刚接触Python生态系统的人,它也是一个相当简单直接的库。此代码是由活跃的志愿者社区编写的,具有高质量和同行评审的性质。
用法
该包作为skimage导入,大多数功能都在子模块中找的到。下面列举一些skimage的例子:
图像过滤
import matplotlib.pyplot as plt
%matplotlib inline
from skimage import data,filters
image = data.coins()
# ... or any other NumPy array!
edges = filters.sobel(image)
plt.imshow(edges, cmap='gray')
使用match_template函数进行模板匹配
2. Numpy
Numpy是Python编程的核心库之一,并为数组提供支持。图像本质上是包含数据点像素的标准Numpy数组。因此,我们可以通过使用基本的NumPy操作,例如切片、掩膜和花式索引,来修改图像的像素值。可以使用skimage加载图像并使用matplotlib显示图像。
用法
使用Numpy来掩膜图像.
import numpy as np
from skimage import data
import matplotlib.pyplot as plt
%matplotlib inline
image = data.camera()
type(image)
numpy.ndarray #Image is a numpy array
mask = image < 87
image[mask]=255
plt.imshow(image, cmap='gray')
3.Scipy
scipy是Python的另一个类似Numpy的核心科学模块,可用于基本的图像操作和处理任务。特别是子模块scipy.ndimage,提供了在n维NumPy数组上操作的函数。该包目前包括线性和非线性滤波,二值形态学,B样条插值和对象测量等功能函数。
用法
使用SciPy通过高斯滤波器进行模糊:
from scipy import misc,ndimage
face = misc.face()
blurred_face = ndimage.gaussian_filter(face, sigma=3)
very_blurred = ndimage.gaussian_filter(face, sigma=5)
#Results
plt.imshow(<image to be displayed>)
4. PIL/ Pillow
PIL( Python图像库 )是Python编程语言的一个免费库,它支持打开、操作和保存许多不同的文件格式的图像。然而, 随着2009年的最后一次发布,它的开发停滞不前。但幸运的是还有有Pillow,一个PIL积极开发的且更容易安装的分支,它能运行在所有主要的操作系统,并支持Python3。这个库包含了基本的图像处理功能,包括点运算、使用一组内置卷积核的滤波和色彩空间的转换。
用法
在 Pillow 中使用 ImageFilter 增强图像:
from PIL import Image, ImageFilter
#Read image
im = Image.open( 'image.jpg' )
#Display image
im.show()
from PIL import ImageEnhance
enh = ImageEnhance.Contrast(im)
enh.enhance(1.8).show("30% more contrast")
5. OpenCV-Python
OpenCV( 开源计算机视觉库 )是计算机视觉应用中应用最广泛的库之一 。OpenCV-Python 是OpenCV的python版API。OpenCV-Python的优点不只有高效,这源于它的内部组成是用C/C++编写的,而且它还容易编写和部署(因为前端是用Python包装的)。这使得它成为执行计算密集型计算机视觉程序的一个很好的选择。
以上就是推荐的五款Python图像处理工具及它们的用法介绍,希望能够帮到大家!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
网站数据分析报告分为几个部分?
网站数据分析报告分为几个部分?网站数据分析内容广泛由多部分组成。网站分析大致分为三个方面:网站的流量分析;网站的内容分析;网站的转化分析。网站的核心目标是ROI。完成KPI目标,首先有访客;其次,针对访问者的需求展示内容、商品和信息,并且让客户喜欢这些内容;最后,让访问者转化为客户,购买信息和商品。
7822
2019-09-09 15:54:29
Python可以干什么?Python胶水语言由来
Python是面向对象的编程语言,编译速度快,具有丰富和强大的库,被称为“胶水语言”,Python胶水语言由来,Python灵活运用能把用其他语言编写的各种模块联结在一起,擅于利用这些库就可以完成绝大部分工作。用Python从web开发到数据科学、机器学习等,Python在现实世界中的应用有无限可能。
8484
2019-09-29 10:47:44
Python爬虫一般用什么框架比较好?
Python爬虫一般用什么框架比较好?一般来讲,只有在遇到比较大型的需求时,才会使用Python爬虫框架。这样的做的主要目的,是为了方便管理以及扩展。本文将向大家推荐十个Python爬虫框架,它们分别是Scrapy、Crawley、Portia、newspaper、python-goose、Beautiful Soup、mechanize、selenium、cola和PySpider。
9183
2019-10-21 16:51:17
新冠肺炎数据可视化分析
数据可视化作为数据分析的重要手段,可以让我们更直观的了解数据,这也是为什么数据可视化大行其道的原因。相信大家现在一定十分好奇如何进行数据可视化分析,本文就来向大家介绍博学谷的免费课程《新型冠状肺炎数据可视化分析》,在该课程中会用高级讲师向大家层层解析利用Pandas对新冠肺炎进行数据可视化分析,下面一起来看看吧!
9348
2020-03-13 11:19:16
Python初学者为什么要选择Jupyter?
相信学习过编程的你,对于编译器肯定是不陌生的,一定使用过 Pycharm、VScode 等知名 IDE 工具,但今天本文要讲解的并不是这些,而是一款在 IT 界享誉盛名的神级 Web 编辑器——Jupyter,那么,Python初学者为什么要选择Jupyter呢?简单来讲,它不用安装,不用激活,功能强大,方便迭代更新!下面我们一起来了解一下Jupyter的起源、核心特点以及优势。
12486
2020-08-18 11:46:59
