Как сравнить два разных массива numpy? - PullRequest
0 голосов
/ 06 августа 2020

Я пытался найти слайдер изображений с помощью matplotlib и нашел его здесь , и я попытался передать его своим массивом массивом 3D (44,640,640) numpy, созданным из 2D-изображений tiff (с использованием. Я не видел никакого дисплея. Но когда я загружаю функцию произвольно созданным массивом, например array = np.random.randint(0,256,(44,640,640)), я могу отображать изображения и плавно перемещаться по нему. Следовательно, мне интересно, каковы «фундаментальные различия» между этими двумя массивами .

Есть у кого-нибудь идея?

Спасибо,

Что я использовал для создания своего numpy массива:

def load_data(path):
    files = glob(path+"/*")

    array = []
    for index, image in enumerate(files):
        array.append(np.array(Image.open(files[index])))

    array = np.array(array)

    return array

Код для слайдера maplotlib:

def cube_show_slider(cube, axis=2, **kwargs):
    """
    Display a 3d ndarray with a slider to move along the third dimension.

    Extra keyword arguments are passed to imshow
    """
    import matplotlib.pyplot as plt
    from matplotlib.widgets import Slider, Button, RadioButtons

    # check dim
    if not cube.ndim == 3:
        raise ValueError("cube should be an ndarray with ndim == 3")

    # generate figure
    fig = plt.figure()
    ax = plt.subplot(111)
    fig.subplots_adjust(left=0.25, bottom=0.25)

    # select first image
    s = [slice(0, 1) if i == axis else slice(None) for i in xrange(3)]
    im = cube[s].squeeze()

    # display image
    l = ax.imshow(im, **kwargs)

    # define slider
    axcolor = 'lightgoldenrodyellow'
    ax = fig.add_axes([0.25, 0.1, 0.65, 0.03], axisbg=axcolor)

    slider = Slider(ax, 'Axis %i index' % axis, 0, cube.shape[axis] - 1,
                    valinit=0, valfmt='%i')

    def update(val):
        ind = int(slider.val)
        s = [slice(ind, ind + 1) if i == axis else slice(None)
                 for i in xrange(3)]
        im = cube[s].squeeze()
        l.set_data(im, **kwargs)
        fig.canvas.draw()

    slider.on_changed(update)

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