首页 > 知识 > > 内容页

直方图怎么画例题_直方图怎么画

2023-05-23 12:11:26 来源:互联网 分享到 :

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()

本文到此结束,希望对大家有所帮助。

推荐阅读