Даже у меня была такая же проблема, и решение было тихим и легким.Помните, 1 вещь: если значения RGB вашего изображения лежат в диапазоне 0-255, убедитесь, что значения не относятся к типу данных «float».Поскольку OpenCV считает float только тогда, когда значения варьируются от 0-1.Если он находит значение с плавающей запятой, большее 1, он обрезает значение, считая, что число с плавающей запятой существует только между 0-1.Отсюда и такие ошибки.Так что конвертируйте тип данных в uint8, если значения от 0 до 255.
image = image.astype('uint8')
Проверьте это Ядро Kaggle , чтобы узнать больше об этом