OpenCV测量物体的尺寸技能 get~

本文介绍了如何利用Python和OpenCV测量图像中物体的尺寸。通过选取具有已知尺寸的参考物体,确定像素与实际尺寸的比例,从而计算出图片中其他物体的尺寸。文章还探讨了可能影响测量准确性的因素,如拍摄角度和镜头畸变,并提供了一个名为object_size.py的代码示例。
摘要由CSDN通过智能技术生成


点击上方AI算法与图像处理”,选择加"星标"或“置顶”

重磅干货,第一时间送达640?wx_fmt=jpeg

研究好玩又有用的技术第 006 


在学习中发现快乐,在应用找到价值。这是我第六期分享图像技术应用的文章。

前五期欢迎阅读和分享:


640?

概述

640?wx_fmt=jpeg 在中学的时候地理课上,老师教过我们如何根据地图上面测量的距离来计算实际空间上距离。
其原理非常的简单,实际的空间距离=图上距离/地图上的比例尺 我们今天要介绍的内容实际上原理和上面所说的是相同的,关键是如何获取图上距离和比例尺呢?
640?

测距原理


首先需要知道一个和比例尺类似的概念叫 pixels per metric ratio。 大致的意思是,每个单位指标下所含的像素个数,例如,图上1cm含100个像。 实际上相当于参考物的作用,例如已知图上的参考物多大,我们便可以利用这个参考物体换算到图上其他物体的尺寸大小。 参考物体需要有两个重要性质:

性质1:参考物尺寸

我们应该知道物体的尺寸(就是宽或高)包括测量的单位(如mm、英寸等)

性质2:易于识别

我们应该能够很容易地在图片中找到参照物体,无论是基于物体的位置(例如,参考物体总是放在图片的左上角)还是通过外观(例如,独特的颜色或形状,不同与图片中的其他物体)。无论是哪种情况,我们的参照物都应该以某种方式具有唯一的可识别性。

在下面的例子中,我们将使用美国硬币作为我们的参考对象,在所有的示例中,确保它始终是图片中的最左侧的对象

640?wx_fmt=jpeg

通过确保硬币是最左边的物体,我们可以从左到右对物体轮廓进行排序,获取硬币(始终是排序列表中的第一个轮廓),并使用它定义每个单位的像素数,我们将其定义为:

pixels_per_metric = 物体图上所占的像素数 / 物体的实际尺寸

已知硬币的宽度为0.955英寸。现在假设,物体的宽为150像素(基于其关联的边界框)。

pixels_per_metric可得:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值