크기가 128x128 인 OpenCV (Python)를 통해 테스트 이미지 집합을로드하고이를 벡터 (1, 128x128)로 바꿔서 모두 모아서 PCA를 계산합니다. 나는 새로운 CV2 libaries를 사용하고 있습니다 ...OpenCV PCA Python에서 계산
코드 :
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))
그리고 그것은에 allways PCA에 부분 (I 이미지 로딩을 시험하고 모두가 결과 매트릭스는 어떻게해야입니다 실패) ... 내가 오류는 다음과 같습니다
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()
그 트릭을 ... 완전히 바보 같은 실수! 감사! – Veles