Как показать изображения с уважением их относительного размера? - PullRequest
0 голосов
/ 20 сентября 2019

Изображения различных форм, хранящиеся в списке, отображаются следующим образом: enter image description here

plt.figure(figsize=(15,10))
H = ceil(sqrt(len(good_images)))
W = 1+len(good_images)//ceil(sqrt(len(good_images)))
print(len(good_images),H, W)
for i,im in enumerate(good_images):
        plt.subplot(H, W, i+1,xticks=[],yticks=[])
        plt.title(im.shape)
        plt.imshow(im, interpolation='nearest', cmap=plt.cm.gist_gray_r)

Можно ли отображать изображения и сохранять их относительный размер?

1 Ответ

1 голос
/ 20 сентября 2019

Вы можете делить оси так, чтобы все изображения находились в одинаковых масштабах.

import numpy as np
import matplotlib.pyplot as plt

N = 25
f = lambda n,m: np.random.rand(n,m)
g = lambda: f(np.random.randint(29,150), np.random.randint(29,150))
images = [g() for _ in range(N)]

fig, axs = plt.subplots(5,5, sharex=True, sharey=True)

for image, ax in zip(images, axs.flat):
    ax.imshow(image, cmap="Greys")
    ax.set_title(image.shape, fontsize=8)
    ax.autoscale()

fig.tight_layout()
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...