由于工作的原因,我经常需要将一个斜着的图像拨正,变成一个正置的图像。在“造轮子之仿射变换”文章中,讨论了最基础的一种变换——仿射变换。仿射变换的特性——简单来说,就是如果一个平行四边形经过变化后还是一个平行四边形,那么这种变换就是仿射变换。然而,在我的工作中,也经常会遇到别种的情况:本来的物体是矩形的,但是由于种种原因,扫描到的图像成了梯形(但也不是很严重,只是稍稍有一点梯形的样子而已。)这个时候,仿射变换就无法起作用了。之前的替代方法一直是透视变化,这种变化OpenCV中有现成的方法,或许以后我也会来实现一下其底层的代码吧。不过现在,我是要来造另外一个轮子,也是用来做变换的,它的原理是用双线性插值的思想来做这种变换。
原图 变换之后由于简书上不支持Mathjax的编辑,因此,更多的细节请移步我的博客——造轮子之双线性变换,谢谢。
网友评论