C++ 使用C++;和openCV

C++ 使用C++;和openCV,c++,opencv,image-processing,shape,edge-detection,C++,Opencv,Image Processing,Shape,Edge Detection,我目前正在从事一个机器人项目:机器人必须使用Kinect摄像头抓取一个立方体,该摄像头可以检测立方体并计算坐标 我是计算机视觉新手。为了得到一个基本的理解,我首先对正方形的静态图像进行了研究。使用C++和OpenCV,我用平滑(去除噪声)、边缘检测(Canny函数)、直线检测(Hough变换)和线交叉(数学计算)在简化的图片(统一背景)上获得正方形的角(及其x y像素坐标)。 通过调整一些阈值,我可以实现角点检测,假设我在背景中只有一个正方形,没有线条特征 现在是我的问题:你对立方体识别算法有什

我目前正在从事一个机器人项目:机器人必须使用Kinect摄像头抓取一个立方体,该摄像头可以检测立方体并计算坐标

我是计算机视觉新手。为了得到一个基本的理解,我首先对正方形的静态图像进行了研究。使用C++和OpenCV,我用平滑(去除噪声)、边缘检测(Canny函数)、直线检测(Hough变换)和线交叉(数学计算)在简化的图片(统一背景)上获得正方形的角(及其x y像素坐标)。 通过调整一些阈值,我可以实现角点检测,假设我在背景中只有一个正方形,没有线条特征

现在是我的问题:你对立方体识别算法有什么指导/建议/建议/文献吗

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

Kinect还提供了一个深度摄像头,可以显示像素与摄像头之间的距离。也许我可以用这个绕过“复杂”的图像处理


提前感谢。

带有contrib的OpenCV 3.0包括曲面匹配模块

具有3D感知能力的摄像机和类似设备 结构变得越来越普遍。因此,使用深度和强度 匹配3D对象(或零件)的信息至关重要 计算机视觉的重要性。应用范围从工业到工业 控制以指导视力受损者的日常行为。这个 距离像识别和姿态估计的任务旨在 通过将查询到的三维自由形式对象与 获取的数据库


使用深度图像是最好的主意。尝试在三维空间中查找平面。如果有一些大小相似的相交平面,它可能是一个立方体。使用2D图像只会带来一些问题,如透视失真等,这会使对象是立方体还是从特殊角度看起来像立方体变得模糊不清(除非使用来自不同位置的多个图像)