我想用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,而我需要一个3或4阶多项式。
我怀疑这是一个基本的蟒蛇问题?提前感谢!
发布于 2014-11-19 04:56:14
我们可以在RANSAC中提供一种机制,将参数传递给估计器(请随时提交票证)。然而,一个快速的解决办法是:
from skimage.transform import PolynomialTransform
class PolyTF_4(PolynomialTransform):
def estimate(*data):
return PolynomialTransform.estimate(*data, order=4)
然后,可以将PolyTF_4
类直接传递给RANSAC。
https://stackoverflow.com/questions/27011995
复制相似问题