Попробуйте использовать отладчик или IDE, чтобы проверить, что все дает ожидаемый результат, один шаг за раз.
Если вы загружаете изображение, напечатайте его форму:
img = cv2.imread(...)
print(image.shape)
Если вы преобразуете изображение в оттенки серого, убедитесь, что оно имеет 1 канал:
img = cv2.cvtColor(...)
print(image.shape)
Если вы измените размер изображения, проверьте, соответствует ли его размер:
img = cv2.resize(...)
print(image.shape)
Если вы собираюсь вернуть изображение из функции, проверить его размер и тип:
print(result.shape, result.dtype)
return result