Как уже упоминалось выше, я в настоящее время работаю над проектом по распознаванию лиц PCA, однако я натолкнулся на препятствие, о котором хотел бы получить совет.
Для начала я создаю свой собственный набор данных, поэтому я в настоящее время у меня есть 10 изображений из 20 человек, мне удалось извлечь функции изображения, используя следующий код:
for img in os.listdir(path): #reiterate inside folder
try:
img_array = cv2.imread(os.path.join(path,img),cv2.IMREAD_GRAYSCALE)
x_data.append(img_array)
y_data.append(class_num)
except Exception as e:
pass
возвращение x_data [0] дает мне это
[[255 255 254 ... 255 254 255]
[255 255 254 ... 254 255 255]
[255 255 255 ... 255 253 255]
...
[255 255 255 ... 71 215 254]
[254 255 255 ... 60 209 255]
[255 255 255 ... 55 210 255]]
однако, когда я применяю стандартное вычисление к этому x_data
X_std = StandardScaler().fit_transform(X_train)
, я возвращаюсь с этой ошибкой
ValueError: setting an array element with a sequence.
Я полагаю, что это либо из-за дополнительного [] на каждый элемент или из-за dtype = uint8, как я прочитал, но я понятия не имею, как поступить. Я пытался устранить лишние [], но безрезультатно.
Может кто-нибудь посоветовать мне этот вопрос?
Кроме того, если мой код можно улучшить, не могли бы вы также дать мне несколько указаний? от того, как? Цените свое время, чтобы помочь любым способом.