I am attempting to make these GUI steps into a script. When I follow this process manually, I get a tracking error under 1 and I get some great matches. This is far better than autotrack.
import bpy
Step 1 - Set tracking settings extra correlation to .99:
bpy.data.movieclips["Name.png"].(null) = 0.99
Step 2 - Loop through 1000 times
When in loop, it loops but only tracks one frame forward:
for loopv in range (1000):
Step 3 - Detect Features
bpy.ops.clip.detect_features(ctx)
Step 4 - Track Features 1 Frame
bpy.ops.clip.track_markers(ctx,backwards=False, sequence=False)
Step 5 - Deselect all features
bpy.ops.clip.select_all(ctx,action='TOGGLE')
or
bpy.ops.object.select_all(ctx,action='DESELECT')
Step 6 - End Indentation of loop and Return to Step 2
This is my current code. I have to hit Run Script. over and over, for it to work and go through all the frames of the clip.
import bpy
import random
#for loopv in range (1000):
ctx = bpy.context.copy()
for area in bpy.context.screen.areas:
if area.type == 'CLIP_EDITOR':
ctx['area'] = area
bpy.ops.clip.select_all(ctx,action='DESELECT')
bpy.ops.clip.detect_features(ctx)
bpy.ops.clip.track_markers(ctx,backwards=False, sequence=False)
import bpy import random ctx = bpy.context.copy() for area in bpy.context.screen.areas: if area.type == 'CLIP_EDITOR': ctx['area'] = area bpy.ops.clip.select_all(ctx,action='DESELECT') for loopv in range (10): bpy.ops.clip.detect_features(ctx) bpy.ops.clip.track_markers(ctx,backwards=False, sequence=False)
@batFinger $\endgroup$detect_features()
and track them per frame which apparently gives better results @batFINGER OP just wants to avoid clicking run script over and over again. $\endgroup$