docstr: Augment a set of frames by adding distractors to each by mapping each
  frame with `apply_augmentation` method
  
  @param video_temp_path: local temp path of the video to be augmented
  
  @param kwargs: parameters to pass into apply_augmentation
  
  @returns: path to the temp directory containing augmented frames
docstr_tok: ["Augment","a","set","of","frames","by","adding","distractors","to","each","by","mapping","each","frame","with","`","apply_augmentation","`","method","@","param","video_temp_path",":","local","temp","path","of","the","video","to","be","augmented","@","param","kwargs",":","parameters","to","pass","into","apply_augmentation","@","returns",":","path","to","the","temp","directory","containing","augmented","frames"]
code: def augment(self, video_temp_path: str, fps: float, **kwargs) -> str:
      """
      Augment a set of frames by adding distractors to each by mapping each
      frame with `apply_augmentation` method
  
      @param video_temp_path: local temp path of the video to be augmented
  
      @param kwargs: parameters to pass into apply_augmentation
  
      @returns: path to the temp directory containing augmented frames
      """
      video_temp_dir = Path(video_temp_path).parent
      frame_temp_dir = os.path.join(
          video_temp_dir, "raw_frames_distractor"
      )
      os.mkdir(frame_temp_dir)
      aug_frame_temp_dir = os.path.join(
          video_temp_dir, "aug_frames_distractor"
      )
      os.mkdir(aug_frame_temp_dir)
      extract_frames_to_dir(video_temp_path, frame_temp_dir)
  
      for raw_frame_file in os.listdir(frame_temp_dir):
          frame = cv2.imread(
              os.path.join(frame_temp_dir, raw_frame_file)
          )
          aug_frame = self.apply_augmentation(frame, **kwargs)
          cv2.imwrite(
              os.path.join(aug_frame_temp_dir, raw_frame_file),
              aug_frame,
          )
  
      shutil.rmtree(frame_temp_dir)
      return aug_frame_temp_dir
  
file_path: AugLy/augly/video/augmenters/cv2/base_augmenter.py
imports: import os
  import random
  import shutil
  from abc import ABC, abstractmethod
  from pathlib import Path
  from typing import Iterator, List, Optional, Tuple
  import cv2
  import numpy
  from augly import utils
  from augly.video.helpers import extract_frames_to_dir
label_desc: Use image node_id 2 for calling the BaseCV2Augmenter obj's underlying member method code with example usage: obj.augment(video_temp_path, fps) and returns: aug_frame_temp_dir