OpenCV calcHist 函数。
OpenCV calcHist function.
我正在使用 calcHist 函数计算图像的颜色直方图。我正在开发一个简单的图像匹配应用程序,我正在尝试使用颜色直方图作为图像描述符来查找相似图像。
这是定义:
void calcHist(const Mat* images, int nimages, const int* channels, InputArray mask, OutputArray hist, int dims, const int* histSize, const float** ranges, bool uniform=true, bool accumulate=false )
我的问题是关于 dims 参数的。
这是来自 OpenCV 文档:
dims – Histogram dimensionality that must be positive and not greater
than CV_MAX_DIMS (equal to 32 in the current OpenCV version).
这可能是一个虚拟问题,但是如果我将 dims 设置为 1 或 3,结果之间有什么区别?如果我设置 dims=1 是我只得到图像中单个通道的直方图,还是代表一维向量中所有通道的直方图?
dims 参数用于指示您感兴趣的功能的数量。 "intesity" 可以是 1,"gradients, directions" 可以是更多
示例:4x4 HS(V) 图片:
色调通道:
1 170 33 14
15 133 33 7
122 90 100 142
1 170 33 14
饱和通道:
25 33 33 45
25 55 255 255
25 33 255 255
10 55 255 255
现在假设每个通道有 3 个直方图 BINS:
HA = [0..60]
HB = [60..120]
HC = [120..180]
for H channel
SA = [0..80]
SB = [80..160]
SC = [160..255]
for S channel
现在的区别:
dim = 1 将为每个通道制作一维直方图:
#HA = 9
#HB = 2
#HC = 5
和
#SA = 10
#SB = 0
#SC = 6
如果你使用 dim = 2 你会得到通道间直方图:
- HA HB HC
SA 5 1 4
SB 0 0 0
SC 4 1 1
这是一个更详细的信息。
希望这就是您问题的答案。
我正在使用 calcHist 函数计算图像的颜色直方图。我正在开发一个简单的图像匹配应用程序,我正在尝试使用颜色直方图作为图像描述符来查找相似图像。
这是定义:
void calcHist(const Mat* images, int nimages, const int* channels, InputArray mask, OutputArray hist, int dims, const int* histSize, const float** ranges, bool uniform=true, bool accumulate=false )
我的问题是关于 dims 参数的。 这是来自 OpenCV 文档:
dims – Histogram dimensionality that must be positive and not greater than CV_MAX_DIMS (equal to 32 in the current OpenCV version).
这可能是一个虚拟问题,但是如果我将 dims 设置为 1 或 3,结果之间有什么区别?如果我设置 dims=1 是我只得到图像中单个通道的直方图,还是代表一维向量中所有通道的直方图?
dims 参数用于指示您感兴趣的功能的数量。 "intesity" 可以是 1,"gradients, directions" 可以是更多
示例:4x4 HS(V) 图片:
色调通道:
1 170 33 14
15 133 33 7
122 90 100 142
1 170 33 14
饱和通道:
25 33 33 45
25 55 255 255
25 33 255 255
10 55 255 255
现在假设每个通道有 3 个直方图 BINS:
HA = [0..60]
HB = [60..120]
HC = [120..180]
for H channel
SA = [0..80]
SB = [80..160]
SC = [160..255]
for S channel
现在的区别:
dim = 1 将为每个通道制作一维直方图:
#HA = 9
#HB = 2
#HC = 5
和
#SA = 10
#SB = 0
#SC = 6
如果你使用 dim = 2 你会得到通道间直方图:
- HA HB HC
SA 5 1 4
SB 0 0 0
SC 4 1 1
这是一个更详细的信息。
希望这就是您问题的答案。