我目前正在运行canny边缘检测,正在检测两个方形对象。我检测边缘并使用
colourMap = cv2.imread('Colour_Map_Generated2.jpg',0)
edges = cv2.Canny(colourMap,10,20)
cv2.imwrite('/home/pi/Desktop/edgesDetected.jpg',edges)
indices = np.where(edges != [0])
coordinates = zip(indices[0], indices[1])
然而,这种方法将所有坐标放在一个列表中,如何将每个正方形的坐标放在一个单独的数组中
到目前为止,我已经尝试确定了2个ROI,但是当我尝试时,它检测到了整个图像,因此没有成功,而且如果我硬设置ROI的数量,它也不会工作,因为这个系统可能检测到不同数量的正方形。我还尝试使用斑点检测,但这似乎需要我填写检测到的方块,这似乎是浪费时间,因为我已经有了坐标
编辑
我使用findContours获取每个矩形的点。由于findContours将给出中空形状的内外轮廓,因此我们必须通过检查相似的周长来消除重复
相关问题 更多 >
编程相关推荐