matplotlib实现子图的绘制
# 显示多幅图的两种方法
import matplotlib.pyplot as plt
plt.figure(figsize=(10,8),dpi=100)
plt.subplot(221),plt.imshow(img1,cmap=plt.cm.gray),plt.title('原图')
plt.xticks([]), plt.yticks([])
plt.subplot(222),plt.imshow(img2,cmap = plt.cm.gray),plt.title('Sobel')
plt.xticks([]), plt.yticks([])
plt.subplot(223),plt.imshow(img3,cmap = plt.cm.gray),plt.title('Laplacian')
plt.xticks([]), plt.yticks([])
plt.subplot(224),plt.imshow(img4,cmap = plt.cm.gray),plt.title('Canny')
plt.xticks([]), plt.yticks([])
plt.show()
### 第2种
fig,axes=plt.subplots(nrows=1,ncols=3,figsize=(10,8),dpi=100)
axes[0].imshow(res[:,:,::-1])
axes[0].set_title("绝对尺度(放大)")
axes[1].imshow(img1[:,:,::-1])
axes[1].set_title("原图")
axes[2].imshow(res1[:,:,::-1])
axes[2].set_title("相对尺度(缩小)")
plt.show()
## 或者
fig,axes=plt.subplots(nrows=2,ncols=3,figsize=(10,8))
axes[0,0].imshow(img1)
axes[0,0].set_title("原图")
axes[0,1].imshow(cvOpen1)
axes[0,1].set_title("开运算结果")
axes[0,2].imshow(cvOpen2)
axes[0,2].set_title("礼帽结果")
axes[1,0].imshow(img2)
axes[1,0].set_title("原图")
axes[1,1].imshow(cvClose1)
axes[1,1].set_title("闭运算结果")
axes[1,2].imshow(cvClose2)
axes[1,2].set_title("闭运算结果")
plt.show()