gpt4 book ai didi

numpy - n 维 numpy.gradient 的倒数

转载 作者:行者123 更新时间:2023-12-04 05:49:18 25 4
gpt4 key购买 nike

numpy 或 scipy 是否包含一个函数,它是 n 维“梯度”fn 的倒数?

例如。如果“图像”包含一个二维矩阵,那么我想要一个行为如下的函数 inv_gradient:

(gx, gy) = numpy.gradient(image)
constant_vector_0 = image[0,:] - inv_gradient(gx, gy)[0,:]
constant_vector_1 = image[:,0] - inv_gradient(gx, gy)[:,0]
image == inv_gradient(gx, gy) + tile(constant_vector_0,(shape(image)[0],1)) + transpose(tile(constant_vector_1,(shape(image)[1],1)))

最佳答案

您所描述的基本上是一个逆滤波器。这些存在,但有限。

理解这一点的一种方法是通过 convolution theorem ,并将梯度视为卷积的特定内核,在这种情况下,类似于 1D 中的 (-1, 0, 1)。那么问题是,内核的傅立叶变换 (FT) 将有零,并且当内核的 FT 与信号相乘时,内核的 FT 中的零会从原始数据中的这部分数据中抹去任何数据频谱(当噪声添加到图像时,这会变得更成问题)。特别是对于梯度,f=0 波段的功率为 0,这就是人们在评论中所指的,但其他信息也丢失了。

尽管如此,您仍然可以从逆滤波器中获得很多,也许是您需要的。这是相当具体的案例。

Here's对该问题的非常基本和快速的描述,以及 example (虽然不适用于渐变)。

关于numpy - n 维 numpy.gradient 的倒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10272245/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com