chore(docs): document ScoreExtractor tiling and refactor debug scripts (#563)

This commit is contained in:
2026-03-29 17:57:40 +09:00
parent 39b55f2e9f
commit ac0c098259
698 changed files with 141180 additions and 195 deletions

View File

@@ -0,0 +1,39 @@
import cv2
import numpy as np
from video_cv_tracker import TemporalTracker
import time
def extract_cropped_pages(video_path, limit_frames=3000):
cap = cv2.VideoCapture(video_path)
tracker = TemporalTracker(diff_threshold=0.20)
frames_processed = 0
while frames_processed < limit_frames:
ret, frame = cap.read()
if not ret: break
scale = 1280 / frame.shape[1]
frame = cv2.resize(frame, (1280, int(frame.shape[0] * scale)))
# Ultimate flawless crop derived from structural ASCII analysis:
# 103:280 precisely truncates before the top of the guitarist's head, isolating ONLY sheet music.
ribbon = frame[103:280, :]
tracker.process_frame(ribbon)
frames_processed += 1
pages = tracker.get_unique_pages()
cap.release()
return pages
if __name__ == "__main__":
video_path = "output/サカナクション/新宝島(エレキギターTAB) 難易度★★★ sakanaction shintakarajima.mp4"
pages = extract_cropped_pages(video_path)
print(f"Extracted {len(pages)} perfectly cropped median pages.")
if pages:
# Stack vertically
final_img = np.vstack(pages)
cv2.imwrite("C:/Users/Certes/.gemini/antigravity/brain/975cea00-dd68-4689-9ee3-f1a2408b4ee6/restored_perfect_crop.png", final_img)
print("Saved cleanly cropped vertical stack.")