# Project Status ## 기능 현황 | 기능 | 상태 | 비고 | |------|------|------| | YouTube 다운로드 | ✅ 완료 | yt-dlp, 1080p 우선 다운로드 | | 프레임 추출 | ✅ 완료 | fps=2, MAX_FRAME_WIDTH=1280 캡 | | 패턴 감지 (overlay) | ✅ 완료 | Tab 라인 검증 포함 | | 패턴 감지 (split) | ✅ 완료 | 밝기 기준 엄격화 | | 패턴 감지 (scroll) | ✅ 완료 | 기본 폴백 | | HSV 기반 Tab 검출 | ✅ 완료 | 2-tier HSV 마스크, 960px 업스케일 | | MSE 기반 중복 제거 | ✅ 완료 | 480px 정규화 비교 | | pHash 클러스터 중복제거 | ✅ 완료 | dHash 32×32(1024bit), max_hamming=20 | | 파노라마 스티칭 | ✅ 완료 | 템플릿 매칭 수평 스크롤 합성 | | 오버레이 정규화 비교 | ✅ 완료 | 480×180 정규화 + 전체 히스토리 MSE 비교 | | OCR 기반 마디번호 중복 제거 | ✅ 완료 | easyocr 기반 상단 숫자 판독 보조 | | PDF/PNG 생성 | ✅ 완료 | A4 + 롱 이미지 | ## 처리 파이프라인 (scroll) ``` Raw Frames → HSV Strip 검출 → Median Crop → MSE 1차 → 파노라마 스티칭 → pHash 2차 → OCR 3차 → PDF ``` ## 최근 변경 | 날짜 | 변경 내용 | |------|-----------| | 2026-03-27 | **[BUG1]** `_merge_scroll_candidates` 씬전환 가속도 조건 제거 → 씬전환 오탐 9→1 | | 2026-03-27 | **[BUG2]** `merge_panoramas_list` 매칭 임계치 0.60→0.50 → 파노라마 분리 3→1 | | 2026-03-27 | **[BUG3]** `_detect_measure_bars` 마디선 최소간격 필터 100px 추가 → 오탐(17px) 제거 | | 2026-03-25 | 마디번호 기반 중복 검색 기능(OCR) 파이프라인 적용 | | 2026-03-25 | 1080p 우선 다운로드 + MAX_FRAME_WIDTH=1280 캡 (OOM 방지) | | 2026-03-25 | dHash 32×32 + max_hamming=20으로 pHash 정밀도 향상 | | 2026-03-25 | 파노라마 스티칭: 템플릿 매칭 스크롤 오프셋 검출 + 연속 프레임 합성 | | 2026-03-24 | 패턴 감지 고도화: overlay→split→scroll 우선순위 | ## 알려진 제한사항 - 프레임 하단 기타리스트 영상이 탭 행 아래에 소량 노출됨 (`_trim_to_content` 개선 필요) - 순차 영상 처리 시 메모리 누적 주의 (gc.collect 필수) - test_pipeline.py 아직 메인 코드와 완전 통합 안 됨