that的用法OpenCV绘制直⽅图cv2.calcHist()脚背内侧踢球
一蹶而就OpenCV绘制直⽅图cv2.calcHist()
直⽅图:X轴是像素值,Y轴是图像中该像素值的数量。通过查看图像的直⽅图,可以直观地了解图像的对⽐度、亮度、强度分布等。BINS:⼀般直⽅图显⽰的像素值是0—255,⼀共256个。也可以将直⽅图分成16个⼦部分,0—15之间的像素数量、16—31之间的像素数量…240—255之间的像素数量,只需要16个值就可以表⽰直⽅图,每个⼦部分都称为’BIN’。
OpenCV中计算直⽅图的函数:
cv2.calcHist(images, channels, mask, histSize, ranges[,hist[,accumulate]])重阳糕
images:是uint8或者float32类型的源图像,应该放在⽅括号中,即[img]。
channels:也是以⽅括号给出,是计算直⽅图的通道的索引。输⼊灰度图像,其值是[0]。对于彩⾊图像,可以传递[0]、[1]、[2]分别计算BGR通道的直⽅图。
mask:图像掩码,为了找到完整图像的直⽅图,将其指定为’⽆’。如果查找图像特定区域的直⽅图,需要创建⼀个掩码图像。histSize:表⽰BIN计数,需要放在⽅括号中,对于全尺⼨是[256]
ranges:需要测量的强度值的范围,通常是[0,256],即所有强度值。
import cv2
寒假是几月到几月import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('C:\\Urs\\Administrator\\Desktop\\xusong.jpg')
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #转化为灰度图
#hist是256*1的数组,每个值对应图像中具有该像素值的像素数量
hist = cv2.calcHist([img_gray],[0],None,[256],[0,256])
#绘制直⽅图,使⽤matplotlib
'''
催眠王菲绘制灰度图img_gray的直⽅图
皮包清洗
plt.hist(img_gray.ravel(),256,[0,256])
plt.show()
'''
#绘制彩⾊图像的BGR的直⽅图,将BGR绘制在同⼀个图中
color = ['b','g','r']
for i,col in enumerate(color):
histr = cv2.calcHist([img],[i],None,[256],[0,256])
plt.plot(histr,color = col)天天狼人
plt.xlim([0,256])
plt.show()