python (matplotlib)을 사용하여 주성분 분석 (PCA)에 의한 얼굴 인식을 시도하고 있습니다. 이 이미지에 설명 된대로 내가 할 노력하고 있어요 : 여기Python 오류 - ValueError : 압축을 풀려면 1 개 이상의 값이 필요합니다.
은 내 코드입니다 :
import os
from PIL import Image
import numpy as np
import glob
from matplotlib.mlab import PCA
#Step1: put database images into a 3D array
filenames = glob.glob('C:\\Users\\Karim\\Downloads\\att_faces\\New folder/*.pgm')
filenames.sort()
img = [Image.open(fn).convert('L') for fn in filenames]
images = np.dstack([np.array(im) for im in img])
# Step2: create 2D flattened version of 3D input array
d1,d2,d3 = images.shape
b = np.zeros([d1,d2*d3])
for i in range(len(images)):
b[i] = images[i].flatten()
#Step 3: database PCA
results = PCA(b.T)
x = results.Wt
#Step 4: input image
input_image = Image.open('C:\\Users\\Karim\\Downloads\\att_faces\\1.pgm').convert('L')
input_image = np.array(input_image)
input_image = input_image.flatten()
#Step 5: input PCA
in_results = PCA(input_image.T)
y = in_results.Wt
#Step 6: get shortest distance
그러나 나는 말을 in_results = PCA(input_image.T)
에서 오류가 점점 오전 : Traceback (most recent call last): File "C:\Users\Karim\Desktop\Bachelor 2\New folder\new2.py", line 29, in <module> in_results = PCA(input_image.T) File "C:\Python27\lib\site-packages\matplotlib\mlab.py", line 846, in __init__ n, m = a.shape ValueError: need more than 1 value to unpack
사람을 도울 수있다??
오류 메시지 대신 실제 추적을 게시 할 수 있습니까? – abarnert
@abarnert 질문에 대한 오류 메시지 대신 실제 추적을 추가했습니다. – user2229953
OK, 맞았습니다. 문제는'n, m = a.shape'입니다. 내 대답을 업데이트하겠습니다. '#Step 4 : 입력 이미지 input_image = Image.open ('C : \\ 사용자 \ Karim \\ 다운로드 \\ att_faces \\ 1.pgm'). – abarnert