Функция Eigenimage генерирует узкую полоску вместо среднего изображения - PullRequest
0 голосов
/ 06 июня 2019

Я получил эту функцию из книги:

def EigenImages( d ):
    N,V,H = d.shape
    dd = d.astype(float) - d.astype(float).mean(0)
    L = np.zeros( (N,N) )
    for i in range( N ):
        L[i,i] = (dd[i] * dd[i]).sum()
        for j in range( i ):
             L[i,j] = L[j,i] = (dd[i] * dd[j] ).sum()
    evls, evcs = np.linalg.eig( L )
    emgs = []
    for j in range( N ):
        a = np.zeros( (V,H) )
        for i in range( N ):
            a += evcs[i,j]*dd[i]
        emgs.append( a/np.sqrt(evls[j]) )
    return emgs, evls

Но это не работает должным образом. Вместо генерации собственных изображений он генерирует узкую полоску, подобную этой: enter image description here

Что не так?

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