結尾停車砍到底: 停到影片結尾不留 keep_after_stop 尾巴
- 停車一路停到影片最後(結尾即 GPS 0)時,沒有起步要留 → 移除段砍到影片結尾,不保留卡達秒數 - 結尾的停車不論長短一律砍(即使不到 STOP_SECONDS 門檻) - 已用既有 speeds.csv 重放驗證: 最後一段由 11:59~12:09 延伸到 11:59~12:11 本次調整由 Claude Opus 4.8 (1M context) 協助處理。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+11
-4
@@ -361,11 +361,18 @@ def find_keep_intervals(samples: List[Sample], duration: float, interval: float
|
|||||||
run_end = min(samples[j].t + interval, duration)
|
run_end = min(samples[j].t + interval, duration)
|
||||||
run_dur = run_end - run_start
|
run_dur = run_end - run_start
|
||||||
|
|
||||||
# 連續停止超過門檻 → 列為移除(等紅燈)
|
# 是否一路停到「影片結尾」(結尾就是 GPS 0)
|
||||||
if run_dur >= STOP_SECONDS:
|
at_end = run_end >= duration - 1e-3
|
||||||
# 進入紅燈端往前多砍 CUT_BEFORE_STOP 秒(連減速進站一起砍);
|
|
||||||
# 綠燈起步端提早 KEEP_AFTER_STOP 秒結束(多留卡達起步畫面)。
|
# 列為移除的條件: 達到紅燈門檻,或停到影片結尾(結尾停車一律砍掉)
|
||||||
|
if run_dur >= STOP_SECONDS or at_end:
|
||||||
|
# 進入紅燈端往前多砍 CUT_BEFORE_STOP 秒(連減速進站一起砍)。
|
||||||
rstart = max(0.0, run_start - CUT_BEFORE_STOP)
|
rstart = max(0.0, run_start - CUT_BEFORE_STOP)
|
||||||
|
if at_end:
|
||||||
|
# 停到影片結尾: 沒有起步要留 → 砍到底,不保留 KEEP_AFTER_STOP
|
||||||
|
rend = run_end
|
||||||
|
else:
|
||||||
|
# 一般紅燈: 綠燈起步端提早 KEEP_AFTER_STOP 秒結束(多留卡達起步)
|
||||||
rend = run_end - KEEP_AFTER_STOP
|
rend = run_end - KEEP_AFTER_STOP
|
||||||
if rend > rstart:
|
if rend > rstart:
|
||||||
removals.append((rstart, rend))
|
removals.append((rstart, rend))
|
||||||
|
|||||||
Reference in New Issue
Block a user