Результат блока:

Временно контуры находятся так:
Код: Выделить всё
img_bw=cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
(thresh, im_bw) = cv2.threshold(img_bw, 128, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)
ctrs, hier = cv2.findContours(im_bw.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
boundingBoxes = [cv2.boundingRect(c) for c in ctrs]
(cnts, boundingBoxes) = zip(*sorted(zip(ctrs, boundingBoxes),key=lambda b:b[1][0], reverse=False))
Проблема в том, что некоторые контуры меньше, как показано на рисунке:Это координаты x,y:

поэтому я хотел бы взять только 81 область красного цвета и квадрат. И отсортируйте его сверху вниз, а затем слева направо. Итак, выньте первые 9 ящиков в первом ряду и отсортируйте их по координатам y.
Спасибо большое.
BR ками
Отображается в вопросе.
Подробнее здесь: https://stackoverflow.com/questions/786 ... t-to-right