MCPcopy Create free account
hub / github.com/OpenImagingLab/4DSloMo / getProjectionMatrixCenterShift

Function getProjectionMatrixCenterShift

utils/graphics_utils.py:74–92  ·  view source on GitHub ↗
(znear, zfar, cx, cy, fl_x, fl_y, w, h)

Source from the content-addressed store, hash-verified

72 return P
73
74def getProjectionMatrixCenterShift(znear, zfar, cx, cy, fl_x, fl_y, w, h):
75 top = cy / fl_y * znear
76 bottom = -(h-cy) / fl_y * znear
77
78 left = -(w-cx) / fl_x * znear
79 right = cx / fl_x * znear
80
81 P = torch.zeros(4, 4)
82
83 z_sign = 1.0
84
85 P[0, 0] = 2.0 * znear / (right - left)
86 P[1, 1] = 2.0 * znear / (top - bottom)
87 P[0, 2] = (right + left) / (right - left)
88 P[1, 2] = (top + bottom) / (top - bottom)
89 P[3, 2] = z_sign
90 P[2, 2] = z_sign * zfar / (zfar - znear)
91 P[2, 3] = -(zfar * znear) / (zfar - znear)
92 return P
93
94def fov2focal(fov, pixels):
95 return pixels / (2 * math.tan(fov / 2))

Callers 1

__init__Method · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected