Convertendo entre VTK framebuffer e dados OpenCV Mat

Estou visualizando dados no VTK e quero pegar o buffer de quadros da janela de renderização e mostrá-los em um aplicativo OpenCV.

Atualmente, estou tentando isso através de:

void aig::VirtualScene::Mat(cv::Mat &m) {
  typedef unsigned char pixel;
  pixel *pixels = this->window_->GetRGBACharPixelData(0, 0, this->w_, this->h_, true);
  m = cv::Mat(this->h_, this->w_, CV_8UC4, pixels);
}

Mas estou terminando com uma imagem distorcida:

(de cabeça para baixo e inclinado, o que eu assumo é umdegrau questão.

Existe um erro óbvio neste código? Eu sei que a questão de cabeça para baixo é por causa da origem das duas coordenadas de dados. Principalmente interessado na questão da inclinação.

questionAnswers(1)

yourAnswerToTheQuestion