On mercredi 19 juin 2013, ALD wrote:
> Bonsoir,
>
> j'ai besoin de corriger le keystone (parallélisme) d'une image faite par
> un vidéo projecteur qui ne contient pas cette fonction.
>
> connaissez vous une possibilité de le faire au niveau logiciel? la
> puissance de l'ordinateur n'est pas un probleme.
>
> A+
xrandr sait faire ça ! Je suis tombé dessus il y quelques temps. Il faut utiliser l'option
--transform... Par contre, je te laisse chercher/calculer la matrice ;o)
−−transform a,b,c,d,e,f,g,h,i
Specifies a transformation matrix to apply on the output. Automatically a bilinear filter is
selected. The mathematical form corresponds to:
a b c
d e f
g h i
The transformation is based on homogeneous coordinates. The matrix multiplied by the coordinate
vector of a pixel of the output gives the transformed coordinate vector of a pixel in the
graphic buffer. More precisely, the vector (x y) of the output pixel is extended to 3 values (x
y w), with 1 as the w coordinate and multiplied against the matrix. The final device
coordinates of the pixel are then calculated with the so-called homogenic division by the
transformed w coordinate. In other words, the device coordinates (x’ y’) of the transformed
pixel are:
x’ = (ax + by + c) / w’ and
y’ = (dx + ey + f) / w’,
with w’ = (gx + hy + i).
Typically, a and e corresponds to the scaling on the X and Y axes, c and f corresponds to the
translation on those axes, and g, h, and i are respectively 0, 0 and 1. The matrix can also be
used to express more complex transformations such as keystone correction, or rotation. For a
rotation of an angle T, this formula can be used:
cos T -sin T 0
sin T cos T 0
0 0 1
--
Frédéric