1 | initial version |

You need to create a `2x3`

(sic!) transformation matrix suited for `cv::warpAffine()`

:

```
| 1 0 tx |
| 0 1 ty |
```

You translation is then given as by the vector `(tx, ty)`

.

Note: `warpAffine`

requires a `2x3`

matrix although technically it is better to think in `3x3`

matrices for 2-D homogenous coordinates (the third row would be set implicitly to `0 0 1`

in this case).

2 | No.2 Revision |

You need to create a `2x3`

(sic!) transformation matrix suited for `cv::warpAffine()`

:

```
| 1 0 tx |
| 0 1 ty |
```

You translation is then given as by the vector `(tx, ty)`

.

Note: `warpAffine`

requires a `2x3`

matrix although technically it is better to think in `3x3`

matrices for 2-D homogenous coordinates (the third row would be set implicitly to `0 0 1`

in this case).

Alternatively: If you only want a pure shift and nothing else you may simply shift the image within the corresponding `cv::Mat`

object. Which is certainly faster but constrained to pure translations.

Copyright OpenCV foundation, 2012-2018. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.