Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 对(图像)梯度有任何反向操作吗?_Image Processing_Computer Vision - Fatal编程技术网

Image processing 对(图像)梯度有任何反向操作吗?

Image processing 对(图像)梯度有任何反向操作吗?,image-processing,computer-vision,Image Processing,Computer Vision,假设我已经计算了(灰度图像的)梯度 梯度是X和Y方向上相邻像素之间的差异 我可以计算图像回来,有这个梯度信息吗 我能否以某种方式过滤梯度数据,以便反向操作得到一些合理的结果?梯度是两个相邻像素颜色之间的差异。要恢复图像,您需要一条信息:边界像素的初始颜色 就像在数学中一样,只要涉及到常数项,就可以通过积分来逆转推导过程。或者,如果您有d=a-b,只有在您也知道b的情况下,才可以返回a 如果没有边界值,您仍然可以恢复图像,但不能恢复相同的饱和度和对比度。整个图像中将缺少一个常量项 示例 考虑一个只

假设我已经计算了(灰度图像的)梯度

梯度是X和Y方向上相邻像素之间的差异

我可以计算图像回来,有这个梯度信息吗


我能否以某种方式过滤梯度数据,以便反向操作得到一些合理的结果?

梯度是两个相邻像素颜色之间的差异。要恢复图像,您需要一条信息:边界像素的初始颜色

就像在数学中一样,只要涉及到常数项,就可以通过积分来逆转推导过程。或者,如果您有
d=a-b
,只有在您也知道
b
的情况下,才可以返回
a

如果没有边界值,您仍然可以恢复图像,但不能恢复相同的饱和度和对比度。整个图像中将缺少一个常量项

示例


考虑一个只有3个像素的图像:
42142100
。梯度将为
01100,-42
(将其计算为当前像素和上一个像素之间的差值)。为了恢复初始图像,我们假设第一个像素是
0
,然后进行加法而不是减法:恢复的图像将是
01000,(100-42)
。如您所见,将
42
添加到所有图像中将返回初始图像。

是的,有。正如米海在回答中所说,这基本上是一种整合


这项任务的一项著名工作是由pérez等人完成的。您应该看看本文中的像素,也许可以尝试实现它(这是图像处理课程中的一项经典作业)。

积分梯度场是一项常规操作,即从明暗处理和光度立体中形成形状,获取曲面法线,然后进行积分。为了确保得到合理的结果,必须强制实施可积性约束。关于这个问题有几篇论文。你可以试试这个。作者提供了MATLAB代码

这适用于一维,其中梯度等效于导数,反向运算为积分。2D怎么样?显然,给一个边界值就足够了。那另一个边界呢?如果一个维度的梯度积分与另一个维度的积分相矛盾呢?如果渐变值有错误怎么办?它们将在积分过程中累积(这也适用于1D)。那么,什么是2D中的可靠积分呢?我们假设梯度没有误差。否则,问题就不适定了,在任何情况下都无法恢复原始图像。此外,在2D情况下,这取决于用于渐变的公式。如果使用总导数方法,则只需要角点像素的值。如果行上有渐变,列上有渐变,则需要更多的初始条件。最后,如果两个值冲突,则这是关于积分常数可能值的提示。