class_docstr: Camera motion compensation.
  
  Args:
      warp_mode (str): Warp mode in opencv.
          Defaults to 'cv2.MOTION_EUCLIDEAN'.
      num_iters (int): Number of the iterations. Defaults to 50.
      stop_eps (float): Terminate threshold. Defaults to 0.001.
class_docstr_tok: ["Camera","motion","compensation",".","Args",":","warp_mode","(","str",")",":","Warp","mode","in","opencv",".","Defaults","to","'cv2.MOTION_EUCLIDEAN","'",".","num_iters","(","int",")",":","Number","of","the","iterations",".","Defaults","to","50.","stop_eps","(","float",")",":","Terminate","threshold",".","Defaults","to","0.001","."]
docstr: Warp track.mean according to the warping matrix.
docstr_tok: ["Warp","track.mean","according","to","the","warping","matrix","."]
code: def warp_means(
      self, means: np.ndarray, warp_matrix: Tensor
  ) -> np.ndarray:
      """Warp track.mean according to the warping matrix."""
      cxcyah = torch.from_numpy(means[:, :4]).float()
      xyxy = bbox_cxcyah_to_xyxy(cxcyah)
      warped_xyxy = self.warp_bboxes(xyxy, warp_matrix)
      warped_cxcyah = bbox_xyxy_to_cxcyah(warped_xyxy).numpy()
      means[:, :4] = warped_cxcyah
      return means
  
file_path: mmdetection/mmdet/models/task_modules/tracking/camera_motion_compensation.py
imports: import cv2
  import numpy
  import torch
  from torch import Tensor
  from mmdet.registry import TASK_UTILS
  from mmdet.structures.bbox import bbox_cxcyah_to_xyxy, bbox_xyxy_to_cxcyah
label_desc: Use image node_id 4 for calling the CameraMotionCompensation obj's underlying member method code with example usage: obj.warp_means(means, warp_matrix) and returns: means