Files
GhiVideo/docs/history/2026-06-24_1129_세로화각보정-sensorH전환.md
T
b23042andClaude Opus 4.8 78fc090360 초기 커밋: 스테이션(측점) 기반 주행영상 플레이어
- 클라이언트(React/Vite): Video.js 플레이어, 하단 스테이션바, POI/구조물 영상 오버레이, 카메라 파라미터 보정, 미니맵/RoutePanel
- 서버(Express): Range 스트리밍, HLS 변환, 프레임 추출, tus 업로드, 주석 API
- 최근 작업: 스테이션바 종점역 표출/양끝 정렬/미도착(재생불가) 표시, POI 라벨 '구분' 우선·컴팩트 팝업·겹침제외 토글·동일좌표 다중행, 진행방향(상/하) 우선 표출, 커서 배지 크기·픽셀 떨림 개선

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 16:37:57 +09:00

36 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FOV 보정을 세로화각(sensorH) 전용으로 전환 — 가로(중심선) 안 틀어지게
**날짜**: 2026-06-24
**수정 파일**: `client/src/components/overlay/StationOverlay.tsx`
**관련**: [2026-06-24_1117_1클릭-FOV초점-보정.md](2026-06-24_1117_1클릭-FOV초점-보정.md)
## 결정적 단서 (사용자)
- 카메라 패널에 **영상 해상도 정상 표시** → cover 정렬 동작 중(가로/세로 매핑 OK).
- 현재 **f = 24.0mm**.
- **f 보정 시 빨간 중심선(스테이션선)이 좌우로 벗어남.**
## 해석
중심선이 가로로 잘 맞고 있다 = 가로(f/sW)는 정확. f 는 가로·세로 공통 배율이라 세로를
맞추려고 f 를 바꾸면 **멀쩡한 가로가 틀어짐**. 따라서 잔차는 **세로 화각만 어긋남 → sensorH**.
## 조치 — FOV 보정을 sensorH 역산으로 교체
드롭점의 세로(py)만 맞추고 가로(f/sW)는 그대로:
```
py = 0.5 + cy0 + (Yc/Zc)·(f/sH) → sH = (Yc/Zc)·f / (py* 0.5 cy0)
```
- f·sensorW(가로) 미변경 → 중심선 좌우 위치 불변.
- sensorH 만 갱신(clamp 6~36, 슬라이더 범위) → 상하 벌어짐만 교정.
- 세로 중심 근처(|py0.5cy0|<0.03)면 역산 불안정 → 무시 + 안내(위/아래 떨어진 POI 사용).
- UI: "🎯 세로화각 보정", 현재 senH 표시, 안내 InfoTip 갱신.
## 사용법
1. 🎯 **세로화각 보정** 모드 ON.
2. **세로 중심에서 위(먼 POI)/아래(가까운 POI)로 충분히 떨어진** POI 하나를 영상 속 실제 위치로 드래그.
3. sensorH 자동보정 → 상하 정렬, 빨간 중심선 좌우는 그대로. 데이터셋별 저장.
## 검증
- `npm run build -w client` (node20) tsc + vite build 통과.
**소요 시간**: 약 8분
**Context 사용량**: input ~360k / output ~5k tokens