【发布时间】:2018-04-02 19:15:41
【问题描述】:
(有机会在这里不发布示例,但我认为这个问题足够笼统,没有必要。)
我正在使用skimage.transform.warp 扭曲一个 200x2000 的图像,给定使用skimage.transform.PiecewiseAffineTransform 计算的 500 个源和目标控制点。当我在单个图像上运行它时,大约需要 3 秒。根据每个人的经验,这是否是该计算的合理运行时间?
我问的原因是我可能有数百个相同尺寸的图像,我想对其应用相同的逆变换,但这会花费很长时间。如果我使用 Python 的 multiprocessing 模块,计算会挂起并且永远不会完成。
我想做的是在单个图像上运行warp,然后在给定输入图像中所有 400000 个像素的值的情况下计算一个多项式,该多项式定义扭曲图像中每个像素的值。数学上:
f'(x,y) = a0_0*f(0,0) + a0_1*f(0,1) + ... + a200_1999*f(200,1999) + a200_2000*f(200,2000)
有没有人建议我如何去做这个或类似的事情或更快地实施一些事情?
谢谢!
【问题讨论】:
-
也许
warp_coords是您要找的? -
考虑尝试使用 OpenCV 来完成这项任务
-
@MarkRansom Warp 完全按照我的意愿工作,只是速度很慢。
-
@soupault 我该如何使用 OpenCV?
-
重点是
warp_coords创造了可以反复重复使用的东西。
标签: python scikit-image affinetransform