从像素到一般度量的转换(mm,in)

2024-04-16 15:51:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我用openCV处理一幅图像,用houghcirles检测被测图像中的圆,并用欧氏距离计算它们的中心距离。 因为这将以像素为单位,我需要以毫米或英寸为单位的绝对距离,有人能告诉我怎么做吗

提前谢谢


Tags: 图像距离单位像素中心opencv英寸houghcirles
1条回答
网友
1楼 · 发布于 2024-04-16 15:51:40

成像过程意味着通过镜头对真实的3D世界进行2D投影。在这个过程中,会丢失大量的信息(例如第三维),而变换依赖于透镜的特性(例如焦距)

像素距离和物理距离之间的转换取决于深度(相机和物体之间的距离)和镜头。复杂但更一般的方法是估计深度(有专门的算法可以在特定条件下进行,但需要多个摄像机/透视图)或使用可以测量深度的深度摄像机。一旦深度已知,在考虑透镜投影的影响后,就可以进行估计

您没有提供关于设置的太多信息,但是可以通过实验测量转换。你只需拍一张已知尺寸的物体的照片,然后确定一个像素的物理尺寸(例如,如果物体是10x10厘米,图片中有100x100px,那么10px是1毫米)。这在很大程度上取决于摄影机与对象之间的距离

一种自动化程度更高的方法是使用已知尺寸的特定图案(如棋盘)。它可以在图像中自动检测,并且可以执行相同的变换

相关问题 更多 >