Por lo tanto, estoy generando una imagen binaria (bien, realmente escala de grises, 8 bits, usada como binaria) con python y opencv2, escribiendo una pequeña cantidad de polígonos en la imagen y luego dilatando la imagen usando un kernel. Sin embargo, mi imagen de origen y destino siempre termina igual, sin importar qué núcleo utilizo. ¿Alguna idea?¿Por qué la dilatación del cv2 no afecta mi imagen?
from matplotlib import pyplot
import numpy as np
import cv2
binary_image = np.zeros(image.shape,dtype='int8')
for rect in list_of_rectangles:
cv2.fillConvexPoly(binary_image, np.array(rect), 255)
kernel = np.ones((11,11),'int')
dilated = cv2.dilate(binary_image,kernel)
if np.array_equal(dilated, binary_image):
print("EPIC FAIL!!")
else:
print("eureka!!")
Todo lo que consigo es EPIC FAIL
!
Gracias!