记录:我的第一代深度图像物体识别

本文介绍了使用Kinect和OpenCV进行深度图像处理,目标是实现物体识别并传输目标位置数据给单片机。通过切割可视域减少噪点影响,然后遍历图像像素,根据深度值进行物体轮廓识别。下一步计划优化跳沿点筛选算法,提高识别准确性。在调试过程中,发现串口通信的延迟问题影响了定位精度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚开始学习Kinect,第一步选择学习深度图像的相关知识,第一个任务是给单片机传输目标位置数据,引导机器能够正确“抓”到目标。这篇文章会分为两部分,第一部分是没有物体识别的,第二部分是加上了物体识别的。

工具:
(1)C++及visual studio 2013
(2)opencv工具库
(3)PCOMM通信工具

我们都知道,如果只获取深度图像,会根据周围环境存在不同程度的噪点,影响图像数据的准确,所以最好的方法就是切割可视域,这里我的可视域还是一个长方体(确定左上角和右下角两点的坐标决定一个矩形,后通过深度决定长度),之后会考虑如何切割球体或者一些不规则的空间形状。

切割过程中,首先考虑的是那些可能超出了 Kinect 的深度数据获取范围的物体数据,这些位置的数据会为0,如果没有处理就照常规处理数据就会造成很多未知的错误,在这个任务中,最明显的就是摄像头坐标系中 x , y 轴的值的计算,具体可以参考我的上一篇文章。在获得图像数据后,目前我使用的是遍历整个图像的像素点,第一步就要提供一个每个像素点是否置0的标志位,这里置0有两种可能,无数据或者空间坐标系中的坐标超出我的切割范围;第二步,通过像素转毫米的公式获得 x , y 轴组成的平面的相应的坐标以及距离数据,然后进入选择是否在切割范围内的分支,如果该点在指定 x , y 范围内,继续判断是否在深度范围内,如果不在,将通过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值