我想用 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(使用前将#替换为@)