基于轮廓的三维骨架重建方法和核心代码

本文探讨了使用二维轮廓数据进行三维重建以解决数据量大的问题,适用于在线检测场景。通过推导坐标映射关系,获取轮廓坐标,并利用PCL库将数据转换为三维点云,展示了一种高效的方法。核心代码包括方向余弦计算和二维到三维点转换,最终在PCL中显示三维图像。
摘要由CSDN通过智能技术生成

 背景(为什么要这么做?):

        目前获取三维数据的方法很多,比如:双目视觉技术,深度相机等等。

        但是存在一个问题:数据量巨大!如果要做在线检测,那速度很可能达不到要求。

总思路:

        用二维的数据来表示三维数据(数据量从n3降到n2)

课题需求:

        本人的实验室目前的课题是要做马铃薯的形状检测。通过二维图像误差很大,通过传统三维方法达不到在线检测速度要求。

步骤:

1.推导出二维轮廓像素点到三维空间的坐标映射关系;

2.通过图像处理获取轮廓坐标;

3.转换到三维空间;

4.通过PCL点云数据库显示合成三维图像。

核心代码:

        //计算x,y轴的方向余弦
//p1表示上面点x,p2表示上面点y,p3表示下面点x,p4表示下面点y
float StaticClassify::DirectionCosineX(float angle,float p1,float p2,float p3,float p4)
{
float pp=p3-p1;
float ppp=sqrt(pow((p3-p1),2)+pow((p2-p4),2));
float Cosine;
if (angle<100)
{Cosine=-pp/ppp;

else
{Cosine=pp/ppp;
}
return Cosine;
}


    //轮廓的二维点到三维点转换

for (i0 = 0; i0 < length0; i0++)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值