Sto caricando un set di immagini di prova tramite OpenCV (in Python) di dimensioni 128x128, rimodellandole in vettori (1, 128x128) e inserendole tutte in una matrice per calcolare PCA. Sto utilizzando i nuovi libaries CV2 ...OpenCV PCA Compute in Python
Il codice:
import os
import cv2 as cv
import numpy as np
matrix_test = None
for image in os.listdir('path_to_dir'):
imgraw = cv.imread(os.path.join('path_to_dir', image), 0)
imgvector = imgraw.reshape(128*128)
try:
matrix_test = np.vstack((matrix_test, imgvector))
except:
matrix_test = imgvector
# PCA
mean, eigenvectors = cv.PCACompute(matrix_test, np.mean(matrix_test, axis=0))
E non riesce allways da parte PCA (ho provato il caricamento di immagini e di tutti, la matrice risultante è come dovrebbe essere) ... l'errore che ottengo è:
File "main.py", line 22, in
mean, eigenvectors = cv.PCACompute(matrix_test, np.mean(matri_test, axis=0))
cv2.error: /path/to/OpenCV-2.3.1/modules/core/src/matmul.cpp:2781: error: (-215) _mean.size() == mean_sz in function operator()
Questo ha fatto il trucco ... totalmente mancato, un errore così stupido! Grazie! – Veles