rotação de imagem round robin qual é a melhor maneira de fazer em opencv

Eu quero fazer uma rotação de imagem round robin como mostrado abaixo.

A linha vertical x do início da imagem é removida e adicionada ao final da imagem.

Qual é a melhor maneira de fazer isso no OpenCV, GDI ++ e WPF? Eu preciso de uma solução para cada uma dessas plataformas, mas elas poderiam ser implementadas de maneira diferente.

Eu preciso implementá-lo em uma função com a seguinte assinatura (para opencv)

  Mat CircShift(Mat inputImage, int PixelInXdirectionToShift);

Eu sei como posso fazer isso através da manipulação de pixels, mas estou procurando uma solução que faz isso muito rápido quando a manipulação de pixels não é tão rápida.

questionAnswers(2)

yourAnswerToTheQuestion