GStreamer Pan Tilt Zoom and Rotate Element - Rotate

From RidgeRun Developer Wiki



Previous: Zoom Index Next: Rectangle




This page serves as a reference on how to adjust rotate values on GstPTZR.

Rotate Generalities

The rotate effect is achieved by rotating the input image pixels about the origin, so that the capture region seems to be rotating in the opposite direction. Even thought the rotation is performed about the origin of the input image, the translation factor is corrected to make it seen like the rotation is actually made about the center of the capture region. To perform rotations the following parameters are used:

rotate-level
The desired rotation about the depth axis with origin on the center of the capture region
rotate-delta
The desired rotation about the depth axis starting from the current capture region angle

The following sections describe in more detail each of the possible rotation configurations.

Rotate Level

rotate-level < 0

When the rotate level is set to a negative value, a clockwise rotation of the capture region is expected. This rotation will create the effect that the input image is rotating counter clockwise. The rotation will be performed about the depth axis with origin on the center of the current capture region. Figure 1 exemplifies this concept.

Figure 1. GstPTZR configured with rotate-level=-45 on Bartok the Dachshund

rotate-level > 0

When the rotate level is set to a positive value, a counter clockwise rotation of the capture region is expected. This rotation will create the effect that the input image is rotating clockwise. The rotation will be performed about the depth axis with origin on the center of the current capture region. Figure 2 exemplifies this concept.

Figure 2. GstPTZR configured with rotate-level=45 on Bartok the Dachshund

Rotate Level

rotate-delta

The delta variation of rotate-level has the same behavior described before, except the final rotate is calculated as current rotate-level + rotate-delta.

Rotate Limits

There is not really a limit for the rotate-level and rotate-level, any positive or negative real number can be used. The only consideration to have is that, even thought the translation is limited to avoid showing black borders, they may appear when performing rotations near the border of the input image. This behavior is shown in figure 3.

Figure 3. GstPTZR configured with pan-level=-1 tilt-level=-1 rotate-level=45 on Bartok the Dachshund


Previous: Zoom Index Next: Rectangle