我使用opencv来检测形状,我必须检测这样的形状
这将是一个手绘图片,我正在使用kinect通过检查帧来检测图片。现在我通过去除噪点,边缘检测,找到轮廓和大约来获得6点这些类型的图片,现在我无法检测到正确的面部,左面,下面或上面的形状。随着每张图片的点位置改变。
所以我想知道给出两点,我如何检查点之间是否有线段。在得到两点后,我可以从剩余点位置计算出形状指向的位置。
如果有人有更好的解决方案,请分享。
答案 0 :(得分:0)
假设您有两个端点,并且您的线段的像素值大于零(在上图中您可能需要使用阈值二进制反转)。
通过绘制厚度= 1像素的线来创建蒙版图像。
使用上面的面具将源图像复制到新的Mat。
现在计算结果Mat中的非零像素,