Мало конкретики, а что собственно не получается. Если говорить в целом про геометрические трансформации. Сдвинуть ну просто вектор добавить, поворот матрицу с картинкой "умножить" (не по элементно конечно, математическое умножение (dot product) )" на матрицу с sin и cos, можешь загуглить какую именно, поменять размер опять таки математическое умножение на диагональную матрицу (все элементы 0 кроме тех что по диагонали) и т.д.
opencv все это дело как и многое другое естественно поддерживает.
https://docs.opencv.org/4.x/da/d6e/tutorial_py_geo... вот прямо из документации.
За одно и с нейронными сетями "косвенно" познакомишься. Геометрические трансформации в многомерном пространстве это именно то что происходит в
слое нейронной сети.