Phase-correlation on the treeline/horizon band (rows 70-90%) found:
tx = -3324 px (north is 3324 px to the left of sunrise)
ty = -85 px (north camera is 85 px higher — slight tilt difference)
overlap = 516 px wide, feather-blended with a horizontal gradient
Result in images/stitch-preview/north-sunrise-aligned-preview.jpg:
7164x2075 px panorama with continuous horizon and treeline.
Cloud "V" at seam is a 36-second inter-shot artefact only; live video
frames captured simultaneously will have no such discontinuity.
stitch-cameras.py: accepts tx/ty overrides as argv[4]/argv[5] so the
offsets can be tuned without code changes.
https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ
- images/stitch-preview/north-sunrise-hstack.jpg:
naive side-by-side preview of the two skycams at 14:29 on 2026-04-17
- images/stitch-preview/feature-matches-debug.jpg:
close-up of overlap region (right 40% of north × left 40% of sunrise)
with ORB Lowe-ratio matches drawn — 39 candidates, RANSAC survives only
4 inliers because the 90° perspective offset invalidates a similarity
transform. Overlap IS present (trees, houses, power poles visible in
both) but full homography needs more/better tie points.
- stitch-cameras.py: reusable script that generates both previews plus a
similarity-transform .txt for reuse in ffmpeg filter chains once we
have enough matches (or manual tie-points).
https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ