① 怎么用python显示一张图片
用python显示一张图片方法如下:
import matplotlib.pyplot as plt # plt 用于显示图片
import matplotlib.image as mpimg # mpimg 用于读取图片
import numpy as nplena = mpimg.imread('lena.png') # 读取和代码处于同一目录下的 lena.png# 此时 lena 就已经是一个 np.array 了,可以对它进行任意处理
lena.shape #(512, 512, 3)plt.imshow(lena) # 显示图片plt.axis('off') # 不显示坐标轴
plt.show()
② python数据分析用什么软件
Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性,这里就为大家分享几个不错的数据分析工具。Python数据分析需要安装的第三方扩展库有:Numpy、Pandas、SciPy、Matplotpb、Scikit-Learn、Keras、Gensim、Scrapy等,以下是第三方扩展库的简要介绍:(推荐学习:Python视频教程)
1. Pandas
Pandas是Python强大、灵活的数据分析和探索工具,包含Series、DataFrame等高级数据结构和工具,安装Pandas可使Python中处理数据非常快速和简单。
Pandas是Python的一个数据分析包,Pandas最初被用作金融数据分析工具而开发出来,因此Pandas为时间序列分析提供了很好的支持。
Pandas是为了解决数据分析任务而创建的,Pandas纳入了大量的库和一些标准的数据模型,提供了高效的操作大型数据集所需要的工具。Pandas提供了大量是我们快速便捷的处理数据的函数和方法。Pandas包含了高级数据结构,以及让数据分析变得快速、简单的工具。它建立在Numpy之上,使得Numpy应用变得简单。
带有坐标轴的数据结构,支持自动或明确的数据对齐。这能防止由于数据结构没有对齐,以及处理不同来源、采用不同索引的数据而产生的常见错误。
使用Pandas更容易处理丢失数据。合并流行数据库(如:基于SQL的数据库)Pandas是进行数据清晰/整理的最好工具。
2. Numpy
Python没有提供数组功能,Numpy可以提供数组支持以及相应的高效处理函数,是Python数据分析的基础,也是SciPy、Pandas等数据处理和科学计算库最基本的函数功能库,且其数据类型对Python数据分析十分有用。
Numpy提供了两种基本的对象:ndarray和ufunc。ndarray是存储单一数据类型的多维数组,而ufunc是能够对数组进行处理的函数。Numpy的功能:
N维数组,一种快速、高效使用内存的多维数组,他提供矢量化数学运算。可以不需要使用循环,就能对整个数组内的数据进行标准数学运算。非常便于传送数据到用低级语言编写(CC++)的外部库,也便于外部库以Numpy数组形式返回数据。
Numpy不提供高级数据分析功能,但可以更加深刻的理解Numpy数组和面向数组的计算。
3. Matplotpb
Matplotpb是强大的数据可视化工具和作图库,是主要用于绘制数据图表的Python库,提供了绘制各类可视化图形的命令字库、简单的接口,可以方便用户轻松掌握图形的格式,绘制各类可视化图形。
Matplotpb是Python的一个可视化模块,他能方便的只做线条图、饼图、柱状图以及其他专业图形。 使用Matplotpb,可以定制所做图表的任一方面。他支持所有操作系统下不同的GUI后端,并且可以将图形输出为常见的矢量图和图形测试,如PDF SVG JPG PNG BMP GIF.通过数据绘图,我们可以将枯燥的数字转化成人们容易接收的图表。 Matplotpb是基于Numpy的一套Python包,这个包提供了吩咐的数据绘图工具,主要用于绘制一些统计图形。 Matplotpb有一套允许定制各种属性的默认设置,可以控制Matplotpb中的每一个默认属性:图像大小、每英寸点数、线宽、色彩和样式、子图、坐标轴、网个属性、文字和文字属性。
4. SciPy
SciPy是一组专门解决科学计算中各种标准问题域的包的集合,包含的功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算等,这些对数据分析和挖掘十分有用。
Scipy是一款方便、易于使用、专门为科学和工程设计的Python包,它包括统计、优化、整合、线性代数模块、傅里叶变换、信号和图像处理、常微分方程求解器等。Scipy依赖于Numpy,并提供许多对用户友好的和有效的数值例程,如数值积分和优化。
Python有着像Matlab一样强大的数值计算工具包Numpy;有着绘图工具包Matplotpb;有着科学计算工具包Scipy。 Python能直接处理数据,而Pandas几乎可以像SQL那样对数据进行控制。Matplotpb能够对数据和记过进行可视化,快速理解数据。Scikit-Learn提供了机器学习算法的支持,Theano提供了升读学习框架(还可以使用CPU加速)。
5. Keras
Keras是深度学习库,人工神经网络和深度学习模型,基于Theano之上,依赖于Numpy和Scipy,利用它可以搭建普通的神经网络和各种深度学习模型,如语言处理、图像识别、自编码器、循环神经网络、递归审计网络、卷积神经网络等。
6. Scikit-Learn
Scikit-Learn是Python常用的机器学习工具包,提供了完善的机器学习工具箱,支持数据预处理、分类、回归、聚类、预测和模型分析等强大机器学习库,其依赖于Numpy、Scipy和Matplotpb等。
Scikit-Learn是基于Python机器学习的模块,基于BSD开源许可证。 Scikit-Learn的安装需要Numpy S Matplotpb等模块,Scikit-Learn的主要功能分为六个部分,分类、回归、聚类、数据降维、模型选择、数据预处理。
Scikit-Learn自带一些经典的数据集,比如用于分类的iris和digits数据集,还有用于回归分析的boston house prices数据集。该数据集是一种字典结构,数据存储在.data成员中,输出标签存储在.target成员中。Scikit-Learn建立在Scipy之上,提供了一套常用的机器学习算法,通过一个统一的接口来使用,Scikit-Learn有助于在数据集上实现流行的算法。 Scikit-Learn还有一些库,比如:用于自然语言处理的Nltk、用于网站数据抓取的Scrappy、用于网络挖掘的Pattern、用于深度学习的Theano等。
7. Scrapy
Scrapy是专门为爬虫而生的工具,具有URL读取、HTML解析、存储数据等功能,可以使用Twisted异步网络库来处理网络通讯,架构清晰,且包含了各种中间件接口,可以灵活的完成各种需求。
8. Gensim
Gensim是用来做文本主题模型的库,常用于处理语言方面的任务,支持TF-IDF、LSA、LDA和Word2Vec在内的多种主题模型算法,支持流式训练,并提供了诸如相似度计算、信息检索等一些常用任务的API接口。
更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于python数据分析用什么软件的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
③ 怎么用python进行简单的图像处理
所谓简单的图像处理,就是对像素数据进行点处理。
下面是具体步骤。
读取图片:
# -*- coding: utf-8 -*-
import cv2
import numpy as np
img = cv2.imread("C:/Users/Administrator/Desktop/ball.png")
cv2.imshow("a",img)
cv2.waitKey(0)
cv2.imshow("a",img)
打开一个图片窗口。
python读取图片,实际上是读取了离散的图片数据:
print(img)
运行,就会给出图片数据。
显示反色图片,只要进行简单的计算:
255-img
这是2*img的效果。
分离通道,图片的第一个通道是:
img[:,:,0]
成图是灰度图。
第二个通道的灰度图:
img[:,:,1]
第三个通道的灰度图:
img[:,:,2]
④ 如何在python界面显示图片
wxpython:
# 使用wx.Image得到对象
bmp = wx.Image('bitmaps/image.bmp', wx.BITMAP_TYPE_BMP).ConvertToBitmap()
gif = wx.Image('bitmaps/image.gif', wx.BITMAP_TYPE_GIF).ConvertToBitmap()
png = wx.Image('bitmaps/image.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap()
jpg = wx.Image('bitmaps/image.jpg', wx.BITMAP_TYPE_JPEG).ConvertToBitmap()
# 把它们显示出来
pos = 10
wx.StaticBitmap(frame, -1, bmp, (10, pos), (bmp.GetWidth(), bmp.GetHeight()))
pos = pos + bmp.GetHeight() + 10
wx.StaticBitmap(frame, -1, gif, (10, pos), (gif.GetWidth(), gif.GetHeight()))
pos = pos + gif.GetHeight() + 10
wx.StaticBitmap(panel, -1, png, (10, pos), (png.GetWidth(), png.GetHeight()))
pos = pos + png.GetHeight() + 10
wx.StaticBitmap(frame, -1, jpg, (10, pos), (jpg.GetWidth(), jpg.GetHeight()))
具体的请根据你的实际情况修改,最好去http://www.wxpython.org/download.php#binaries
下载wxpython和wxpython demo看看,这个demo很强大的。
⑤ 10 个 Python 图像编辑工具
以下提到的这些 Python 工具在编辑图像、操作图像底层数据方面都提供了简单直接的方法。
-- Parul Pandey
当今的世界充满了数据,而图像数据就是其中很重要的一部分。但只有经过处理和分析,提高图像的质量,从中提取出有效地信息,才能利用到这些图像数据。
常见的图像处理操作包括显示图像,基本的图像操作,如裁剪、翻转、旋转;图像的分割、分类、特征提取;图像恢复;以及图像识别等等。Python 作为一种日益风靡的科学编程语言,是这些图像处理操作的最佳选择。同时,在 Python 生态当中也有很多可以免费使用的优秀的图像处理工具。
下文将介绍 10 个可以用于图像处理任务的 Python 库,它们在编辑图像、查看图像底层数据方面都提供了简单直接的方法。
scikit-image 是一个结合 NumPy 数组使用的开源 Python 工具,它实现了可用于研究、教育、工业应用的算法和应用程序。即使是对于刚刚接触 Python 生态圈的新手来说,它也是一个在使用上足够简单的库。同时它的代码质量也很高,因为它是由一个活跃的志愿者社区开发的,并且通过了 同行评审(peer review)。
scikit-image 的 文档 非常完善,其中包含了丰富的用例。
可以通过导入 skimage 使用,大部分的功能都可以在它的子模块中找到。
图像滤波(image filtering):
使用 match_template() 方法实现 模板匹配(template matching):
在 展示页面 可以看到更多相关的例子。
NumPy 提供了对数组的支持,是 Python 编程的一个核心库。图像的本质其实也是一个包含像素数据点的标准 NumPy 数组,因此可以通过一些基本的 NumPy 操作(例如切片、 掩膜(mask)、 花式索引(fancy indexing)等),就可以从像素级别对图像进行编辑。通过 NumPy 数组存储的图像也可以被 skimage 加载并使用 matplotlib 显示。
在 NumPy 的 官方文档 中提供了完整的代码文档和资源列表。
使用 NumPy 对图像进行 掩膜(mask)操作:
像 NumPy 一样, SciPy 是 Python 的一个核心科学计算模块,也可以用于图像的基本操作和处理。尤其是 SciPy v1.1.0 中的 scipy.ndimage 子模块,它提供了在 n 维 NumPy 数组上的运行的函数。SciPy 目前还提供了 线性和非线性滤波(linear and non-linear filtering)、 二值形态学(binary morphology)、 B 样条插值(B-spline interpolation)、 对象测量(object measurements)等方面的函数。
在 官方文档 中可以查阅到 scipy.ndimage 的完整函数列表。
使用 SciPy 的 高斯滤波 对图像进行模糊处理:
PIL (Python Imaging Library) 是一个免费 Python 编程库,它提供了对多种格式图像文件的打开、编辑、保存的支持。但在 2009 年之后 PIL 就停止发布新版本了。幸运的是,还有一个 PIL 的积极开发的分支 Pillow ,它的安装过程比 PIL 更加简单,支持大部分主流的操作系统,并且还支持 Python 3。Pillow 包含了图像的基础处理功能,包括像素点操作、使用内置卷积内核进行滤波、颜色空间转换等等。
Pillow 的 官方文档 提供了 Pillow 的安装说明自己代码库中每一个模块的示例。
使用 Pillow 中的 ImageFilter 模块实现图像增强:
OpenCV(Open Source Computer Vision 库)是计算机视觉领域最广泛使用的库之一, OpenCV-Python 则是 OpenCV 的 Python API。OpenCV-Python 的运行速度很快,这归功于它使用 C/C++ 编写的后台代码,同时由于它使用了 Python 进行封装,因此调用和部署的难度也不大。这些优点让 OpenCV-Python 成为了计算密集型计算机视觉应用程序的一个不错的选择。
入门之前最好先阅读 OpenCV2-Python-Guide 这份文档。
使用 OpenCV-Python 中的 金字塔融合(Pyramid Blending)将苹果和橘子融合到一起:
SimpleCV 是一个开源的计算机视觉框架。它支持包括 OpenCV 在内的一些高性能计算机视觉库,同时不需要去了解 位深度(bit depth)、文件格式、 色彩空间(color space)之类的概念,因此 SimpleCV 的学习曲线要比 OpenCV 平缓得多,正如它的口号所说,“将计算机视觉变得更简单”。SimpleCV 的优点还有:
官方文档 简单易懂,同时也附有大量的学习用例。
文档 包含了安装介绍、示例以及一些 Mahotas 的入门教程。
Mahotas 力求使用少量的代码来实现功能。例如这个 Finding Wally 游戏 :
ITK (Insight Segmentation and Registration Toolkit)是一个为开发者提供普适性图像分析功能的开源、跨平台工具套件, SimpleITK 则是基于 ITK 构建出来的一个简化层,旨在促进 ITK 在快速原型设计、教育、解释语言中的应用。SimpleITK 作为一个图像分析工具包,它也带有 大量的组件 ,可以支持常规的滤波、图像分割、 图像配准(registration)功能。尽管 SimpleITK 使用 C++ 编写,但它也支持包括 Python 在内的大部分编程语言。
有很多 Jupyter Notebooks 用例可以展示 SimpleITK 在教育和科研领域中的应用,通过这些用例可以看到如何使用 Python 和 R 利用 SimpleITK 来实现交互式图像分析。
使用 Python + SimpleITK 实现的 CT/MR 图像配准过程:
pgmagick 是使用 Python 封装的 GraphicsMagick 库。 GraphicsMagick 通常被认为是图像处理界的瑞士军刀,因为它强大而又高效的工具包支持对多达 88 种主流格式图像文件的读写操作,包括 DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM、TIFF 等等。
pgmagick 的 GitHub 仓库 中有相关的安装说明、依赖列表,以及详细的 使用指引 。
图像缩放:
边缘提取:
Cairo 是一个用于绘制矢量图的二维图形库,而 Pycairo 是用于 Cairo 的一组 Python 绑定。矢量图的优点在于做大小缩放的过程中不会丢失图像的清晰度。使用 Pycairo 可以在 Python 中调用 Cairo 的相关命令。
Pycairo 的 GitHub 仓库 提供了关于安装和使用的详细说明,以及一份简要介绍 Pycairo 的 入门指南 。
使用 Pycairo 绘制线段、基本图形、 径向渐变(radial gradients):
以上就是 Python 中的一些有用的图像处理库,无论你有没有听说过、有没有使用过,都值得试用一下并了解它们。
via: https://opensource.com/article/19/3/python-image-manipulation-tools
作者: Parul Pandey 选题: lujun9972 译者: HankChow 校对: wxy