Я создаю программу для автоматического отделения солнечных элементов от фотоэлектрического модуля, для которого я сначала установил пороговое значение изображения, используя адаптивный порог, чтобы получить следующее изображение.
После чего я намереваюсь удалить черные пиксели в границах ячеек, используя расширение, для которого я использовал эллиптический элемент структурирования размера (10,10) и получил следующее изображение
Как вы можете видеть, осталось еще несколько черных пикселей, теперь, если я увеличу размер элемента структурирования, я потеряю границы ячеек.
Я пробовал другие доступные элементы структурирования, такие как крест и прямоугольник, без какого-либо успеха, поэтому мне нужно было бы определить собственное ядро, и я не знаю, как мне его определить.
import numpy as np
import cv2
img=cv2.imread('result2.jpg',0)
th1 = cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,\
cv2.THRESH_BINARY,25,-2)
kernel=cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(15,15))
closing = cv2.morphologyEx(th1, cv2.MORPH_CLOSE, kernel)
cv2.imwrite('closing.jpg',closing)
cv2.imwrite('threshold.jpg',th1)
cv2.waitKey(0)
cv2.destroyAllWindows()