matlab怎么计算线段的长度
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab怎么计算线段的长度相关的知识,希望对你有一定的参考价值。
就是这个图,怎么求图中那把尺子的长度
参考技术A 请问您要求图上的长度(单位:像素)还是实际场景中的长度?图上长度稍简单一些,我想可以先分割出尺子来,然后用霍夫变换做直线检测以定出直线,进而找到端点,求线段长度的。
如果需要实际场景中的长度,必须要有相机的内外参数才可以。追问
不是实际中的长度,只要能求出一个相对长度就行,是用matlab做么?
追答我觉得现在关键还是算法吧。请问您有做过图像处理吗?
追问嗯,目前从事这方面的工作,图像处理的基本操作我都会,分割我也会
追答嗯嗯 那我上面的思路您觉得怎么样?您之前是怎样的思路?
您之前用什么语言和工具处理图像?
我用过matlab和ENVI,主要是用matlab,我这个是新的问题,没有什么思路,我刚刚找了一些霍夫变换的程序,试了试,效果不是很好.还有就是怎么通过霍夫变换找到端点呀,我主要就是要找端点
追答霍夫变换不能找端点。我的想法是,找到偏离直线一定阈值范围内所有尺子上的像素点,找到其中纵坐标最大最小的两个点作为端点。
追问你的这个想法能用编程帮我实现么?
追答能,但是我不会自己写的,既然您是做相关工作的,自己动手写一下代码也是应该的吧。
追问你看看这是我裁切,hough处理过的图片,主要是后面那个步骤我不太会
我觉得主要是分割那一步的准确性,如果分割好的话,可以用提取骨架的方法来减少噪声干扰。
后面的工作也不难:霍夫变换的原理您应该是知道的吧,Hough变换拿到直线参数,那就可以取所有分割出的点的坐标来,代入直线方程来检验偏离程度。取偏离较小(阈值自己设)的点,从中找纵坐标最大/小的。
matlab中如何计算一条线的长度
跪求 ,急急急急急急急急急急急急
参考技术A 能画出突来,说明这些数据点的坐标是可以得到的。因为你的路径没有解析解,只能用数值近似解。路径由大量的点组成,把路径分割成由点连接的线段。两个点之间的长度为
sqrt((x1-x0)^2+(y1-y0)^2)
(x0,y0)和(x1,y1)为线段端点的坐标。
把所有点的长度相加即可。 参考技术B 用matab的积分做。
由于这是曲线积分,根据大学中教材高等数学第二版第十一章的定义
>> y = diff(0.2*cos(pi*x));
y =
-(pi*sin(pi*x))/5
>> quad(@(x)(-pi/5)*sin(pi*x),0,2)
ans =
0 参考技术C 如果是图像的话,可以用imtool来显示图像,选择工具栏的tools的measure distance来测两点的距离。
以上是关于matlab怎么计算线段的长度的主要内容,如果未能解决你的问题,请参考以下文章