I Ansichten eines 3D-Netzes in VTK zu machen versuche, ich tue das folgende:OpenGL/VTK: Einstellung kameraintrinsische Parameter
vtkSmartPointer<vtkRenderWindow> render_win = vtkSmartPointer<vtkRenderWindow>::New();
vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();
render_win->AddRenderer(renderer);
render_win->SetSize(640, 480);
vtkSmartPointer<vtkCamera> cam = vtkSmartPointer<vtkCamera>::New();
cam->SetPosition(50, 50, 50);
cam->SetFocalPoint(0, 0, 0);
cam->SetViewUp(0, 1, 0);
cam->Modified();
vtkSmartPointer<vtkActor> actor_view = vtkSmartPointer<vtkActor>::New();
actor_view->SetMapper(mapper);
renderer->SetActiveCamera(cam);
renderer->AddActor(actor_view);
render_win->Render();
Ich versuche, ein Rendering von einem kalibrierten Kinect zu simulieren, für was ich kenne die intrinsischen Parameter. Wie kann ich die intrinsischen Parameter (Brennweite und Hauptpunkt) auf die vtkCamera einstellen?
Ich möchte dies tun, so dass die 2D-Pixel - 3D-Kamera-Koordinaten gleich wären, als wäre das Bild von einem Kinect genommen.
Vielen Dank für diese Antwort!Ich habe eine Woche damit verbracht, die vtk-Kamera dazu zu bringen, dasselbe zu sehen, das ich mit einer Lochkamera sehen würde, und ich bekomme es fast richtig, aber es gab immer einen Unterschied. Die Kamera still zu lassen und die Szene zu bewegen hat gut funktioniert! – martinako
Das funktioniert! Große Wertschätzung! – alanwsx