算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
video-visualization【设计与创意】Guide Norfair video I/O, overlay drawing, path rendering, and camera-motion stabilization workflows.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this sub-skill when the task is about Norfair's OpenCV-backed video and visualization utilities: reading video files or camera feeds with Video, iterating frame sequences with VideoFromFrames, writing annotated video, drawing detections or tracked objects as points/boxes, keeping trajectories visible, estimating moving-camera transforms, rendering absolute paths/grids, or stabilizing a panning/tilting camera with FixedCamera.
draw_points, draw_boxes, legacy draw_tracked_objects, and legacy draw_tracked_boxes for centroids, keypoints, or two-corner boxes.Paths or motion-aware trails with AbsolutePaths.MotionEstimator, TranslationTransformationGetter, or HomographyTransformationGetter and passing coordinate transformations to downstream overlays.FixedCamera or draw_absolute_grid.Color, Palette, Drawable, or Drawer.Open API reference to confirm import paths, accepted drawable shapes, return values, and which classes are top-level exports versus module-level imports.
Pick the closest loop from workflows: video round-trip, points-vs-boxes overlay, path rendering, VideoFromFrames, or moving-camera stabilization.
Use troubleshooting for OpenCV import errors, invalid video paths, codec/writer failures, missing frame files, hidden dead points, path/grid misuse, MotionEstimator.update(...) is None, or fixed-camera cropping warnings.
For a dependency-light local check, run:
python scripts/video_smoke.py
python scripts/camera_motion_smoke.py
Add --output-dir ./norfair-video-smoke if you want to keep the tiny generated videos for visual inspection.
scripts/video_smoke.py: tiny synthetic video round-trip with point/box overlays and a path trail.scripts/camera_motion_smoke.py: synthetic motion-estimation and fixed-camera smoke with absolute grids and stabilized output.Tracker constructor choices, distance functions, thresholds, initialization, ReID, hit counters, and core Detection/TrackedObject behavior: use ../tracking-core/SKILL.md.../evaluation/SKILL.md.norfair[video] or opencv-python) as required for every API in this sub-skill except pure color parsing.Video.write(frame). When using FixedCamera, draw everything else first and call FixedCamera.adjust_frame(...) last.draw_points and draw_boxes in new code. The draw_tracked_* names are preserved for older snippets, but they are deprecated wrappers.tracking-core; this sub-skill owns the visualization loop, masks for motion estimation, coordinate-transform usage, and debugging overlays.