Генерирует некоторые синтетические данные:
- Все пиксели изменяются со стандартным значением 3
- Некоторые пиксели изменяются (в форме X) со стандартным значением 5
Код:
import cv2
lena = cv2.imread("lena.png", 0)
lena = cv2.resize(dices, (100,100))
images = np.zeros((30, *lena.shape))
images[0] = lena.astype('float64')
mask = np.rot90(np.eye(100)) + np.eye(100)
for i in range(1,30):
img = images[i-1]
img += np.random.randn(*lena.shape)*3
img += mask*5
images[i] = img
Набор созданных изображений выглядит следующим образом:
код для рендеринга изображений:
plt.close('all')
plt.figure(figsize=(25,25))
for i in range(25):
plt.subplot(5,5,i+1)
plt.imshow(images[i],cmap='gray')
plt.xticks([])
plt.yticks([])
plt.tight_layout()
plt.show()
Наконец, тепловая карта, чтобы найти части изображения, которые меняются с разной скоростью.
import seaborn as sns; sns.set()
ax = sns.heatmap(images.std(axis=0))
plt.show()
Мы получили нашу маскуназад.