首页 > 解决方案 > 物体尺寸测量

问题描述

下图是一枚硬币(供参考)和一颗药丸。我需要测量药丸的尺寸。物体是背照式的。

在此处输入图像描述

我按照pyimagesearch.com 教程进行对象高度和宽度测量

硬币直径为 24.97 毫米,药丸的实际尺寸为 9.43 毫米 x 19.33 毫米。我得到的结果有一些误差,范围从 0.5 毫米到 2 毫米。正如网站上提到的,这是因为失真,需要纠正。

有人可以帮助我校准相机以消除失真效果,以便我可以测量正确的尺寸(以毫米为单位)吗?

我也尝试过相机校准,但这也不起作用。

在此处输入图像描述

标签: pythonopencvimage-processingmeasure

解决方案


只需对这两种形状进行快速手动测量,我得到的药丸尺寸分别为 20.51 毫米和 9.89 毫米。如果您的实际药丸尺寸为 19.33 毫米和 9.43 毫米,那么您的硬币不是 24.97 毫米,或者您的物体厚度有问题。我认为相机校准与此无关。

这就是厚度在物体表观大小中的作用:首先请注意,您正在获得物体的投影。目标是创建一个大小与对象大小相匹配的投影。然而这并不容易!有两种效果在起作用。请参考下图。

  1. 焦距。如果相机相对靠近物体,则物体的正面比物体的背面更靠近相机。当投影回物体所在的屏幕上时,物体的阴影会更大。这就是下图“A”所示的效果。如果硬币比药丸薄,药丸将比硬币具有相对较大的突出部分。要纠正这一点,请将相机放在很远的地方,并使用长焦距的镜头。在线人像摄影有很多这样的例子,例如这里。如果镜头焦距短,鼻子看起来会大很多,因为焦距短,你需要靠近脸部才能拍照,然后噪点到相机的距离相对比脸颊。

  2. 斜角。这是下面的情况“B”。一个刻度物体,当以一个角度拍摄时,会产生比直接拍摄更大的投影。确保您的相机位于要测量的物体正上方。我建议您先给硬币拍照,取出硬币并放置药丸,然后再给药丸拍照。当然,相机必须是固定的(三脚架),完全不能触碰(触发电缆)。

在此处输入图像描述


推荐阅读