window op• 데이터 종류: video → video
• 호출: import fullseye as fs; fs.ledger.background_subtraction_window(video, window: 'int' = 5, threshold: 'float' = 0.1) -> 'np.ndarray'(구현을 직접 호출하려면 import videostream; videostream.background_subtraction_window(video, window: 'int' = 5, threshold: 'float' = 0.1) -> 'np.ndarray', 원장에서 가져오려면 opsvideostream.get("background_subtraction_window"))
인과적 윈도 중앙값 배경 → 프레임별 0/1 전경 마스크 (T, H, W)(video).
프레임 t 마다 직전 window 장(max(0, t-window+1) .. t, 그 프레임자신을 포함)의 화소별 중앙값을 배경 bg 로 하고, |frame_t - bg| > threshold 를 1, 그 외를 0 으로 한다. 미래 프레임은 보지 않으므로(인과적) 앞부분에서는장수가 모자라는 만큼 창이 짧다.
• video: (T, H, W) 배열, 또는 같은 형태·같은 dtype 의 2-D 프레임 list. uint8/uint16 은 dtype 최댓값으로 [0, 1] 로, float 는 그대로 [0, 1] 로클립. 컬러 (T, H, W, C) 는 받지 않는다. NaN/Inf 는 ValueError.
• window: 1~4096 의 int(bool 불가). 1 이면 배경 = 자기 자신이므로 전 화소 0. 짝수 장일 때의 중앙값은 가운데 2 값의 평균.
• threshold: [0, 1] 의 강도 단위(uint8 이면 /255 환산).
• 반환값: (T, H, W) float64 의 0 / 1.
• 실패: ValueError(형태·dtype·범위·비유한).
천천히 움직이는 물체는 window 장 이내에 배경으로 녹아들므로, 그 경우에는 running_gaussian_foreground(선택적 갱신)나 exponential_foreground 를. 배경 자체가 필요하면 temporal_median_window.
• mv_cables — 케이블(규격·속도·급전·로봇 케이블)
• mv_frame_grabbers — 프레임 그래버 보드(광학계는 아니지만 촬영 가능 여부를 정한다)
• mv_standards — 카메라 인터페이스 규격과 단체
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• video_streaming — py -3.11 examples/video_streaming.py
video 를 입력으로 받는 것)temporal_median_window · moving_average_window · frame_difference_causal · exponential_background · exponential_foreground · running_mean_std · optical_flow_magnitude_stream · motion_history_image
window)temporal_median_window · moving_average_window
*Provenance: videostream.py — VIDEOSTREAM 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.