In order to continue testing the root cause of the transport advancing rhythm, it was necessary to have some objective measurement of the sprocket hole position.
One of the alternatives in the forum is the method by @cpixit described in Simple Super-8 Sprocket Registration.
Another method was proposed by @npiegdon in the Simple(r?) Super-8 Sprocket Detection
In drinking from the firehose of the picamera2, python, and opencv, here is another idea.
Using Successive Approximations for Sprocket Hole Detection
This is a very rough prototype, but the results are impressive. Using the full resolution of the HQ sensor, an area of interest is extracted, and successive approximations used to determine the top and left edges of the sprocket hole.
The blue lines are the axis chosen for the y and x sampling, green corresponds to the top edge detected, and red corresponds to the left edge detected. The time presented is from prior to capture to prior to adding text and presentation.
The movement control is via USB serial with a simple protocol to control the PICO. The Putty screen echoes what the command translates to.
Intentionally, the sprocket is moved down outside the range of the successive approximation, and moved back into the range for illustration. Also in this test sequence is a splice that covers the sprocket hole.
While not implemented in the prototype, it would be simple and fast to probe in multiple locations (blue lines).
Will polish it a bit to continue testing the mechanics and transport but think this alternative speeds up the frame location sequence significantly.