checkerboard op• 資料種類:image2d → keypoints
• 呼叫: import fullseye as fs; fs.ledger.find_checkerboard_corners(image, pattern_size, sigma=1.5, refine_window=None)(要直接呼叫實作,import calib_lm; calib_lm.find_checkerboard_corners(image, pattern_size, sigma=1.5, refine_window=None);從台帳取用則 opscalib.get("find_checkerboard_corners"))
• GPU:無(僅 CPU 參考實作)
以次像素精度偵測棋盤格影像的內角點,並依板的列優先順序回傳(keypoints)。
> 以下的詳細說明為原文 —— 摘要與標題已翻譯。
Detect the inner corners of a checkerboard with pattern_size = (cols, rows) inner corners, refine them to sub-pixel accuracy and return them as (row, col) in the board's row-major order (pairs with checkerboard_points).
手順: (1) ガウスの 2 階微分(尺度 sigma)で鞍点の強さ −det(Hessian) を出し、局所最大を候補に
(2) 各候補を Förstner の勾配直交の式(OpenCV の cornerSubPix と同じ原理: 窓の中の勾配 g が角へ向かう
ベクトルと直交 → Σ g gᵀ (p − q) = 0)で反復して詰める(Förstner & Gülch 1987)
(3) 最寄りの近傍から格子の 2 方向を決め、局所の平行四辺形で予測しながら格子を伸ばす
(4) 埋まった格子が cols x rows(または転置)でなければ拒否。
順の約束: 列の方向 = 長さ cols の軸。2 つの軸の向きは「画像で右手系(板を表から見る)」と「最初の角が画像の左上に最も近い」で決める。★対称な板の 180 度の回転は区別しない —— 校正には効かない(板の点の集合がその回転で自分に写るので、姿勢が 180 度回るだけ)。cols = rows の板では 90 度も区別しない。
返す (N, 2): (row, col)、N = cols·rows。
Raises ValueError: 画像が 2 次元でない・非有限、角の数が合わない・格子が組めない(板が見えない・ぼけすぎ・一部が画像の外)、引数の範囲外。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
• poc_calibration_truth_map — py -3.11 examples/poc_calibration_truth_map.py
keypoints 作為輸入)image_to_world_plane · camera_calibration · camera_calibration_lm · stereo_calibration_lm · vector_to_rigid · vector_to_similarity · hom_vector_to_proj_hom_mat2d
checkerboard)checkerboard_points · sim_checkerboard
*Provenance: calib_lm.py — CALIB 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.