用OpenCV中自带的cv2.calHist()函数求图像的颜色直方图特征
import cv2
import numpy
image = cv2.imread("D:/lena.jpg", 0)
hist = cv2.calcHist([image], [0], None, [256], [0.0,255.0])
上面程序是以灰度图的方式计算颜色直方图特征,cv2.calcHist()函数的参数
第一个参数[image],必须带[], 是读入后的图像
第二个参数[0],必须带[],指定通道,若为灰度图则为[0],若彩色图,则[0]、[1]、[2]分别对应于B、G、R通道
第三个参数是掩膜Mask,指定ROI区域,若对整张图像取特征,则置为None
第四个参数是bins的个数,必须带[]
第五个参数是像素值范围
来看一下hist的内容:
>>> hist
array([[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 1.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 0.00000000e+00],
[ 1.00000000e+00],
[ 2.00000000e+00],
[ 5.00000000e+00],
[ 8.00000000e+00],
[ 1.70000000e+01],
[ 2.40000000e+01],
[ 5.50000000e+01],
[ 8.30000000e+01],
[ 1.12000000e+02],
[ 1.60000000e+02],
[ 2.02000000e+02],
[ 2.81000000e+02],

本文介绍了如何利用OpenCV的cv2.calHist()函数来计算图像的颜色直方图特征。针对灰度图像,该函数的参数包括输入图像、指定的通道(对于灰度图是[0])、掩膜(全图取值为None)、bin数量以及像素值范围。通过这个方法,可以有效地提取图像的颜色分布信息。

2532

被折叠的 条评论
为什么被折叠?



