/ / Как да покажем картина в Python като Matlab - python, matlab, numpy, matplotlib, octave

Как да покажете картина в Python като Matlab - python, matlab, numpy, matplotlib, octave

Това е 20 x 20 пиксели изображение на a zero нула кой образ се съхранява в масив с размер 400:

X[0,:] = [255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254
254 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 246
232 206 206 246 254 255 255 255 255 255 255 255 255 255 255 255 255 255
246 182 132 132 132 161 206 232 254 255 255 255 255 255 255 255 255 255
255 254 206 132 132 132 132 132 132 182 246 255 255 255 255 255 255 255
255 255 255 254 206 132 132 161 182 161 132 161 232 255 255 255 255 255
255 255 255 255 255 254 182 132 161 232 246 182 132 161 232 255 255 255
255 255 255 255 255 255 255 246 182 132 182 246 246 182 132 182 246 255
255 255 255 255 255 255 255 255 255 246 182 132 182 254 232 161 132 206
254 255 255 255 255 255 255 255 255 255 255 246 182 132 182 246 206 132
161 232 254 255 255 255 255 255 255 255 255 255 255 246 182 132 161 206
161 132 182 246 255 255 255 255 255 255 255 255 255 255 255 254 206 132
132 132 132 132 206 254 255 255 255 255 255 255 255 255 255 255 255 255
232 182 161 132 132 182 232 254 255 255 255 255 255 255 255 255 255 255
255 255 254 246 232 206 206 232 254 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 254 254 254 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
255 255 255 255]

В Matlab мога да видя тази снимка, използвайки тази снимка displayData(X(0,:)) команда.

Също така, като използвате следните команди:

% Randomly select 100 data points to display
sel = randperm(size(X, 1));
sel = sel(1:100);
displayData(X(sel, :));

Мога да показвам различни снимки на числа като:

Много снимки

Машинно обучение

Опитах се да извърша същата операция в Python, използвайки следния код:

import matplotlib.pyplot as plt
plt.imshow(X[0, :])
plt.show()

Но тази грешка е изхвърлена: Output: TypeError: Invalid dimensions for image data

Отговори:

5 за отговор № 1

Numpy масиви обикновено се използват за съхраняване на данни за начертаване в matplotlib, така че най-лесно е да се чете в байта на изображението в сивата гама до numpy масив, кажете на вашия numpy масив формата

след това има още настройки за сюжета

import numpy as np
import matplotlib.pyplot as plt

zstr = "255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 254 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 246 232 206 206 246 254 255 255 255 255 255 255 255 255 255 255 255 255 255 246 182 132 132 132 161 206 232 254 255 255 255 255 255 255 255 255 255 255 254 206 132 132 132 132 132 132 182 246 255 255 255 255 255 255 255 255 255 255 254 206 132 132 161 182 161 132 161 232 255 255 255 255 255 255 255 255 255 255 254 182 132 161 232 246 182 132 161 232 255 255 255 255 255 255 255 255 255 255 246 182 132 182 246 246 182 132 182 246 255 255 255 255 255 255 255 255 255 255 246 182 132 182 254 232 161 132 206 254 255 255 255 255 255 255 255 255 255 255 246 182 132 182 246 206 132 161 232 254 255 255 255 255 255 255 255 255 255 255 246 182 132 161 206 161 132 182 246 255 255 255 255 255 255 255 255 255 255 255 254 206 132 132 132 132 132 206 254 255 255 255 255 255 255 255 255 255 255 255 255 232 182 161 132 132 182 232 254 255 255 255 255 255 255 255 255 255 255 255 255 254 246 232 206 206 232 254 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 254 254 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255"

z, z.shape = np.array([int(i) for i in zstr.split(" ")]), (20,20)

fig, ax = plt.subplots()
ax.imshow(z, cmap=plt.cm.gray, interpolation="nearest")
# interpolation=None uses a smoother default interpolatiopn
plt.show()

въведете описанието на изображението тук