camera_calibration — CALIB calibrate op

• 데이터 종류: keypoints → table

• 호출: import fullseye as fs; fs.ledger.camera_calibration(object_points, image_points_list)(구현을 직접 호출하려면 import calib; calib.camera_calibration(object_points, image_points_list), 원장에서 가져오려면 opscalib.get("camera_calibration"))

• HALCON 대응: camera_calibration(의미·매개변수는 HALCON 레퍼런스가 참고가 됩니다)

• GPU: 없음(CPU 참조 구현만)

사용법

[부분 대응] Zhang 법으로 평면 타깃의 다시점에서 내부 행렬 K만 추정한다(camera_calibration).

> 아래 상세 설명은 원문입니다 —— 요약과 제목은 번역되어 있습니다.

する: Zhang の閉形式で K(fx, fy, cx, cy, skew)を求める。視点不足・退化・非有限は ValueError。

しない: レンズ歪みの推定と、K・歪み・外部パラメータの同時の非線形最適化(HALCON の camera_calibration の仕事)。歪みは camera.estimate_distortion で別に求める。HALCON 対応の数え方では「部分対応」で、対応済みには数えない(halcon_coverage.PARTIAL)。

[Partial HALCON analogue] Closed-form K only; no distortion, no joint non-linear refinement.

object_points: (N,2) 平面ターゲット座標 (x, y)(z=0 平面、ワールド単位)。image_points_list: 各視点の (N,2) 画素対応。(row, col) — このモジュールの他 API(project_3d_point の戻り値、image_points_to_world_plane の入力)と同じ規約。内部で (x=col, y=row) に並べ替えてから解くので、fx/cx は col 軸、fy/cy は row 軸の値になる(2026-09-02 以前は (x,y) として扱っており fx↔fy, cx↔cy が入れ替わっていた)。

fail-closed: 視点が 3 未満、すべての視点が正面平行(回転不足)で解が定まらない、または K が非有限/非正になる場合は ValueError(NaN を返さない)。戻り値の homographies は (x,y)→(x=col,y=row) の 3x3、reproj_rms は各視点のホモグラフィ再投影 RMS [px] (対応づけの健全性チェックに使う)。

orientation_rank_ratio は視点の向きが内部パラメータをどれだけ拘束しているか(sv[-2]/sv[0]、大きいほど良い)。再投影誤差は配置の良し悪しを映さない —— 2026-09-06 の実測で、同じ 10 視点・同じ雑音 0.05 px で板の傾きだけを 32 度から 2 度に変えると、再投影 RMS は 0.0690 と 0.0688 で比 1.00 倍のまま、fx の誤差は 0.026 % から 7.33 %(281 倍)になった。この比のほうは 129 倍動く。ただし歪み補正前の点では意味を持たない (下の門の注記を見よ)。

자세한 사용 가이드

• camera_calibration 패밀리 가이드

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• camera_intrinsics_calibration — py -3.11 examples/camera_intrinsics_calibration.py

• lens_calibration_loop_demo — py -3.11 examples/lens_calibration_loop_demo.py

• poc_calibration_truth_map — py -3.11 examples/poc_calibration_truth_map.py

• poc_camera_calibration — py -3.11 examples/poc_camera_calibration.py

타입이 이어지는 다음 연산자(table 를 입력으로 받는 것)

image_points_to_world_plane · contour_to_world_plane_xld · sim_caltab · disp_caltab · calibration_error_map · calibration_uncertainty_map · calibration_next_pose

같은 카테고리(calibrate)

find_marks_and_pose · hand_eye_calibration · camera_calibration_lm · stereo_calibration_lm


*Provenance: calib.py — CALIB 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.