Skip to content

CVKit Video Stabilizer (f8.cvkit.videostab)

No description.

  • Service class: f8.cvkit.videostab
  • Version: 0.0.1
  • Source directory: f8/cvkit/video_stab
  • Tags: cv, stabilization, video

When to Use

  • Use f8.cvkit.videostab to reduce camera shake before downstream analysis or viewing.
  • It is helpful when input footage has obvious hand motion, screen wobble, or camera jitter.
  • It is especially useful when later detection or tracking is sensitive to unstable imagery.

Common Wiring Patterns

  • A typical chain is video source -> f8.cvkit.videostab -> other CV modules.
  • Keep an original-video bypass when comparing quality and tuning parameters.
  • If stabilization is needed, it usually belongs early in the pipeline.

Pitfalls / Gotchas

  • Stabilization adds both compute cost and latency.
  • Aggressive settings can create crop, warp, or "floating" artifacts.
  • If the source is already stable enough, do not add this module just for appearance.

Service Reference

How to Run

../win/f8cvkit_video_stab_service.exe
  • Workdir: ./
  • Environment overrides: none

Typical Inputs / Outputs

  • Data inputs: none
  • Data outputs: motion, monitor
  • Commands: resetStabilizer

Service State Fields

Name Access Required On Node Schema Description
inputShmName rw true true string Input SHM name (e.g. shm.xxx.video).
outputShmName ro true true string Output SHM name generated from serviceId.
motionModel rw true false string / enum[affine, homography] / default=affine Global motion model used by stabilizer.
stabilizationMode rw true false string / enum[trajectory, instant] / default=trajectory trajectory=smooth accumulated path; instant=smooth per-frame motion.
smoothAlpha rw true false number / default=0.15 EMA alpha used for motion smoothing.
maxCornerCount rw true false integer / default=300 LK feature count.
qualityLevel rw true false number / default=0.01 goodFeaturesToTrack quality level.
minDistance rw true false number / default=8.0 Minimum corner distance.
ransacReprojThreshold rw true false number / default=3.0 RANSAC reprojection threshold.
resetOnFailureFrames rw true false integer / default=5 Reset internal stabilizer state after N consecutive failures.
sceneCutEnabled rw true false boolean Enable scene cut detection and reset-on-cut behavior.
sceneCutFrameDiffThreshold rw true false number / default=18.0 Scene cut threshold for mean(abs(gray-prevGray)).
sceneCutTrackRatioThreshold rw true false number / default=0.25 Scene cut threshold for trackedPoints/max(prevPoints,1).
sceneCutCooldownFrames rw true false integer / default=5 Suppress repeated scene cut triggers for N frames after a cut.
sceneChangeCount ro true false integer Monotonic counter incremented when a scene cut is detected.
lastError ro true false string Last error message.
active rw true false boolean / default=True Service lifecycle state (activate/deactivate).
svcId ro true false string Readonly: current service instance id (svcId).

Key Fields That Matter

  • inputShmName (Input Video SHM, rw): Input SHM name (e.g. shm.xxx.video). Schema: string.
  • outputShmName (Output Video SHM, ro): Output SHM name generated from serviceId. Schema: string.
  • motionModel (Motion Model, rw): Global motion model used by stabilizer. Schema: string / enum[affine, homography] / default=affine.
  • stabilizationMode (Stabilization Mode, rw): trajectory=smooth accumulated path; instant=smooth per-frame motion. Schema: string / enum[trajectory, instant] / default=trajectory.
  • smoothAlpha (Smooth Alpha, rw): EMA alpha used for motion smoothing. Schema: number / default=0.15.
  • maxCornerCount (Max Corner Count, rw): LK feature count. Schema: integer / default=300.
  • qualityLevel (Quality Level, rw): goodFeaturesToTrack quality level. Schema: number / default=0.01.
  • minDistance (Min Distance, rw): Minimum corner distance. Schema: number / default=8.0.

Service Commands

resetStabilizer

Reset internal trajectory/smoothing state.

  • Show on node: true
  • Params: none

Service Data Input Ports

None

Service Data Output Ports

Name Required On Node Schema Description
motion true true object{corrAngleDeg, corrScale, corrTx, corrTy, ...} Per-frame estimated and smoothed motion parameters.
monitor true false object{active, alive, cpu, error, ...} Unified runtime monitor snapshots (health/resource/perf/error).

Operators

None

  • No bundled scenario references this node yet.