如何高效地设计一个存储坐标系对应的图像数据的系统?

How to efficiently design a system that stores image data corresponding to a coordinate system?

我正在构建一个使用电动载物台和相机光栅扫描样本并存储其图像的设备,用于下游可视化或感知任务。

我附上了一张图片作为说明。(图中,红色和黄色方块是映射样本区域的图像。红色方块映射较小的区域,黄色方块映射较大的区域)

舞台有自己的坐标系(黑点),可以映射到图像数据,因为每个图像中的黑点数量(> 1)取决于它们的放大倍数(红色或黄色)点)。

我一直想知道如何设计一个能够存储这些图像的系统。我的舞台坐标系从 -50,000 扩展到 + 50,000,步长为 0.1,因此创建 500k * 500k 大小的参考数组以将每个点映射到可能属于这些点的任何像素是没有用的。

我正尝试在 python 中执行此操作。

有解决此类问题的众所周知的技术。

mm中定义底层空间坐标系 或其他方便的计量单位。

定义三个(可逆)函数(黑色、红色、黄色) 这将在空间坐标和像素坐标之间来回转换。 听起来线性函数就足够了。 如果您的测量中有噪音,您可能会发现离散化 通过将低位设置为零很方便。

您将拍摄多张照片并将它们存储在文件系统中。 文件名基于中心像素的空间坐标。 以这种方式组成名称:

x_bits为空间X坐标,MSB在前。 y_bits 同样如此。 让文件名交替 X 和 Y 位, 所以例如两位分辨率的坐标 (0, 3) 变为 "0101"。 将四位组变成十六进制字节, 并将文件名的早期部分视为目录名, 随你便。

现在在查询时,附近不同分辨率的图片都一起出现了。

或者,使用任意文件名, 并将坐标 + 文件名存储在 postgres PostGIS table 中。 然后 geometry 查询 ST_Distance 或 ST_Within 将有效地检索相关图像, 使用类似于我上面概述的“交错位”四叉树方法的技术。