Изменить образ opencv для PCA

Вероятно, это довольно простая задача, но я не уверен, что делать дальше, так как я новичок в opencv в C ++.

Я был вдохновлен этот код.

У меня тогда была идея сделать одно изображение, сделать PCA на интенсивностях RGB и визуализировать проекцию данных RGB на 3 основных компонента в оттенках серого.

Первая проблема, с которой я сталкиваюсь, это как настроить матрицу для PCA. Вот мой код до сих пор:

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main( )
{
// Open another image
Mat image, imageMat;
image= imread("images/0.jpg");

imageMat = convertForPCA(image);

// Do pca and visualize channels in grayscale.
// ...
return 0;
}

Так что, если вы могли бы помочь мне реализовать функцию convertForPCA. Эта функция должна принимать матрицу изображения и возвращать матрицу с плавающей запятой n на 3, где n — количество пикселей в исходном изображении.

Я думаю, что могу продолжить с остальными, но, возможно, опубликую больше вопросов, если я застряну и не смогу найти ответ.

0

Решение

Я решил свою проблему, и я положил решение на GitHub на случай, если кто-нибудь столкнется с этим позже.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]