cv2.calcHist()的使用

本文详细介绍了如何使用OpenCV的calcHist函数计算图像的直方图,包括输入参数的解释,如图像、通道、掩膜、bin数量和像素值范围。并通过示例代码展示了如何读取图像并计算其直方图,最后使用matplotlib进行绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义
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

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值