Python matplotlib 绘图框架

pyplot提供了类似matlab的绘图框架。

安装

试遍CSDN所发现的唯一不报错语句。

sudo apt-get install python3-matplotlib

引入库

  • 常用缩写
import matplotlib.pyplot as plt

绘制直方图

函数 hist

根据数据源和像素级绘制直方图。

  • 语法格式
plt.hist(数据源,像素级)

数据源:图像,必须是一维数组
像素级:一般是256,指[0,255]
Python matplotlib 绘图框架_第1张图片

函数 a.ravel()

可以把多维数组转换为一维数组。

  • 语法格式
一维数组 = 多维数组.ravel()

Python matplotlib 绘图框架_第2张图片

import cv2
import matplotlib.pyplot as plt
img = cv2.imread('./bomb.jpg')

plt.hist(img.ravel(),256)
plt.show()

Python matplotlib 绘图框架_第3张图片

函数 imshow

通道顺序为 RGB,与 opencv BGR 有所区别。

  • 显示问题
    Python matplotlib 绘图框架_第4张图片
  • 代码示例
  1. 灰度图像
  1 import cv2
  2 import numpy as np
  3 import matplotlib.pyplot as plt
  4 
  5 img = cv2.imread('./hanser.jpg')
  6 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
  7 
  8 plt.subplot(221)
  9 plt.imshow(img),plt.axis('off')     #关闭坐标轴
 10 
 11 plt.subplot(222)
 12 plt.imshow(img,cmap=plt.cm.gray),plt.axis('off')
 13 
 14 plt.subplot(223)
 15 plt.imshow(gray),plt.axis('off')
 16 
 17 plt.subplot(224)
 18 plt.imshow(gray,cmap=plt.cm.gray),plt.axis('off')
 19 
 20 plt.show()

Python matplotlib 绘图框架_第5张图片
2. 彩色图像

  1 import cv2
  2 import numpy as np
  3 import matplotlib.pyplot as plt
  4 
  5 img = cv2.imread('./hanser.jpg')
  6 
  7 b,g,r = cv2.split(img)
  8 img2 = cv2.merge([r,g,b])
  9 
 10 plt.subplot(121),plt.imshow(img),plt.axis('off')
 11 plt.subplot(122),plt.imshow(img2),plt.axis('off')
 12 
 13 plt.show()

Python matplotlib 绘图框架_第6张图片
我永远单推 hanser!

你可能感兴趣的:(Python)