非专业人士不使用脚架或代用品进行DV拍摄,会造成图像摇晃,这种抖动会严重影响拍摄质量。为了修正这一现象,特写出一个简单的程序,在前后帧进行图像分割、匹配,并返回旋转的角度。根据这一参数,对后一帧图像进行旋转,即可清除摄像机的摇晃。帧获取、压缩与图像平移对于本文内容而言太过简单,在此略过。
下列各图分别为:图A、图B分别为两帧图像。图C为匹配后的数据。图D为返回的旋转结果。旋转后的图像的物体边沿有锯齿现象,是自写的旋转函数不完整造成的,于 20100205 将双线性插值法的旋转结果放到页面。
图1.1 视图A
图1.2 视图B
图1.3 自动运算的结果
图1.3.1 运用双线性插值法进行旋转的效果
图1.4 运算中正确匹配的参数
图2.1 视图A
图2.2 视图B
图2.3 自动运算的结果
图2.3.1 运用双线性插值法进行旋转的效果
图2.4 运算中正确匹配的参数
图3.1 视图A
图3.2 视图B
图3.3 自动运算的结果
图3.3.1 运用双线性插值法进行旋转的效果
图3.4 运算中正确匹配的参数
图4.1 视图A
图4.2 视图B
图4.3 自动运算的结果
图4.3.1 运用双线性插值法进行旋转的效果
图4.4 运算中正确匹配的参数
图5.1 视图A
图5.2 视图B
图5.3 自动运算的结果
图5.4 运算中正确匹配的参数
注:其中图4与图5的样本不但有旋转的情况,还稍稍增加了一点焦点距离的变化,借此可模拟摄像机的移动过程。因图4中物体尺寸变化较大,会出现随机的计算误差,导致返回的结果出错。改进ing...
注2:很多朋友指出,这个程序中使用的旋转算法不太好,边缘效应明显,于是重写了一个双线性插值的算法,放在我的资源里了,效果要好得多,不过耗时稍长一点。最近有点空,就用这个双线性插值法的函数重新做了一次旋转操作,详见 x.3.1,不过旋转所需的角度参数是估计的,并且手工输入到旋转程序,所以和原结果稍有出入。