Python-cv2.calcHist()的使用
定义
cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate ]]) ->hist
-
imaes:输入的图像
-
channels:选择图像的通道
-
mask:掩膜,是一个大小和image一样的np数组,其中把需要处理的部分指定为1,不需要处理的部分指定为0,一般设置为None,表示处理整幅图像
-
histSize:使用多少个bin(柱子),一般为256
-
ranges:像素值的范围,一般为[0,255]表示0~255
后面两个参数基本不用管。注意,除了mask,其他四个参数都要带[]号。
import cv2
import numpy as np
from matplotlib import pyplot as plt
from PIL import Image
img = cv2.imread('1.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])
转载请注明出处,欢迎讨论和交流!