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.