【问题标题】:Tensor structure in Image processing图像处理中的张量结构
【发布时间】:2014-07-11 20:27:19
【问题描述】:

我的问题是关于这个链接中的问题What is the significance of the eigenvalues of an autocorrelation matrix in image processing?

据我了解,张量结构是一个以图像梯度平方作为元素的矩阵。
该等式也可在该链接中找到。

我对梯度矩阵的平方有疑问。

问题一:当我对图像进行梯度导数时,结果又是一个具有图像尺寸的矩阵。现在,当我对矩阵进行平方以获得如上式所示的导数的平方时,我有点困惑。我们该怎么做呢 ? (我使用 Matlab 表示法,因为我更熟悉它们)

1) Ix_squared = Ixtranspose(Ix); %结果是方阵

2)
Ix_squared = Ix.
Ix; %结果是一个维数为Ix的矩阵
(其中每个索引处的像素值乘以自身)

问题二:再一次,wiki 解释说张量结构 A 是一个对称方阵。这意味着,Ix 和 Iy 也必须是方阵,才能将 A 实现为对称方阵。回到图像,这是否意味着我只能找出正方形图像的结构张量?而不是非方阵?或者我应该将我的矩形图像分成正方形补丁并将补丁的张量结构存储为一个数组?

【问题讨论】:

  • 您好。我是您所指帖子的答案的作者。回答你的问题(实际上他们已经在下面的答案中得到了回答):问题#1 - 你应该做Ix.*Ix。问题 #2 - 不,可以为您想要的任何大小的矩阵定义结构张量。您计算结构张量矩阵所需的所有值,然后为您在图像中计算的每个补丁创建一个 2 x 2 矩阵。在特定补丁中,您将补丁中的所有 Ix^2、Iy^2 和 Ixy 项相加。
  • 谢谢!这有帮助!

标签: image matlab


【解决方案1】:

就像计算图像梯度不需要你的图像是向量一样,计算图像的结构张量也不需要你的图像是方阵。

您正在混合结构张量(实际上是方形对称矩阵)及其定义域的值,这恰好是由 Matlab 中的矩阵表示的矩形图像。两者无关。图像可以在圆形域上定义,您仍然可以计算结构张量,并且值仍然是矩阵,尽管在圆形域上。

实际上,在 2D 中,结构张量是一个 2x2 矩阵。比你的图片小很多。但是,对于梯度,它是为每个像素定义的值。所以,当你计算时

 Ix_squared = Ix.* Ix

你只能得到结构张量矩阵的四个系数中的第一个。就像Ix 本身(根据您的符号可能)只是渐变的一个组成部分。

【讨论】:

  • 我的符号:Ix, Iy = [MxN] 维图像 I 的 x,y 方向的梯度。现在,张量结构 A 是一个 2x2 矩阵,由 A11 = Ix_squared、A12 = A21 = Ixy & A22 = Iy_squared 组成。那么,您是说 MxN 图像有 M*N 个 2x2 结构张量?
  • +1 - 在进一步的解释中做得很好!是的,对于图像中的每个位置或某些位置,您将围绕该像素上的一个区域,收集所有 Ix^2、Iy^2 和 Ixy 项,并将它们相加。然后,这些术语中的每一个都将进入一个 2 x 2 矩阵,表示为 A
猜你喜欢
  • 2020-07-21
  • 1970-01-01
  • 2018-06-23
  • 2019-08-12
  • 2018-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多