overlay op• 데이터 종류: image2d × mask → table
• 호출: import fullseye as fs; fs.ledger.annotate_invert_visibility(img, mask, mode='complement', alpha=1.0, bits=128)(구현을 직접 호출하려면 import annotate; annotate.annotate_invert_visibility(img, mask, mode='complement', alpha=1.0, bits=128), 원장에서 가져오려면 opsannotate.get("annotate_invert_visibility"))
반전색이 그 바탕 위에서 실제로 보이는지를 그리기 전에 측정한다.
반전색의 이점은 "바탕색을 몰라도 된다"는 것이지만, 약점은 단 1개이고, 게다가 치명적이다 —— 중간조에서는 반전해도 같은 색이 된다. 8bit 그레이의 v=128에 대한 보색은 v=127이며, WCAG의 대비비는 1.014 (비 1.0이 "같은 색". 실측 2026-09-08). 비 1.5를 밑도는 대역은 v ∈ [113, 142]의 30/256 계조 = 전체 계조의 12 %에 이른다.
annotate_invert와 annotate_invert_path는 내부에서 이것을호출해 경고하지만, 직접 fail-closed(실패 시 거부)로 하고 싶을 때는 이 op으로 측정한뒤 그린다(min_contrast를 보고, 낮으면 mode="contrast"로 바꾼다).
img : (H,W) 또는 (H,W,C)
바탕. 값 범위 [0,1].
mask : (H,W)
반전을 얹을 곳. 참거짓 또는 [0,1]의 가중치. 형태가 다르면 예외.
mode : str
INVERT_MODES 중 하나.
alpha : float
반전의 효과. 그릴 때와 같은 값을 넘길 것 —— 보이는 방식은 "반전색"이 아니라
실제로 놓이는 색으로 정해지므로, alpha를 낮추면 답이 바뀐다.
dict
pixels(가중치 >= 0.5인 화소 수) / min_contrast /
median_contrast / invisible_fraction(비가
INVERT_MIN_CONTRAST 미만인 비율) / worst_xy(최악의 화소,
없으면 None).
>>> import numpy as np, annotate
>>> flat = np.full((8, 8), 128 / 255.0) # 중간조 —— 반전이 사라지는 바탕
>>> rep = annotate.annotate_invert_visibility(flat, np.ones((8, 8), bool))
>>> round(rep["min_contrast"], 3)
1.014
>>> rep["invisible_fraction"]
1.0
>>> annotate.annotate_invert_visibility(flat, np.ones((8, 8), bool),
... mode="contrast")["min_contrast"] > 4.5
True
• dataset_conventions — 학습 데이터셋 규약 지식 — COCO / YOLO / VOC와 외관 검사의 함정
• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.
• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.
• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.
• annotate_paper_tour — py -3.11 examples/annotate_paper_tour.py
table 를 입력으로 받는 것)—
overlay)overlay_mask · overlay_labels · annotate_invert · annotate_invert_path
*Provenance: annotate.py — ANNOTATE 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.