Вы должны использовать cv2.fillPoly()
.
Изменить вторую строку на:
cv2.fillPoly(img, [pts], 255)
Иллюстрация:
img = np.zeros([400, 400],dtype=np.uint8)
pts = np.array([[100,350],[165,350],[165,240]], np.int32)
cv2.fillPoly(img, [pts], 255)
cv2.imshow('Original', img)
Результат: