视频输出的水平梯形校正

视频输出的水平梯形校正

我想将投影仪放在房间的一侧,而不是直接放在屏幕前面。问题是,如果我这样做,我显然会得到扭曲的图像,在屏幕的另一侧会高得多。你们有人知道是否有任何软件可以数字编辑计算机视频输出的水平梯形校正吗?我使用的是计算机的 VGA 输出。

我在 MacBook Pro 上使用 Windows 8。

答案1

由于您没有指定操作系统,我可以假设它是 GNU/Linux。在这种情况下,有xrandr一个命令,带有--transform选项。玩得开心!(:

xrandr 手册页(查看其他选项,例如--out):

--transform a,b,c,d,e,f,g,h,i

指定要应用于输出的变换矩阵。自动选择双线性滤波器。数学形式对应于:

a b c
d e f
g h i

变换基于齐次坐标。矩阵乘以输出像素的坐标向量,得到图形缓冲区中像素的变换坐标向量。更准确地说,输出像素的向量 (xy) 扩展为 3 个值(xyw),以 1 为坐标并乘以矩阵。然后使用所谓的同质除法通过变换后的坐标。换句话说,设备坐标(x'y')变换后的像素为:

x' = (ax + by + c) / w' and
y' = (dx + ey + f) / w' ,
with  w' = (gx + hy + i)  .

通常情况下,a对应e于缩放X轴,cf对应于这些轴上的平移,而ghi分别为 0、0 和 1。矩阵还可用于表达更复杂的变换,例如梯形校正或旋转。对于角度的旋转电视,可以使用以下公式:

 cos T  -sin T   0
 sin T   cos T   0
  0       0      1

作为一个特殊参数,可以传递字符串而不是矩阵none,在这种情况下使用默认值(没有过滤器的单位矩阵)。

相关内容