【问题标题】:3D HSV image histogram in Matlab, with different no. of bins for each channel?Matlab中的3D HSV图像直方图,不同的编号。每个通道的 bin 数量?
【发布时间】:2016-01-30 05:29:56
【问题描述】:

我正在开发一个 CBIR 系统,其中我使用 HSV 直方图作为我的功能之一。对于每张图像,我想计算一个直方图,其中 n1 表示色调,n2 表示饱和度,n3 表示值。我想要一个向量,它是 n1xn2xn3 维的,具有这些箱的所有可能组合。 例如:如果我分别为色调、饱和度和值取一个元组 (8, 12, 3) 箱,那么我想计算一个 8x12x3=288 维向量。 在 openCV 中,我们有 calcHist() 函数来执行此操作,但我未能在 matlab 中找到类似的函数。 这是我所做的

%roi1 is my region of interest, y1 is the vector 
y1=[imhist(roi1(:,:,1),8)' imhist(roi1(:,:,2),12)' imhist(roi1(:,:,3),3)'];

但 y1 将是 23 维而不是所需的 288 维。请帮助我,如果有类似于 openCV 的calcHist() 的功能,那么建议我这样做。

【问题讨论】:

标签: matlab image-processing machine-learning computer-vision cbir


【解决方案1】:

您计算的是一系列单维直方图,而不是多维直方图。例如,imhist(roi1(:,:,1),8)' 是仅色调值的计数,忽略相应的饱和度或像素值。 Mathworks 网站上有计算 n 维直方图的代码,它应该提供您所追求的:http://www.mathworks.com/matlabcentral/fileexchange/23897-n-dimensional-histogram

【讨论】:

    猜你喜欢
    • 2014-09-03
    • 2013-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 2018-03-08
    相关资源
    最近更新 更多