У меня есть это изображение с несколькими таблицами в нем. Границы таблиц белые, а остальное изображение черное. Я хочу найти координаты (внизу справа и вверху слева) каждой ячейки на этом изображении. Изображение это https://imgur.com/IxNXuVv. Я попытался использовать функцию OpenCV для FindContour, но она не сработала, и я получил следующие результаты, когда замаскировал ее с исходным изображением. https://imgur.com/LiANMS2 и https://imgur.com/nGwF56C
import numpy as np
import cv2
from PIL import Image
im = cv2.imread('binary_image.png', 0)
original = cv2.imread('original.jpg')
cnts, hierarcy =
cv2.findContours(im,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
i = 0
for cnt in cnts:
test = np.zeros(im.shape)
cv2.drawContours(test, cnts, i, (255,255,255), 3)
x, y, w, h = cv2.boundingRect(cnt)
img_close_var = max(w,h) + 10
se = np.ones((img_close_var,img_close_var), dtype='uint8')
mask = cv2.morphologyEx(test, cv2.MORPH_CLOSE, se)
mask = mask.astype(np.uint8)
output = cv2.bitwise_and(original, original, mask = mask)
cv2.imwrite(str(i) + '.png',output)
i = i + 1