使用C ++和openCV进行立方体检测

时间:2015-07-22 06:52:13

标签: c++ opencv image-processing shape edge-detection

我目前正致力于机器人项目:机器人必须使用Kinect相机抓取立方体,该相机处理立方体检测并计算坐标。

我是计算机视觉的新手。我首先研究了方形的静态图像,以便获得基本的理解。使用C ++和openCV,我设法使用平滑(去除噪声),边缘检测(canny函数),线检测(Hough变换)和线交叉(数学计算)来获得正方形的角(及其xy像素坐标)简化图片(统一背景)。

通过调整某个阈值,我可以实现角点检测,假设我在背景中只有一个方格而没有线条特征。

现在是我的问题:你有关于立方体识别算法的任何指导/建议/建议/文献吗?

到目前为止我所发现的包括与纹理检测和/或学习序列相结合的形状检测。此外,在他们的应用程序中,他们经常使用GPU /并行计算,我没有...

Kinect还提供了一个深度相机,可以提供像素与相机的距离。也许我可以用它来绕过"复杂的"图像处理?

提前致谢。

1 个答案:

答案 0 :(得分:0)

带有contrib的OpenCV 3.0包括surface_matching模块。

  

具有3D感觉能力的相机和类似设备   结构变得越来越普遍。因此,使用深度和强度   匹配3D对象(或部件)的信息至关重要   对计算机视觉的重要性应用范围从工业   控制指导视障人士的日常行为。该   在范围图像中识别和姿势估计的任务旨在   通过匹配来查找和本地化查询的3D自由格式对象   获得的数据库。

http://docs.opencv.org/3.0.0/d9/d25/group__surface__matching.html