使用python+numpy+scipy进行图像处理实战
以前照相没有像现在这样那么容易的,而在现在你只需要一部手机,就可以免费拍照,而在上一代人之前,业余艺术家和真正的艺术家拍照的费用非常昂贵,并且每张照片的成本也不是免费的。
我们拍照是为了及时地保存美好的瞬间,被保存的记忆可以随时在未来被"打开"。这个过程就像腌制东西一样,所以我们要注意正确的防腐剂。虽然现在手机为我们提供了一系列的图像处理软件,但是如果我们需要处理大量的照片时,我们就需要其他的工具了,此时编程和Python就派上用场了。Python及其模块如Numpy、Scipy、Matplotlib和其他特殊模块提供了各种各样的函数,能够处理大量图片。为了向你介绍必要的知识,本文Python教程将教你如何进行基本的图像处理和操作,为此我们使用模块NumPy、Matplotlib和SciPy。我们从scipy包的misc工具开始。# 以下行仅在Python notebook中需要加上:
%matplotlib inline
from scipy import misc
ascent = misc.ascent()
import matplotlib.pyplot as plt
plt.gray()
plt.imshow(ascent)
plt.show()
除了显示图像之外,我们还可以看到带有刻度的轴。如果你需要一些关于大小和像素位置的方向时,这是很有用的,但在大多数情况下,你并不需要这些信息,则我们可以通过添加命令plt.axis("off")来去掉刻度和轴:from scipy import misc
ascent = misc.ascent()
import matplotlib.pyplot as plt
plt.axis("off") # 删除轴和刻度
plt.gray()
plt.imshow(ascent)
plt.show()
我们可以看到这个图像的类型是一个整数数组:ascent.dtype
输出:dtype('int64')我们也可以检查图像的大小:ascent.shape
输出:(512,512)misc包里还有一张浣熊的图片:import scipy.misc
face = scipy.misc.face()
print(face.shape)
print(face.max)
print(face.dtype)
plt.axis("off")
plt.gray()
plt.imshow(face)
plt.show()
(768, 1024, 3)
最新活动更多
-
11月28日立即报名>>> 2024工程师系列—工业电子技术在线会议
-
12月19日立即报名>> 【线下会议】OFweek 2024(第九届)物联网产业大会
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
-
精彩回顾立即查看>> 2024 智能家居出海论坛
-
精彩回顾立即查看>> 【在线会议】多物理场仿真助跑新能源汽车
推荐专题
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论