ฉันเรนเดอร์รูปภาพใน vtk แล้ว ฉันต้องการฉายจุดภาพ (x,y) ไปยังพิกัดเฟรมของกล้อง 3 มิติ สำหรับแต่ละพิกเซล (x,y) ฉันมีค่า z ในเฟรมกล้อง (ได้มาจากบัฟเฟอร์ z)
ภายใต้การฉายภาพรูเข็ม วิธีมาตรฐานในการทำเช่นนี้คือ:
x_camera_frame = (x_pixel - cx) * z_camera_frame/ fx;
y_camera_frame = (y_pixel - cy) * z_camera_frame / fy;
โดยที่ fx
และ fy
คือทางยาวโฟกัส และ cx cy
เป็นจุดศูนย์กลางของการฉายภาพของกล้อง (พารามิเตอร์ภายใน)
ปัญหาคือ เมื่อใช้ vtkCamera
คุณสามารถตั้งค่าขอบเขตการมองเห็นได้เท่านั้น แต่ไม่มีวิธีตั้งค่าหรือรับทางยาวโฟกัสหรือจุดศูนย์กลางของการฉายภาพ ดังนั้น ฉันจะคำนวณ x_camera_frame
และ y_camera_frame
ได้อย่างไร