我试着识别这张图片上的六个方格:
检测检查或黑色(在这里(1,1)和(3,2))。
方法1
我试过:
_, contours, hierarchy = cv2.findContours(gray, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
for j, c in enumerate(contours):
cv2.drawContours(imgcolor, [c], 0, COLORS[j % len(COLORS)], thickness=1)
但结果相当糟糕:
到目前为止我尝试过的是:
cv2.contourArea(c)
按面积过滤if len(shape) == 4:
的矩形,但这是行不通的,因为其中一些方块被分割成两到三个等高线:见右上角,它被识别为红色+青色轮廓。drawContour
时,我们看到了在同一方格上的2等高线。方法2
是否可以在原始图像与这个"3x2框模式“的所有”位置移位+旋转+重新标度“版本之间使用相关性:
这会让我们有一个好的发现吗?
TL;DR:
如何可靠地识别该图像上的6个框并找到选中或黑色的框?。
发布于 2018-10-28 02:00:50
以下是我的方法:
(1)阈值和外部轮廓的求取 (2)按面积和高度/宽度对等高线进行滤波,然后根据所占面积进行区分。
这是我的结果:
https://stackoverflow.com/questions/53029817
复制相似问题