pyplot提供了类似matlab的绘图框架。
试遍CSDN所发现的唯一不报错语句。
sudo apt-get install python3-matplotlib
import matplotlib.pyplot as plt
根据数据源和像素级绘制直方图。
plt.hist(数据源,像素级)
数据源:图像,必须是一维数组。
像素级:一般是256,指[0,255]
可以把多维数组转换为一维数组。
一维数组 = 多维数组.ravel()
import cv2
import matplotlib.pyplot as plt
img = cv2.imread('./bomb.jpg')
plt.hist(img.ravel(),256)
plt.show()
通道顺序为 RGB,与 opencv BGR 有所区别。
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()
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()