cv2.calcHist()的使用

定义
cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate ]]) ->hist
imag

  • imaes:输入的图像
  • channels:选择图像的通道
  • mask:掩膜,是一个大小和image一样的np数组,其中把需要处理的部分指定为1,不需要处理的部分指定为0,一般设置为None,表示处理整幅图像
  • histSize:使用多少个bin(柱子),一般为256
  • ranges:像素值的范围,一般为[0,255]表示0~255

后面两个参数基本不用管。
注意,除了mask,其他四个参数都要带[]号。

img = cv2.imread('test.jpg')
hist = cv2.calcHist([img],[0],None,[256],[0,255])
#hist是一个shape为(256,1)的数组,表示0-255每个像素值对应的像素个数,下标即为相应的像素值
#plot一般需要输入x,y,若只输入一个参数,那么默认x为range(n),n为y的长度
plt.plot(hist)
plt.show()
#使用多个图像
#hist = cv2.calcHist([img1,img2],[0,0],None,[256,256],[0,255,0,255])

参考:https://www.jianshu.com/p/bd12c4273d7d

你可能感兴趣的:(opencv)