2.6.2 显示图像

使用matplotlibimshowmatplotlib图形内部显示图像:

In [11]:

  1. f = misc.face(gray=True) # 取回灰度图像
  2. import matplotlib.pyplot as plt
  3. plt.imshow(f, cmap=plt.cm.gray)

Out[11]:

  1. <matplotlib.image.AxesImage at 0x10afb0bd0>

2.6.2 显示图像 - 图1

通过设置最小和最大值增加对比度:

In [14]:

  1. plt.imshow(f, cmap=plt.cm.gray, vmin=30, vmax=200)

Out[14]:

  1. <matplotlib.image.AxesImage at 0x110f8c6d0>

2.6.2 显示图像 - 图2

In [16]:

  1. plt.imshow(f, cmap=plt.cm.gray, vmin=30, vmax=200)
  2. # 删除座标轴和刻度
  3. plt.axis('off')

Out[16]:

  1. (-0.5, 1023.5, 767.5, -0.5)

2.6.2 显示图像 - 图3

画出轮廓线:

In [18]:

  1. plt.imshow(f, cmap=plt.cm.gray, vmin=30, vmax=200)
  2. # 删除座标轴和刻度
  3. plt.axis('off')
  4. plt.contour(f, [50, 200])

Out[18]:

  1. <matplotlib.contour.QuadContourSet instance at 0x10cab5878>

2.6.2 显示图像 - 图4

[Python 源代码]

对于要精确检查的密度变量,使用interpolation='nearest':

In [19]:

  1. plt.imshow(f[320:340, 510:530], cmap=plt.cm.gray)

Out[19]:

  1. <matplotlib.image.AxesImage at 0x10590da90>

2.6.2 显示图像 - 图5

In [20]:

  1. plt.imshow(f[320:340, 510:530], cmap=plt.cm.gray, interpolation='nearest')

Out[20]:

  1. <matplotlib.image.AxesImage at 0x110716c10>

2.6.2 显示图像 - 图6

[Python 源代码]

也可以看一下 3-D 可视化: Mayavi

使用Mayavi的3D绘图

  • Image plane widgets
  • Isosurfaces

2.6.2 显示图像 - 图7