初级cnn研究辅助:python的matplotlib显示图片

简单例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# -*- coding=UTF-8 -*-
import Image
from matplotlib import pyplot as plt
if __name__ == "__main__":
img = Image.open("./Alex.jpg")
img_gray = img.convert("L")
fig = plt.figure()
ax = fig.add_subplot(121)
ax.imshow(img)
ax = fig.add_subplot(122)
ax.imshow(img_gray, cmap="gray")#以灰度图显示图片
ax.set_title("hei,i'am the title")#给图片加titile
#plt.axis("off")#不显示刻度
plt.show()#显示刚才所画的所有操作

图片的其他处理,可以查看我的前几篇文章。

add_subplot图片位置

add_subplot的参数由三个数字组成mnq。代表画布里有m行,n列位置,当前图片将要放在q位置。
q的计算方式以行为主:如果是四张图且显示是一个2*2的矩阵,q的排序是:

1
2
1   2
3   4

以上面代码为例,

ax = fig.add_subplot(121)

里的121.第一个“1”代表画布只有一行;第一个“2”代表有两列;第二个“1”代表图片将放在1行2列的矩阵中的位置。

当然还会出现这样的需求,左边一张图右边两张图:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# -*- coding=UTF-8 -*-
import Image
from matplotlib import pyplot as plt
if __name__ == "__main__":
img = Image.open("./Alex.jpg")
img_gray = img.convert("L")
fig = plt.figure()
ax = fig.add_subplot(121)
ax.imshow(img)
ax.set_title("hei,i'am the first")

ax = fig.add_subplot(222)
ax.imshow(img_gray, cmap="gray")#以灰度图显示图片
ax.set_title("hei,i'am the second")#给图片加titile

ax = fig.add_subplot(224)
ax.imshow(img_gray, cmap="gray")#以灰度图显示图片
ax.set_title("hei,i'am the third")#给图片加titile
#plt.axis("off")#不显示刻度
plt.show()#显示刚才所画的所有操作

效果:

框出部分区域

1
2
3
4
5
6
7
8
9
10
11
12
13
# -*- coding=UTF-8 -*-
import Image
from matplotlib import pyplot as plt
if __name__ == "__main__":
img = Image.open("./Alex.jpg")
img_gray = img.convert("L")
fig = plt.figure()
ax = fig.add_subplot(121)
ax.imshow(img)
ax.set_title("hei,i'am the first")
pointx = [20, 120, 120, 20, 20]
pointy = [20, 20, 120, 120, 20]
ax.plot(pointx, pointy, 'r')#画一个矩形,黑色;'r'红色

效果:

画点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# -*- coding=UTF-8 -*-
import Image
from matplotlib import pyplot as plt
if __name__ == "__main__":
img = Image.open("./Alex.jpg")
img_gray = img.convert("L")
fig = plt.figure()
ax = fig.add_subplot(121)
ax.imshow(img)
ax.set_title("hei,i'am the first")
pointx = [20, 120, 120, 20, 20]
pointy = [20, 20, 120, 120, 20]
ax.plot(pointx, pointy, 'r')#画一个矩形,黑色;'r'红色
ax.scatter(65, 70)#画点
ax.scatter(90, 70)#画点
plt.axis("off")#不显示刻度

效果:

(额,我怎么把我男神搞成这个样子了。。。。)

文章作者:Lily

原始链接:/2018/04/08/%E5%88%9D%E7%BA%A7cnn%E7%A0%94%E7%A9%B6%E8%BE%85%E5%8A%A9%EF%BC%9Apython%E7%9A%84matplotlib%E6%98%BE%E7%A4%BA%E5%9B%BE%E7%89%87/

版权说明:转载请保留原文链接及作者。