相邻像素之间的绝对差异

时间:2014-02-04 01:51:54

标签: matlab absolute-value

我目前在撰写论文时遇到了问题。在本文中,作者声称他在一个像素的每一侧使用一维滤波器获得4个点。

该论文被称为:" 3D hevc中简化的组件间深度建模 "

可从IEEE或

获得

http://vclab.gist.ac.kr/papers/03/2013/S35_paper%2081.pdf

  

此滤镜计算相邻像素的绝对差值

     

我们计算CTLB两侧邻居的绝对差异。如果在Figure 4中记录像素坐标,则Eq. (1)用于顶部和底部,而Eq. (2)用于左侧和右侧。 C_horrc表示考虑水平邻居的顶部和底部的水平相邻像素的绝对差异。

     

类似地,对于左侧和右侧,C_verrc表示垂直相邻像素的绝对差异。

图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代码也可以帮助我理解它。

感谢。

1 个答案:

答案 0 :(得分:0)

图4不仅包含4个点。有“......”椭圆显示他表示代表A中的所有点。

在MATLAB中有很多方法可以进行计算。一种方法是卷积,

 k=[1 0 -1;] 

 C_hor=abs(conv2(A,k,'same'));
 C_ver=abs(conv2(A,k.','same'));  

这里我假设我们想在边缘外推一个带有零的外部A来使用'相同'标志。