使用 scikit-image 和 RANSAC 稳健估计多项式几何变换

2023-12-01

我想用 scikit-image skimage.transform 和 skimage.measure.ransac 稳健地估计多项式几何变换

ransack 文档提供了一个非常好的示例,说明如何通过相似性变换来实现这一点。事情是这样的:

from skimage.transform import SimilarityTransform
from skimage.measure import ransac
model, inliers = ransac((src, dst), SimilarityTransform, 2, 10)

我需要使用skimage.transform.PolynomialTransform而不是SimilarityTransform,我需要能够指定多项式阶数。

但 RANSAC 调用采用 PolynomialTransform() 作为输入,它不采用任何输入参数。所需的多项式阶数确实在 PolynomialTransform() 的估计属性中指定...因此 RANSAC 调用使用多项式阶数的默认值,即 2,而我需要一个三阶或四阶多项式。

我怀疑这是一个基本的Python问题? 提前致谢!


我们可以在 RANSAC 中提供一种机制来将参数传递给估计器(请随意提交票证)。然而,一个快速的解决方法是:

from skimage.transform import PolynomialTransform

class PolyTF_4(PolynomialTransform):
    def estimate(*data):
        return PolynomialTransform.estimate(*data, order=4)

The PolyTF_4然后类可以直接传递给 RANSAC。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 scikit-image 和 RANSAC 稳健估计多项式几何变换 的相关文章

随机推荐