Нужно найти количество квадратов с пересечением на картинке.
Сейчас есть такой код:
import cv2
import numpy as np
img = cv2.imread('./task1.bmp', cv2.IMREAD_UNCHANGED)
#convert img to grey
img_grey = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#set a thresh
thresh = 100
#get threshold image
ret,thresh_img = cv2.threshold(img_grey, thresh, 255, cv2.THRESH_BINARY)
#find contours
contours, hierarchy = cv2.findContours(thresh_img, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# print(len(contours))
#create an empty image for contours
img_contours = np.zeros(img.shape)
# draw the contours on the empty image
cv2.drawContours(img_contours, contours, -1, (0,255,0), 3)
#save image
cv2.imwrite('./res.bmp',img_contours)
Исходная картинка:
Результат после обработки
Как видно квадраты на картинках пересекаются и программа находит их общие контуры. Надо, что бы программа находила именно контуры квадратов и подсчитывала их.