相邻像素之间的绝对差异
Posted
技术标签:
【中文标题】相邻像素之间的绝对差异【英文标题】:Absolute difference between neighbouring pixels 【发布时间】:2014-02-04 01:51:54 【问题描述】:我目前对我正在为我的论文阅读的这篇论文有疑问。在这篇论文中,作者表示他在一个有像素的块的每一侧使用一维滤波器来获取 4 个点。
论文名为:《Simplified inter-component Depth modeling in 3D hevc》
可从 IEEE 或来自:
http://vclab.gist.ac.kr/papers/03/2013/S35_paper%2081.pdf.
此过滤器计算相邻像素的绝对差
我们计算 CTLB 每一侧的邻居的绝对差异。如果像素坐标如
Figure 4
所示,则Eq. (1)
用于顶部和底部,而Eq. (2)
用于左侧和右侧。C_hor
、r
、c
表示考虑水平邻居的顶部和底部的水平相邻像素的绝对差。左右两边同理,
C_ver
、r
、c
代表垂直相邻像素的绝对差。
图 4:
A(0,0) A(0,1) A(0,2) A(0,3) ...
A(1,0) A(1,1) A(1,2) A(1,3) ...
A(2,0) A(2,1) A(2,2) A(2,3) ...
A(3,0) A(3,1) A(3,2) A(3,3) ...
... ... ... ... ...
等式 1:
C_hor(r,c) = |A(r,c+1) - A(r,c-1)|
等式 2:
C_ver(r,c) = |A(r+1,c) - A(r-1,c)|
我的问题是,有没有人知道他是如何通过使用上面的方程式获得 4 分的?此外,他会为边缘做什么,因为他不需要以前的像素?我目前正在尝试在 C++ 中实现这一点,尽管一个简单的 matlab 代码也会有所帮助,以便我能够理解它。
谢谢。
【问题讨论】:
提供论文名称会有很大帮助。另外,请展示您自提出问题以来的努力。 您好,添加了论文(我之前没有添加它,因为它来自 IEEE,除了上面写的内容外,他没有解释任何其他内容)。主要问题是我无法理解他是如何从使用这两个方程中得到 4 分的。如果有人向我解释这一点,我将能够对其进行编码。我刚刚提到了 Matlab,因为我需要使用标签,通常 Matlab 对于解释这样的东西非常有用。谢谢 【参考方案1】:图 4 不只包含 4 个点。有“...”省略号表示他的意思是代表 A 中的所有点。
在 MATLAB 中有多种方法可以进行计算。一种方法是通过卷积,
k=[1 0 -1;]
C_hor=abs(conv2(A,k,'same'));
C_ver=abs(conv2(A,k.','same'));
这里我使用了“相同”标志,假设我们想要在 A 之外外推,边缘处为零。
【讨论】:
嗨,我设法找到了该论文的在线 pdf 版本。我现在添加了它。我从论文中了解到,图 4 可以是 4x4、8x8、16x16 或 32x32 的块大小。他还指出,通过应用一维滤波器,他获得了四个点。现在我在想,通过应用类似于你在回复中给出的过滤器,他只需从差异最大的一侧选择四个点以上是关于相邻像素之间的绝对差异的主要内容,如果未能解决你的问题,请参考以下文章