首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像检索-边缘直方图

图像检索-边缘直方图
EN

Stack Overflow用户
提问于 2012-04-07 01:38:54
回答 1查看 1.3K关注 0票数 1

我的讲师在image retrievaledge histograms上有一张幻灯片,他说必须先把图像分成4x4 blocks,然后在horizontal, vertical, +45°, and -45° orientations上检查边缘。然后,他声明这将在14x1 histogram中表示。我不知道他是如何决定必须创建14x1 histogram的。有谁知道他是如何得出这个值的,或者知道如何创建一个edge histogram

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-07 12:18:11

你所指的东西叫做定向梯度直方图(HoG)。然而,数学并不适用于您的示例。通常情况下,您将选择空间入库参数( 4x4块)。对于每个块,您将计算一些不同方向上的梯度幅度(在您的例子中,只有两个方向)。因此,在每个块中,您将进行N_{directions}测量。将其乘以块的数量(对于您来说是16个),您将看到16*N_{directions}总测量值。

要形成直方图,只需将这些测量值连接成一个长向量。只要您跟踪将bin/方向组合映射到一维直方图中的一个槽中的方式,任何进行连接的方法都是可以的。然后,这种长长的连接直方图最常用于机器学习任务,比如训练分类器根据图像梯度的方向识别图像的某些方面。

但在您的例子中,教授必须做一些特殊的事情,因为如果您有16个不同的图像块( 4x4图像块的网格),那么您需要计算每个块不到1个测量值,最终得到整个直方图中的总共14个测量值。

或者,教授的意思可能是你取-45,+45之间的角度范围,然后将其分为14个不同的值:-45,-45 + 90/14,-45 + 2*90/14,...诸若此类。

如果这是教授的意思,那么在这种情况下,您将在一个区块内获得14个定向箱。一旦所有的东西都连接起来,你就会有一个非常长的14*16 =224个分量的向量来描述整个图像。

顺便说一句,我用Python实现的渐变直方图做了很多测试,所以你可以看到一些与herehere相关的工作。该站点上还有一些示例代码,不过在scikits.image中出现了一个更受支持的HoG版本。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10047057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档