find_checkerboard_corners — CALIB 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 次元でない・非有限、角の数が合わない・格子が組めない(板が見えない・ぼけすぎ・一部が画像の外)、引数の範囲外。

详细使用指南

• camera_calibration 族使用指南

参考(示例数据、文献)

• 示例数据目录(下载 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.