#python #arrays #numpy #reshape
#python #массивы #numpy #изменить форму
Вопрос:
У меня есть два изображения размером 100×100. Всякий раз, когда я сглаживаю их в одномерные массивы, складываю их после этого, я не получаю тот же результат по сравнению с тем, когда я складываю их, сглаживаю их. В чем разница между этими двумя подходами:
First_image = I1
Second_image = I2
I = np.hstack((I1.flatten(), I2.flatten()))
plt.imshow((I).reshape((100,2*100)));
введите описание изображения здесь
First_image = I1
Second_image = I2
I = np.hstack((I1, I2)).flatten()
plt.imshow((I).reshape((100,2*100)));
Комментарии:
1. Почему это должно быть так же?
Ответ №1:
Вы можете ясно увидеть разницу между ними по простому фрагменту кода, прикрепленному
import numpy as np
a = np.ones((2,5))
b = np.zeros((2,5))
I = np.hstack((a.flatten(), b.flatten()))
print(I)
I = np.hstack((a, b)).flatten()
print(I)
В общем, пожалуйста, самостоятельно проверяйте работоспособность простых массивов, прежде чем публиковать вопросы здесь.
Комментарии:
1. Да, разница очень очевидна. Скорее я пытался понять, почему укладка 2 сплющенных массивов возвращает дублированное изображение при изменении его формы?