是否有任何逆向操作(图像)渐变?
假设我已经计算了梯度(灰度图像)。
渐变是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"