2015-10-21 7 views
2

Возможно ли получить визуализированный кадр из визуализации VTK и передать его в OpenCV как изображение без фактического отображения окна VTK?Отображение визуализации VTK с использованием OpenCV вместо

Похоже, я должен быть в состоянии следовать this answer, чтобы получить обработанную VTK кадр из окна, а затем передать его в OpenCV код, но я не хочу, чтобы сделать окно VTK. (Я хочу сделать сетку PLY с помощью VTK для управления позицией камеры, а затем вывести отображаемый вид на OpenCV, чтобы я мог исказить его для приложения Oculus Rift).

Могу ли я это сделать, используя класс vtkRenderer, а не класс vtkRenderWindow?

Кроме того, я надеюсь сделать это все с использованием модуля OpenCV VTK, если это возможно.

EDIT: Я начинаю думать, что я должен делать это только с функциями VTK, так как большое внимание уделяется VTK и Oculus Rift в паре. Я бы предпочел использовать OpenCV, так как эта часть кода завершена и работает уже хорошо.

+0

Я не уверен, что вы можете пропустить рендеринг, поскольку он обеспечивает размер изображения. –

+0

'vtkRenderWindow' требуется при рендеринге самой VTK. «vtkRenderWindow »создает контекст OpenGl для рисования. – JohnnyQ

ответ

4

Вы должны сделать ваши окна рендеринга для визуализации форума, как это:

renderWindow->SetOffScreenRendering(1);

Затем использовать vtkWindowToImageFilter:

vtkSmartPointer<vtkWindowToImageFilter> windowToImageFilter = 
    vtkSmartPointer<vtkWindowToImageFilter>::New(); 
windowToImageFilter->SetInput(renderWindow); 
windowToImageFilter->Update(); 

Это называется Offscreen Rendering в ВТК. Here is a complete example

+0

Спасибо, куча, еще не пробовал, но это то, что мне нужно. –

+0

Я думаю, чтобы связать это с OpenCV Мне нужно захватить 'windowToImageFilter-> GetOutput()' который является типом 'vtkImageData', а затем преобразовать его в OpenCV, используя что-то вроде' cv :: Mat openCVImage (dims [0], dims [ 1], CV_8UC4, image-> GetScalarPointer()). Есть комментарии? –

+0

Я не знаю OpenCV, но часть VTK для доступа к данным - правильный путь. – JohnnyQ

 Смежные вопросы

  • Нет связанных вопросов^_^