我可以按照自动矩形目标透视校正的方式,修正图像中旋转的卡片的透视角度,这个方法很好用且效果良好。但是纠正后的结果出现得很突然,我希望能够平滑地移动卡片,直到它成为全屏幕。抱歉我的描述不够清晰,但你可以在CamScanner中,在感兴趣区域选择活动页面上,点击确认按钮后看到类似的过程。谢谢您的关注。
根据您提供的链接上的教程(参见我标记的图像),您有图像的四个角a,b,c,d,并且您的最终目标是将其逐步扭曲变形为目标坐标:a',b',c',d'。但是您希望 逐步 进行此操作,以类似动画的方式显示。假设您想提供5个步骤的动画(步骤越多,动画越平滑,处理时间越长)。1)使用线性方程在b和b'之间找到4个更加等距的点。将其命名为b1、b2、b3、b4。对所有角落执行此操作,即对a、b、c、d进行操作,并用相同的方式进行命名。2)现在先对目标a1、b1、c1、d1应用透视变换,然后显示输出作为第一动画步骤。3)重复以上步骤4次并显示您的图像。4)最后显示您在a'、b'、c'、d'上的扭曲仿射结果。在这里,您可以提供一些简单而花哨的选项,例如亮度、自动对比度等。两点:首先,您可以看到CamScanner中的动画也很慢。其次,如果要显示平滑而快速的动画,请将图像缩小一半或四分之一,然后应用变换,最后将结果调整回原始尺寸。这将非常快,因为中间步骤是临时的,您不需要显示详细图像。除此之外,您还可以使用近似变换等方法。祝您好运,编码愉快!
warp-affine
保留平面(它是二维变换)。所以我必须使用warp-perspective
。 - hasanghaforian