OpenCV PCA Compute в Python

Я загружаю набор тестовых изображений через OpenCV (в Python) размером 128×128, переставляя их в векторы (1, 128×128) и складывая их все вместе в матрицу для вычисления PCA. Я использую новые cv2-библиотеки …

Код:

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)) 

И все это происходит неудачно в части PCA (я тестировал загрузку изображения и все, результирующая матрица – как это должно быть) … ошибка, которую я получаю:

Файл «main.py», строка 22, в

среднее, собственные векторы = 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 в функции operator ()

2 Solutions collect form web for “OpenCV PCA Compute в Python”

Я думаю, проблема связана с размером

 np.mean(matrix_test, axis=0) 

Его размер равен (128×128,), а не (1, 128×128). Таким образом, приведенный ниже код должен работать

 mean, eigenvectors = cv.PCACompute(matrix_test, np.mean(matrix_test, axis=0).reshape(1,-1)) 

Вы также можете поставить

 cv.PCACompute(matrix_test, mean = np.array([])) 

и функция вычисляет среднее значение.

  • возможно ли применить PCA на любую текстовую классификацию?
  • Коэффициент нагрузки с использованием sklearn
  • Анализ основных компонентов с использованием кадра данных pandas
  • Множественный анализ корреспонденции с нет-двоичными категориальными переменными-пустыми в Python с использованием модулей mca и prince
  • Sklearn.KMeans (): Получить метки центроида класса и ссылку на набор данных
  • Получать собственные значения и векторы из sklearn PCA
  • Python OpenCV PCACompute Собственное значение
  • Переменные проекта в графике PCA в Python
  •  
    Interesting Posts for Van-Lav

    Как передать переменную Bash на Python?

    Запуск кода Cython в интерпретаторе

    Приложение PyQt: восстановить оригинальный внешний вид после изменения некоторых элементов QSS

    Цепочная группировка, фильтрация и агрегация

    Подсчет ненулевых значений в каждом столбце фрейма данных в python

    панель matplotlib с асимметричными барами ошибок

    Как перебирать атрибуты HTML элемента Beautiful Soup?

    Подсчитайте количество уникальных элементов списка кортежей, независимо от порядка в Python

    Методы регистрации пользователей Django

    Получить последние три цифры целого числа

    более быстрая загрузка csv с индексом datetime pandas

    Как маршрутизировать сообщения журнала из многопроцессорного модуля в файл?

    Как добавить png в PDF с помощью лаборатории отчетов

    Преобразование python long / int в массив байтов фиксированного размера

    Как установить ограничение памяти для потока или процесса в python?

    Python - лучший язык программирования в мире.