mirror of
https://git.datalinker.icu/kijai/ComfyUI-KJNodes.git
synced 2026-09-06 07:16:58 +08:00
Update camera pose visualizer
This commit is contained in:
parent
6e1fa8d37a
commit
53959a0535
21
nodes.py
21
nodes.py
@ -4319,6 +4319,9 @@ class CameraPoseVisualizer:
|
|||||||
"z_max": ("FLOAT", {"default": 5.0,"min": -100, "max": 100, "step": 0.01}),
|
"z_max": ("FLOAT", {"default": 5.0,"min": -100, "max": 100, "step": 0.01}),
|
||||||
"use_viewer": ("BOOLEAN", {"default": False}),
|
"use_viewer": ("BOOLEAN", {"default": False}),
|
||||||
},
|
},
|
||||||
|
"optional": {
|
||||||
|
"cameractrl_poses": ("CAMERACTRL_POSES", {"default": None}),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN_TYPES = ("IMAGE",)
|
RETURN_TYPES = ("IMAGE",)
|
||||||
@ -4329,7 +4332,7 @@ Visualizes the camera poses from a .txt file with
|
|||||||
RealEstate camera intrinsics and coordinates in a 3D plot.
|
RealEstate camera intrinsics and coordinates in a 3D plot.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def plot(self, pose_file_path, sample_stride, frames, base_xval, zval, use_exact_fx, relative_c2w, x_min, x_max, y_min, y_max, z_min, z_max, use_viewer):
|
def plot(self, pose_file_path, sample_stride, frames, base_xval, zval, use_exact_fx, relative_c2w, x_min, x_max, y_min, y_max, z_min, z_max, use_viewer, cameractrl_poses=None):
|
||||||
import matplotlib as mpl
|
import matplotlib as mpl
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import io
|
import io
|
||||||
@ -4345,10 +4348,18 @@ RealEstate camera intrinsics and coordinates in a 3D plot.
|
|||||||
self.ax.set_ylabel('y')
|
self.ax.set_ylabel('y')
|
||||||
self.ax.set_zlabel('z')
|
self.ax.set_zlabel('z')
|
||||||
print('initialize camera pose visualizer')
|
print('initialize camera pose visualizer')
|
||||||
with open(pose_file_path, 'r') as f:
|
if pose_file_path != "":
|
||||||
poses = f.readlines()
|
with open(pose_file_path, 'r') as f:
|
||||||
w2cs = [np.asarray([float(p) for p in pose.strip().split(' ')[7:]]).reshape(3, 4) for pose in poses[1:]]
|
poses = f.readlines()
|
||||||
fxs = [float(pose.strip().split(' ')[1]) for pose in poses[1:]]
|
w2cs = [np.asarray([float(p) for p in pose.strip().split(' ')[7:]]).reshape(3, 4) for pose in poses[1:]]
|
||||||
|
fxs = [float(pose.strip().split(' ')[1]) for pose in poses[1:]]
|
||||||
|
print(poses)
|
||||||
|
elif cameractrl_poses is not None:
|
||||||
|
poses = cameractrl_poses
|
||||||
|
w2cs = [np.array(pose[7:]).reshape(3, 4) for pose in cameractrl_poses]
|
||||||
|
fxs = [pose[1] for pose in cameractrl_poses]
|
||||||
|
else:
|
||||||
|
raise ValueError("Please provide either pose_file_path or cameractrl_poses")
|
||||||
|
|
||||||
cropped_length = frames * sample_stride
|
cropped_length = frames * sample_stride
|
||||||
total_frames = len(w2cs)
|
total_frames = len(w2cs)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user