Я попытался представить себе эффект keras кадрирования 2D, используя следующий фрагмент кода:Keras Cropping2D меняет цвет канала
from keras import backend as K
from keras.layers.convolutional import Cropping2D
from keras.models import Sequential
# with a Sequential model
model = Sequential()
model.add(Cropping2D(cropping=((22, 0), (0, 0)), input_shape=(160, 320, 3)))
cropping_output = K.function([model.layers[0].input],
[model.layers[0].output])
cropped_image = cropping_output([image[None,...]])[0]
compare_images(image,
cropped_image.reshape(cropped_image.shape[1:]))
Вот функция зарисовки:
def compare_images(left_image, right_image):
print(image.shape)
f, (ax1, ax2) = plt.subplots(1, 2, figsize=(24, 9))
f.tight_layout()
ax1.imshow(left_image)
ax1.set_title('Shape '+ str(left_image.shape),
fontsize=50)
ax2.imshow(right_image)
ax2.set_title('Shape '+ str(right_image.shape)
, fontsize=50)
plt.show()
В результате
Очевидно, что канал цвета был изменен д. Но почему? Есть ли ошибка в моем коде или это может быть ошибка keras?
Как вы построили эти изображения? –
Я отредактировал его в исходном вопросе – user1934212
По какой-то причине matplotlib иногда принимает негатив изображения вместо исходного изображения. Не могли бы вы сравнить фактические значения на обеих картинках и проверить, отличаются ли они? –