我正在使用opencv warpPerspective()函数扭曲图像中找到的countour以找到轮廓,而我正在使用findContours()。
如图所示:
但是warpPerspective()函数需要“更多时间”才能扭曲为完整图像,如图所示,该函数还有其他选择可以将图像中的对象扭曲为完整图像。
或遍历会有所帮助吗?但这很难做到,这样我可以减少warpPerspective()函数花费的时间。
最佳答案
您可以尝试处理rotation和translation矩阵(或旋转平移矩阵,两者的组合),它们可以使图像变形。函数warpPerspective()使用类似的方法,因此您基本上将有机会查看函数内部。
该方法是:
原始图像以查找输出图像的尺寸。
(x,y)坐标到矩阵R
(旋转/平移/旋转平移矩阵)以获取
输出图像上的坐标(xo,yo)。
相应的原始图像坐标(x,y)。
有时在输出图像上可能会留下空白点
但是,如果您使用Python工作,则其实现可能比warpPerspective()还要慢,因此您可以考虑使用C++。另一件事是OpenCV使用C++编译器,而且我很确定OpenCV中warpPerspective()的实现非常有效。
因此,我认为您可以解决warpPerspective()的问题,但是,我不确定是否可以在没有任何提升(例如GPU,强大的CPU等)的情况下比OpenCV更快地完成它:)
祝好运!
关于python - 替代opencv warpPerspective,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56325847/