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.videostabto 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
Related Scenarios¶
- No bundled scenario references this node yet.