1、这里使用的模块是cv2,默认的通道顺序是BGR:
(相关资料图)
2、import cv2
3、import numpy as np
4、from matplotlib import pyplot as plt
5、img=cv2.imread("b.png")
6、img*[1,0,0]
7、获取图片第一个通道的亮度统计(即像素值):
8、import cv2
9、import numpy as np
10、from matplotlib import pyplot as plt
11、img=cv2.imread("b.png")
12、h=cv2.calcHist([img],[0],None,[256],[0,256])
13、print(h)
14、这里,h是一个255*1的列表。
15、画出这个通道的直方图。
16、因为这个通道是蓝色通道,所以直方图在这里被涂成蓝色:
17、plt.plot(h,color="b")
18、plt.xlim([0,256])
19、plt.show()
20、绿色通道的直方图:
21、h=cv2.calcHist([img],[1],None,[256],[0,256])
22、plt.plot(h,color="g")
23、plt.xlim([0,256])
24、plt.show()
25、红色通道的直方图:
26、h=cv2.calcHist([img],[2],None,[256],[0,256])
27、plt.plot(h,color="r")
28、plt.xlim([0,256])
29、plt.show()
30、组合三个通道的直方图,形成一个完整的直方图:
31、c=("b","g","r")
32、for i,col in enumerate(c):
33、 h=cv2.calcHist([img],[i],None,[256],[0,256])
34、 plt.plot(h,color=col)
35、 plt.xlim([0,256])
36、plt.show()
本文到此结束,希望对大家有所帮助。