Numpy '==
предназначен для сравнения значений, поэтому это не путь к go.
Если я правильно понял, я думаю, что вы ищете, это numpy.ndarray.base
.
import numpy as np
picture_1 = np.random.randint(0, 256, (100, 100, 3))
picture_2 = picture_1[10:-10, 10:-10]
print(picture_2.base is picture_1) # True
Как сказано в официальном c, этот код проверяет, является ли picture_2
основанным на picture_1
. Другими словами 'numpy', он проверяет, является ли picture_2
view
из picture_1
.
Или, возможно, вы хотите использовать base
как-то так?
Это проверяет, является ли основа picture_1
, с которой была обрезана picture_2
(по значению), такой же, как picture_0
.
import numpy as np
picture_0 = np.random.randint(0, 256, (100, 100, 3))
picture_1 = np.copy(picture_0)
picture_2 = picture_1[10:-10, 10:-10]
picture_1_mod = np.copy(picture_0)+1 # mod means modified.
picture_2_mod = picture_1_mod[10:-10, 10:-10]
print(picture_2.base == picture_0) # Array of Trues
print(picture_2_mod.base == picture_0) # Array of Falses