本篇内容介绍了“Python有哪些工具让图像简洁直观有魅力”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
缙云ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
1. scikit Image
scikit-image是Python的一个开源包,将图片作为numpy数组进行处理。它使算法和实用程序得以用于研究、教育和行业应用领域。即便是对不熟悉Python生态环境的人来说,这个库也十分简单明了。此代码由一个活跃的志愿者团队编写,质量很高且已经审阅。
用法:该包作为skimage导入,大多数功能都可在子模块找到。例如:
(1) 图像过滤
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')
(2) 使用match_template函数进行模板匹配
2. Numpy
Numpy是Python编程的一个核心库,为数组提供支持。图像本质上是包含数据像素点的标准Numpy数组。因此,通过使用基本的NumPy操作,例如切片、掩膜和匹配索引,可以修改图像的像素值。也可以用skimage加载图像,用matplotlib显示图像。
用处:使用Numpy来实现图像掩膜。
import numpy as npfrom skimage import dataimport matplotlib.pyplot as plt %matplotlib inline image = data.camera()type(image) numpy.ndarray #Image is a numpy array mask = image < 87image[mask]=255plt.imshow(image, cmap='gray')
3. Scipy
和Numpy一样,scipy是Python的另一个核心模块,可用于图像的基本处理和加工。 特别是子模块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) #Resultsplt.imshow()
4. PIL/ Pillow
PIL(Python图像处理库)是一个免费的Python编程语言库,支持打开、处理和保存多种格式的图像文件。但它的发展早已停滞不前,最新一次发布还是在2009年。所幸还有Pillow这个积极开发的PIL分支,而且它安装起来更容易,还可以在所有主操作系统上运行,并支持Python 3。该库包含点操作、使用一组内置卷积内核进行图像过滤以及颜色空间转换这些基本的图像处理功能。
用处:使用Pillow中的ImageFilter增强图像:
from PIL import Image, ImageFilter#Read imageim = Image.open( 'image.jpg' )#Display imageim.show() from PIL import ImageEnhanceImageEnhanceenh = ImageEnhance.Contrast(im)enh.enhance(1.8).show("30% more contrast")
5. OpenCV-Python
OpenCV(开源计算机视觉库)是计算机视觉应用中使用最为广泛的库之一。OpenCV-Python是OpenCV的python接口。OpenCV-Python不只是因为后台由用C / C ++编写的代码组成而速度快,还因为前端的Python包装器使得编码和部署容易。因此,它成为了计算密集型计算机视觉程序的绝佳选择。
utorials
用处:下图中,OpenCV-Python在图像融合中使用图像金字塔创建了一个名为‘Orapple’的新型水果。
6. SimpleCV
SimpleCV也是用于构建计算机视觉应用程序的一个开源框架。使用SimpleCV,可以不必事先了解位深、文件格式、色彩空间就能对几个高性能的计算机视觉库如OpenCV 进行访问。它的学习曲线比OpenCV小得多,正如其宣传语所说,“SimpleCV让计算机视觉变得容易”。SimpleCV的优势在于:
即使是初级程序员也可以编写简单的机器视觉测试
摄像头、视频文件、图像和视频流都可以互操作
用处:
7. Mahotas
Mahotas是Python中另一个计算机视觉和图像处理库,含有过滤和形态学操作这类的传统图像处理功能和兴趣点检测、局部描述符等用于特征计算的现代化计算机视觉功能。接口使用了Python,适合快速开发,但算法是由C ++实现的,并对速度进行了调整。Mahotas库因代码简单且依赖性最小而快速。
用处:Mahotas库靠简单的代码来完成工作。对于“寻找Wally”这一问题,Mahotas解决得很好,且代码最少。
8. SimpleITK
ITK或Insight Segmentation and Registration Toolkit是一个开源的跨平台系统,为开发人员提供了一整套用于图像分析的软件工具。其中,SimpleITK是一个建立在ITK之上的简化层,旨在方便它在快速成型、教育、解释语言中的应用。SimpleITK是一个具有大量组件的图像分析工具包,支持一般过滤操作、图像分割和图像配准。SimpleITK本身是用C ++编写的,但可用于包括Python在内的多种编程语言。
用处:以下动画是使用SimpleITK和Python可视化严格CT / MR定位过程。
9. pgmagick
Pgmagick是GraphicsMagick库基于Python的包装器。GraphicsMagick图像处理系统有时也被称为图像处理的瑞士军刀。它提供了强大高效的工具集和库集,这些集合支持读取、写入和操作的图像格式超过88种,其中包括DPX,GIF,JPEG,JPEG-2000,PNG,PDF,PNM和TIFF等重要格式。
用处:可使用pgmagick对图像进行的处理操作很有限,包括:
(1) 图像缩放:
(2) 边缘提取:
10. Pycairo
Pycairo是一组用于图形库cairo的python包。Cairo是一个用于绘制矢量图形的2D图形库。矢量图形很有趣,在调整大小或变换时它们的清晰度不会受到影响。Pycairo可从Python中调用cairo命令用于cairo。
用处:Pycairo可用于绘制线条、绘制基本形状和径向渐变:
“Python有哪些工具让图像简洁直观有魅力”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
当前名称:Python有哪些工具让图像简洁直观有魅力
文章起源:http://scyingshan.cn/article/gcidhp.html