一个物体的大小可以怎么测量低部可以达到物体呢

数学,计算机视觉,图形图像处理
/question/
从一幅图像中无法测出物体的长度,因为缺乏参照物,但可以测出两个平行物体的长度比例。如果已知一个物体的实际大小(比如在图片中放上一枚<span style="color:#元硬币或者知道某个柜子有多高),那么就可以通过长度比和参照物的已知长度测出物体长度。具体方法见文献[1],因为需要一些矩阵运算和摄像头成像方面的推导,这里只大概说说原理。楼上诸位所述也是这种原理。
图像测量利用了摄像头成像也就是小孔成像的几个性质[2]:
第一,摄像头把平行的直线映射为图像上相交直线,笔直的铁轨在远处相交就是这个道理,这个交点被称为消隐点(vanish point)。可以认为平行空间直线在无穷远处相交,消隐点则是这一交点的像。所有水平的平行直线族都各自相交于无穷远处的一点,这些点构成无穷远直线,这条直线在图像上的像叫地平线。我们所居住的三维空间中存在三组相互垂直的直线(例如水平两组,x轴和y轴方向,竖直一组,z轴方向),所有x、y、z方向上的平行直线在一张图片上会分别相交于各自的一个消隐点。并且水平直线对应的两个消隐点如果连起来,连线就是地平线。测量的关键,就是要得到这些消隐点,因此有很多竖直线(如书架)或水平线(如地板砖)的图片就容易测量。
第二,摄像头把三维空间投影到二维的图像上,保持直线交比不变,交比是四个点两两“比例的比例”。所以如果在三维空间中的一条直线上有四个点,那么它们映射到图片上的四个点后,这四个点的交比不变。
文献[1]通过这些条件,给出了从图片上计算长度比的公式。通过示意图我们可以更加直观地看出它是如何工作的:
首先,假设我们已知蓝色小人Bob的身高,要求出红色小人John的身高,只需要知道两人的身高比&#20540;就可以:
我们用大写字母表示真实的坐标,随后用小写字母表示图片上的像素坐标。两人的身高比&#20540;BE/AF可以这么求:首先连接AB,然后过E点做AB的平行线交AF于点D,因为ABED是个矩形,所以要求的比&#20540;就等于AD/AF。然而,这种判断是在三维空间中做出的,当物体成像为图片,所有点的位置都会发生变化(不要问我圆头为什么会变成方头):
其中最显著的变化是平行线相交了,由此我们可以找到三个方向的消隐点,这可以通过对竖直和两组水平平行线求延长线获得:
注意我们把水平平行线对应的两个消隐点连接起来,得到了一条在(无穷)远处的直线,每个人都熟悉它,它就是地平线。地平线上所有的点都有一个性质:从其上一个点引出的所有直线都是相互水平平行的。
因此点D在图上的坐标d是这么求出的:
1. 画出地平线
2. 延长ab,交地平线于点c
3. 延长ce,交af,也就是John于点d
因为点c在无穷远处,所以cd和ca在空间中是平行直线,abed也就是上面说述真实空间中矩形ABED的像。
然而,知道了某些点在图像上的像,它们的实际长度比是无法直接从图上测得的,因为大家的深度不一样,这时就要利用成像前后一条直线上四个点交比不变的性质,考察红色小人John身上的三个点A、D、F以及其延长到无穷远处的点G,就可以得到(大写字母换成小写字母):
(AD/AF)/(GD/GF)=(ad/af)/(gd/gf)
因为已经求出了点d,等式右边所有的量都可以从图像上测出。等式左边的点G在真实空间是所有垂直直线的交点,这个点在无穷远,和无穷相比点F和点D的差异可以忽略不计,所以GD/GF=1,这样就得到最终结果:
AD/AF = (ad/af)/(gd/gf)
[1] Criminisi A, Reid I, Zisserman A. Single view metrology[J]. InternationalJournal of Computer Vision, ): 123-148.
[2] Hartley R, Zisserman A. Multiple view geometry in computer vision[M].Cambridge university press, 2003.
PS: 有知友指出的image rectification概念其实是双目视觉中的一个专有概念,假如有两幅图像拍摄的物体相同,但是摄影师站位不同,一左一右,通过某种变换可以对两幅图像分别做一个变换,(近&#20284;)让左边这幅图像上每一行的每一个像素点代表的物体上的点在右边那副图像上的像点也恰好在右图的同一行,这种变换过程叫做image
rectification。其作用是为了随后计算视差图方便。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:455次
排名:千里之外测量是一个将待测量与()进行比较的过程.要测量物体的长度,先要规定()即长度单位,然后选合适的进行测量.
Overload丶亗
实际量 刻度
为您推荐:
扫描下载二维码如何测算出任一副图片中的物体的实际尺寸?
【章彦博的回答(37票)】:
只能推算出比例,无法获得绝对大小,当然如果能知道图中个别物件的具体尺寸,还是可以换算出其大小的。
这是原图:
导入sketchup:使用照片适配:导入sketchup:使用照片适配:
3D建模:3D建模:
这样就可以了;
再上一张正视图:
自己量吧自己量吧
【知乎用户的回答(13票)】:
如果你无法知道这个场景中的任何一个物体的实际尺寸和摆放方式,那么是不可能知道中的物体的实际尺寸的。
换句话说,你需要在图片中找一个已知实际尺寸的参照物,否则是不可能的。因为没有参照物,我完全可以说它是个小模型。
从网上随便爬了张图
在机器视觉的研究中,通常我们会在场景中放这样的方格纸,它们的尺寸是已知的,接下来就可以让计算机来算整个场景中的其它物体的尺寸了。
【王小龙的回答(37票)】:
从一幅图像中无法测出物体的长度,因为缺乏参照物,但可以测出两个平行物体的长度比例。如果已知一个物体的实际大小(比如在图片中放上一枚1元硬币或者知道某个柜子有多高),那么就可以通过长度比和参照物的已知长度测出物体长度。具体方法见文献[1],因为需要一些矩阵运算和摄像头成像方面的推导,这里只大概说说原理。楼上诸位所述也是这种原理。
图像测量利用了摄像头成像也就是小孔成像的几个性质[2]:
第一,摄像头把平行的直线映射为图像上相交直线,笔直的铁轨在远处相交就是这个道理,这个交点被称为消隐点(vanish point)。可以认为平行空间直线在无穷远处相交,消隐点则是这一交点的像。所有水平的平行直线族都各自相交于无穷远处的一点,这些点构成无穷远直线,这条直线在图像上的像叫地平线。我们所居住的三维空间中存在三组相互垂直的直线(例如水平两组,x轴和y轴方向,竖直一组,z轴方向),所有x、y、z方向上的平行直线在一张图片上会分别相交于各自的一个消隐点。并且水平直线对应的两个消隐点如果连起来,连线就是地平线。测量的关键,就是要得到这些消隐点,因此有很多竖直线(如书架)或水平线(如地板砖)的图片就容易测量。
第二,摄像头把三维空间投影到二维的图像上,保持直线交比不变,交比是四个点两两“比例的比例”。所以如果在三维空间中的一条直线上有四个点,那么它们映射到图片上的四个点后,这四个点的交比不变。
文献[1]通过这些条件,给出了从图片上计算长度比的公式。通过示意图我们可以更加直观地看出它是如何工作的:
首先,假设我们已知蓝色小人Bob的身高,要求出红色小人John的身高,只需要知道两人的身高比值就可以:首先,假设我们已知蓝色小人Bob的身高,要求出红色小人John的身高,只需要知道两人的身高比值就可以:
我们用大写字母表示真实的坐标,随后用小写字母表示图片上的像素坐标。两人的身高比值BE/AF可以这么求:首先连接AB,然后过E点做AB的平行线交AF于点D,因为ABED是个矩形,所以要求的比值就等于AD/AF。然而,这种判断是在三维空间中做出的,当物体成像为图片,所有点的位置都会发生变化(不要问我圆头为什么会变成方头):我们用大写字母表示真实的坐标,随后用小写字母表示图片上的像素坐标。两人的身高比值BE/AF可以这么求:首先连接AB,然后过E点做AB的平行线交AF于点D,因为ABED是个矩形,所以要求的比值就等于AD/AF。然而,这种判断是在三维空间中做出的,当物体成像为图片,所有点的位置都会发生变化(不要问我圆头为什么会变成方头):
其中最显著的变化是平行线相交了,由此我们可以找到三个方向的消隐点,这可以通过对竖直和两组水平平行线求延长线获得:其中最显著的变化是平行线相交了,由此我们可以找到三个方向的消隐点,这可以通过对竖直和两组水平平行线求延长线获得:
注意我们把水平平行线对应的两个消隐点连接起来,得到了一条在(无穷)远处的直线,每个人都熟悉它,它就是地平线。地平线上所有的点都有一个性质:从其上一个点引出的所有直线都是相互水平平行的。注意我们把水平平行线对应的两个消隐点连接起来,得到了一条在(无穷)远处的直线,每个人都熟悉它,它就是地平线。地平线上所有的点都有一个性质:从其上一个点引出的所有直线都是相互水平平行的。
因此点D在图上的坐标d是这么求出的:
1. 画出地平线
2. 延长ab,交地平线于点c
3. 延长ce,交af,也就是John于点d
因为点c在无穷远处,所以cd和ca在空间中是平行直线,abed也就是上面说述真实空间中矩形ABED的像。
然而,知道了某些点在图像上的像,它们的实际长度比是无法直接从图上测得的,因为大家的深度不一样,这时就要利用成像前后一条直线上四个点交比不变的性质,考察红色小人John身上的三个点A、D、F以及其延长到无穷远处的点G,就可以得到(大写字母换成小写字母):
(AD/AF)/(GD/GF)=(ad/af)/(gd/gf)
因为已经求出了点d,等式右边所有的量都可以从图像上测出。等式左边的点G在真实空间是所有垂直直线的交点,这个点在无穷远,和无穷相比点F和点D的差异可以忽略不计,所以GD/GF=1,这样就得到最终结果:
AD/AF = (ad/af)/(gd/gf)
[1] Criminisi A, Reid I, Zisserman A. Single view metrology[J]. International Journal of Computer Vision, ): 123-148.
[2] Hartley R, Zisserman A. Multiple view geometry in computer vision[M]. Cambridge university press, 2003.
PS: 有知友指出的image rectification概念其实是双目视觉中的一个专有概念,假如有两幅图像拍摄的物体相同,但是摄影师站位不同,一左一右,通过某种变换可以对两幅图像分别做一个变换,(近似)让左边这幅图像上每一行的每一个像素点代表的物体上的点在右边那副图像上的像点也恰好在右图的同一行,这种变换过程叫做image rectification。其作用是为了随后计算视差图方便。
【yohsk的回答(39票)】:
同样是使用sketchup,我把过程说的详细一些
使用照片匹配功能
确定红绿两轴
点击右下的完成(done)按钮,保持视角不变,现在的视角和焦距与照片中相同
推拉出书架的厚度
右键点击场景选项卡,选择最底下的投影照片(project photo)右键点击场景选项卡,选择最底下的投影照片(project photo)
于是照片投影到了刚才画的立方体上面,看起来是不是很立体?
当然到这一步就已经可以对垂直高度进行测量了,不过不着急,我们还是做得更专业一点
回到投影照片之前的一步,向后推出柜子的深度,我就不全画了,画几个做个示范
你看现在已经是有纵深的柜子了(当然,由于是投影,有一部分是没有贴图的)你看现在已经是有纵深的柜子了(当然,由于是投影,有一部分是没有贴图的)
用标注工具量一下桌面高度,恩,932.4mm,这一步就比较关键了,很多人说照片比例都不知道怎么弄
用标尺(快捷键T)量一下桌面高度,量后不做别的操作,直接键盘敲710(取常见桌面高度为710mm~750mm)
会出现提示问是否缩放整个模型,点击“是”(好奇怪英文版的对话框竟然有中文,这应该是因为用的中文windows的缘故。。。)会出现提示问是否缩放整个模型,点击“是”(好奇怪英文版的对话框竟然有中文,这应该是因为用的中文windows的缘故。。。)
so,桌面高度这时候就是720mm了,接下来你想知道什么数据那就自己量吧~,或者直接导入CAD标注个平面立面图什么的也行so,桌面高度这时候就是720mm了,接下来你想知道什么数据那就自己量吧~,或者直接导入CAD标注个平面立面图什么的也行
放个真实比例的人进去看看,恩,差不多,完成放个真实比例的人进去看看,恩,差不多,完成
PS.sketchup中的照片匹配只适用于两点透视的照片,由于z方向的蓝轴是由红绿两轴决定,所以很难对三点透视的照片进行适配,如果一定要配,先到PS调成两点透视PS.sketchup中的照片匹配只适用于两点透视的照片,由于z方向的蓝轴是由红绿两轴决定,所以很难对三点透视的照片进行适配,如果一定要配,先到PS调成两点透视
比如这张金茂大厦和上海金融中心的照片,变形严重
直接推拉粗来是显然不行的直接推拉粗来是显然不行的
实际上那种没办法直接照片匹配的图片要怎么弄呢?那就需要一些手艺和眼力,对着照片建模吧,跟绘画临摹一样一样的实际上那种没办法直接照片匹配的图片要怎么弄呢?那就需要一些手艺和眼力,对着照片建模吧,跟绘画临摹一样一样的
实际上咱也不用这样揪心用这种方法量尺寸,大部分人造物都是跟人的尺寸相协调的,门一般2100mm高对吧,大概凭眼力毛估估一下,一部分尺寸还是能出来的。实际上咱也不用这样揪心用这种方法量尺寸,大部分人造物都是跟人的尺寸相协调的,门一般2100mm高对吧,大概凭眼力毛估估一下,一部分尺寸还是能出来的。
我只能说怎么做,至于为什么这样做,下面已经有人答了
毕竟原图是张渲染图,用照片匹配的方法还原回去是最合适不过了:D
【知乎用户的回答(3票)】:
简单来说,是可以的。
这里面有两个问题。
一是缺少实际尺寸,只能得到比例。
二是透视投影(perspective projection)带来的扭曲。
第一个问题只能靠猜,比如你感觉一本书多大啊,架子多高啊,什么的。
第二问题叫rectification。效果如下:
简单来说,一般是输入垂直(或者平行)的两条线,找到消隐点(vanlishing point),就能得到相机的焦距,做rectification。
google到的一个,但我没用过。
做到这一步,测量距离什么的就容易了。做到这一步,测量距离什么的就容易了。
SketchUp那个看起来挺智能的。用的什么原理,我就不知道了~
【知乎用户的回答(0票)】:
一定需要一个定量的参考物吧。。
【刘星的回答(0票)】:
大家最关心的还是参照物的问题了,其实我觉得,那些书就是参照物了。书当然具体的开本不知道,但是你把你家最常见的开本,对应图片的,可以得到一个大概!然后可以通过测量笔记本电脑屏幕的尺寸进行验证。笔记本无非就是那几个尺寸,只要你算的比例正好在正常范围内,那应该是OK的吧!至于其他什么的,大家说的很清楚了。
【知乎用户的回答(0票)】:
大家都说没有参照物,其实楼层高度就是呀。假设楼高为2.7米,书架上下一共七层,书架顶端离天花板的距离大约等于一层高度。折算一下就好了。
不过只能估计高度,不能估计宽度。
【魏敬贤的回答(0票)】:
拍照前先放把尺子,拍照后看尺子就行了。
【麻烦小姐的回答(0票)】:
不管你在网上买什么东西,我都能把价格帮你砍掉3%—75%,
骗人是小狗,需要砍价或者想学习砍价联系qq
不相信的话可以先参观一下我们的砍价师网站
【谢妖的回答(0票)】:
果然在涉及专业深度的问题,我一个非专业的出来的还是不大合适的。
但真的猛士敢于直面任何打脸
( ̄ε(# ̄)☆╰╮( ̄▽ ̄///)
欢迎来打,么么哒~
大家的思路集中在借助参照物,用已知的数据代入方程求解未知。
用各种工具、软件来建模型方程求解的时候。
我突然想到一件事情
我不会用怎么办,我看不懂在怎么办。
从一个成本的角度考虑,我想知道的数据是我的收益,为此付出的时间、金钱是我的成本。
现在收益已知
目标就是没有蛀牙(降低成本)
以最快的最省力的方式得到想要的结果。
我的思路是:
用图片搜索引擎(这也是一个工具好咩)
找到做这个的店家网站
进网站找有没有详细数据
有——over
没有——打电话问:“喂,x老板嘛?你们家的那个xx的柜子是多长多宽多高的啊?对,老娘就是想知道,请说的详细一点!”——over
博物馆门多高? 上网站找,打电话问!
那个图形是圆的还是方的? 上网站找,打电话问!
那个颜色是靛青还是靛蓝? 上网站找,打电话问!
一个图片包含的信息可能上千上万,可调用的软件不下数十种
一一挖掘,我会累死。
想知道蒙娜丽莎为啥笑,拿枪直指达芬奇问他,他不知道就指着蒙娜丽莎问,表瞎猜,有误差。
想知道妹子三围几何,拿巧克力问她闺蜜,她不知道就直接问妹子,表目测,误差太大,说起来都是血泪。
目测36D,但是感觉不准确,建议找真人确认。
么么哒,希望能够帮到你
咱们下一题见O(∩_∩)O
【知乎用户的回答(2票)】:
置顶的用sketchup的那个是在搞笑么,连图片被缩放的比例都不知道建模有什么用。必须要在图片中人为的放置一个 棋盘型定标板,然后先camera calibration 再 3D reconstruction.
&&&&&本文固定链接:
【上一篇】
【下一篇】
您可能还会对这些文章感兴趣!
最新日志热评日志随机日志}

我要回帖

更多关于 测量不规则物体的体积 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信