当前位置:首页  精选百科

精选百科

直方图怎么画步骤(直方图怎么画)

2024-02-10 11:26:04
导读 大家好,小活来为大家解答以上问题。直方图怎么画步骤,直方图怎么画很多人还不知道,现在让我们一起来看看吧!1、这里采用的模块是cv2,默...

大家好,小活来为大家解答以上问题。直方图怎么画步骤,直方图怎么画很多人还不知道,现在让我们一起来看看吧!

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

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

免责声明:本文由用户上传,如有侵权请联系删除!