是否有任何逆向操作(图像)渐变?

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

渐变是X和Y方向上相邻像素之间的差异。

我可以计算图像,有这种渐变信息?

我能否以某种方式过滤渐变数据,以便反向操作提供一些合理的结果?


渐变是两个相邻像素的颜色之间的差异。 要找回图像,您需要一条信息:边界像素的初始颜色。

就像在数学中一样,只要涉及常数项,就可以通过积分来逆转派生。 或者,如果您有d = a - b你可以回到a只有当你也知道b

如果没有边界值,您仍然可以恢复图像,但不会达到相同的饱和度和对比度。 整个图像中会有一个不变的术语。

考虑只有3个像素的图像: 42, 142, 100 。 梯度将为0, 100, -42 (将其计算为当前像素与前一像素之间的差异)。 为了找回初始图像,我们假设第一个像素为0 ,然后做加法而不是减法:恢复的图像将是0, 100, (100-42) 。 正如你所看到的那样,将42添加到它们中会让我们恢复最初的图像。


就在这里。 正如Mihai的回答所述,这基本上是一体化的。

这项任务的着名工作是Pérez等人的泊松图像编辑。 你应该看看论文中的照片,也许试图实现它(这是图像处理课程中的经典任务)。


积分梯度场是一个常规操作,它是Shading和Photometric Stereo的Shape,其中表面法线被获取并整合。 为确保您获得合理的结果,您必须执行可整合性约束。 关于这个问题有几篇论文。 你可以试试这个标题为“从梯度场表面重建的代数方法”。 作者提供了MATLAB代码。

链接地址: http://www.djcxy.com/p/64031.html

上一篇: Is there any reverse operation to (image) gradient?

下一篇: Difference between "Edge Detection" and "Image Contours"