首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python学习:matplotlib.pyplot图像绘制

Python学习:matplotlib.pyplot图像绘制

作者头像
烤粽子
发布2021-07-07 19:07:31
6980
发布2021-07-07 19:07:31
举报

本文主要讲述利用matplotlib包进行多图像的绘制。

1.首先看第一个函数matplotlib.pyplot.subplot,这个函数是为了在一张图里放置多个子图。

subplot(nrows, ncols, index, **kwargs)
  • 第一个参数为子图行的数目
  • 第二个参数为子图列的数目
  • 第三个参数为某一幅图的编号1,2,3,4,······

例如subplot(2,2,1)为创建一个两行两列的图,其中这幅子图为第一号子图。

2. 显示图片的函数matplotlib.pyplot.subplot()

matplotlib.pyplot.imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=None, filternorm=1, filterrad=4.0, imlim=None, resample=None, url=None, hold=None, data=None, **kwargs)
  • 要绘制的图像或者数组
  • cmap颜色图谱(colormap),默认None,默认为RGB颜色空间。常用的有gray,jet等

相关参考:matplotlib.pyplot.imshow

3. matplotlib.pyplot.title() 显示对应子图的名字

4. matplotlib.pyplot.xticks(),matplotlib.pyplot.yticks()

获取或设置x,y轴的当前刻度位置和标签。

5. 举个例子

import numpy as np
import cv2
import matplotlib.pyplot as plt

img=cv2.imread('bmx1.jpg',0)#第二个参数 为将图片直接读为灰度图 或者加一步BGR到灰度图的转变,后面的一系列检测是基于灰度图

#cv2.CV_64F 输出图像的深度(数据类型),可以使用 -1, 与原图像保持一致 np.uint8
laplacian=cv2.Laplacian(img,cv2.CV_64F)
# 参数 1,0 为只在 x 方向求一阶导数,最大可以求 2 阶导数。
sobelx=cv2.Sobel(img,cv2.CV_64F,1,0,ksize=5)
# 参数 0,1 为只在 y 方向求一阶导数,最大可以求 2 阶导数。
sobely=cv2.Sobel(img,cv2.CV_64F,0,1,ksize=5)

plt.subplot(2,2,1),plt.imshow(img,cmap = 'gray')
plt.title('Original'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,2),plt.imshow(laplacian,cmap = 'gray')
plt.title('Laplacian'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,3),plt.imshow(sobelx,cmap = 'gray')
plt.title('Sobel X'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,4),plt.imshow(sobely,cmap = 'gray')
plt.title('Sobel Y'), plt.xticks([]), plt.yticks([])
plt.show()

运行结果如下:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-05-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档