首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用opencv提高测量精度

如何利用opencv提高测量精度
EN

Stack Overflow用户
提问于 2016-09-12 16:14:18
回答 1查看 796关注 0票数 2

我最近想测量一下脚的长度。我使用信用卡作为参考,因为信用卡的大小是已知的和稳定的(8.5cm*5.4cm),长边‘卡纸’。我们假设脚的长度是“足”。

程序:

  1. 用脚和信用卡拍照;
  2. 获取信用卡的轮廓,并使用minAreaRect函数测量卡的大小,得到卡(卡)的长边。
  3. 用同样的方法求出足部的轮廓和脚的长度(脚)。
  4. 使用公式:卡纸: footl = cardl : footL

例如:我照了一张照片如下。我测量的脚的长度是22.4cm。照片中脚的像素长度为2137.6。卡的像素长边为763.14,因此footL =24 of。这个结果是不精确的。如何提高测量精度?

另一个问题是,当我在不同的高度拍摄照片(每次脚的像素是不同的,结果'footL‘比真实值大得多,因为它的高度越小。)

EN

回答 1

Stack Overflow用户

发布于 2016-09-12 16:36:06

我喜欢你的主意!

一些想法;测量物体在同一平面上的长度,即信用卡定义的平面。一种可能的方法:

  • 校准你的相机(谢谢@PSchn提醒)
  • 将脚固定在地面上的正常位置(不像你提供的图像那样旋转)
  • 把信用卡放在旁边
  • 以包括在内的角度拍摄一张照片
    • 整个信用卡(没有封锁线)
    • 你想要测量的物体的尺寸,例如,在你的情况下,脚趾对脚跟。

  • 将同形变换应用于将信用卡投影转换为直线矩形(信用卡大小)的图像。
  • 最后,在上面的列表中应用公式4。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39454617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档