gpt4 book ai didi

python - 基于示例的修补-如何计算轮廓和等值线的法线

转载 作者:行者123 更新时间:2023-12-02 17:47:42 25 4
gpt4 key购买 nike

我正在使用Criminisi的基于示例的算法。在他的论文的第3节中,描述了该算法。需要修补的目标区域表示为Ω(Ω)。 Ω与图像其余部分相接的边界或轮廓(表示为Φ(phi))为δΩ(δΩ)。
现在在论文的第4页上,它声明 np (n下标p)是δΩ轮廓的法线。 ▽Ip (也包括正交上标)是点 p 处的等渗线,即渐变为90度的渐变。
我的多变量演算很生疏,但是如何使用python库计算 np ▽Ip δΩ上的每个点 p 也不都是 np 吗?

最佳答案

有多种计算这些变量的方法,所有方法都取决于您对该边界的数字描述。 n_p是轮廓的法线方向。

通常,如果用解析方程式描述轮廓,或者可以编写近似轮廓的解析方程式(例如,拟合5个点的样条曲线(在所需点的每一侧各2个),则可以导出该样条,计算要使用的点的切线

然后,在那条线中获得一个单位 vector ,并获得与其正交的 vector 。所有这些都很容易做到(如果您不了解,请询问)。

然后,您有了 isophone 。它看起来像是具有其模量的梯度的正交 vector 。计算图像上的方向梯度是图像处理中非常常用的技术。您可以轻松获取图像的X和Y导数(提示:numpy.gradientSO python gradient)。然后,图像的总梯度描述为:

因此,只需创建一个具有x和y梯度的 vector (取自numpy.gradient)。然后得到正交 vector 。

注意:如何在2D中获得正交 vector

[v2x v2y] = [v1y, -v1x]

关于python - 基于示例的修补-如何计算轮廓和等值线的法线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31331874/

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