sun_pixel_position — GEOCAM sun op

• 数据种类:image2d → keypoints

• 调用: import fullseye as fs; fs.ledger.sun_pixel_position(image, threshold=0.98, min_area=4)(要直接调用实现,import geocam; geocam.sun_pixel_position(image, threshold=0.98, min_area=4);从台账取用则 opsgeocam.get("sun_pixel_position"))

用法

图像中太阳(使传感器饱和的圆盘)的重心 → keypoints (1, 2) = (u, v)。

前提是“太阳使传感器饱和,云和雪停在饱和之前”。把值不低于 threshold(绝对值, 图像为 0~1)的像素按 8 邻域连通,返回最大团块的亮度质心。团块小于 min_area, 或没有饱和像素,则视为“太阳不在画面中”而 ValueError(不悄悄返回云的反射 —— 这是为了在太阳被山遮住时刻的照片中,不把云当成太阳而污染位姿的门禁)。不是相对于图像最大值的比值(若用比值,在没有太阳的照片里最亮的云必然会成为“太阳”)。夜景的人工光源和太阳的水面反射可能饱和,因此这些场景不能使用。团块必须是紧凑的圆(填充率 ≥ 0.4, 纵横比 ≤ 2.5)—— 因过曝而天空一条带饱和的照片会成为细长团块,被拒绝。

Args:

image: (H, W) float,0~1(超出范围则 ValueError)。

threshold: 视为饱和的绝对值(默认 0.98)。

min_area: 团块的最小像素数。

Returns:

keypoints (1, 2) float: (u, v)。

详细使用指南

• geocam 族使用指南

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者、年份)与用途见上面的族使用指南。

可运行的示例(实际调用该算子并已验证的样例)

• poc_public_camera_heading — py -3.11 examples/poc_public_camera_heading.py

类型可衔接的下一个算子(可接受 keypoints 作为输入)

camera_orientation_from_sun · camera_orientation_from_sun_candidates

同类别(sun)

sun_position · camera_orientation_from_sun · sun_bloom_fit · camera_orientation_from_sun_candidates


*Provenance: geocam.py — GEOCAM 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

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