|
发表于 2009-3-25 19:19:28
|
显示全部楼层
MTKPHONE在另外的一个贴子当中早就提到两种实现2D到3D视觉变换:
1. BILINEAR transform
2. PERSPECTIVE transform
Bilnear transform实现起来简单, 计算量小, 对变形(distort)不是太大的情况下基本能满足需求, 但效果欠佳, 可以说是一个伪Perspective变换
Perspective transform 效果最好, 当然复杂且慢.
再来看MTK的做法:
/*
* transformation
*/
typedef enum
{
GUI_EFFECT_AFFINE_TRANSFORM_SUBSAMPLE_MODE_NEAREST,
GUI_EFFECT_AFFINE_TRANSFORM_SUBSAMPLE_MODE_BILINEAR,
GUI_EFFECT_AFFINE_TRANSFORM_SUBSAMPLE_MODE_END
} gui_effect_affine_transform_subsample_mode_enum;
typedef enum
{
GUI_EFFECT_PROJECTIVE_TRANSFORM_SUBSAMPLE_MODE_NEAREST,
GUI_EFFECT_PROJECTIVE_TRANSFORM_SUBSAMPLE_MODE_BILINEAR,
GUI_EFFECT_PROJECTIVE_TRANSFORM_SUBSAMPLE_MODE_END
} gui_effect_projective_transform_subsample_mode_enum;
从MTK的申明来看:
哈哈, MTK的仿射及投影都是采用一种 bilinear 作法
...
下回分解! |
|