Skip to content

Instantly share code, notes, and snippets.

@papr
Created April 2, 2020 09:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save papr/c123d1ef1009126248713f302cd9fac3 to your computer and use it in GitHub Desktop.
Save papr/c123d1ef1009126248713f302cd9fac3 to your computer and use it in GitHub Desktop.
Pupil Player plugin that renders the current scene video frame index into the scene video
import logging
import cv2
from plugin import Plugin
logger = logging.getLogger(__name__)
class Frame_Index(Plugin):
def recent_events(self, events):
if "frame" in events:
frame = events["frame"]
player_frame_index = frame.index
self.draw_text(frame.img, f"Player Frame Index: {player_frame_index}")
@staticmethod
def draw_text(frame, frame_txt: str):
frame_txt_font_name = cv2.FONT_HERSHEY_SIMPLEX
frame_txt_font_scale = 1.0
frame_txt_thickness = 1
# first line: frame index
frame_txt_size = cv2.getTextSize(
frame_txt, frame_txt_font_name, frame_txt_font_scale, frame_txt_thickness
)[0]
frame_txt_loc = (
frame.shape[0] // 2 - frame_txt_size[0] // 2,
frame.shape[1] // 2 - frame_txt_size[1],
)
cv2.putText(
frame,
frame_txt,
frame_txt_loc,
frame_txt_font_name,
frame_txt_font_scale,
(255, 255, 255),
thickness=frame_txt_thickness,
lineType=cv2.LINE_8,
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment