Как я мог создать матрицу opencv с отдельными данными канала RGB - PullRequest
0 голосов
/ 20 октября 2018

Предположим, у меня есть три массива символов r[1024], g[1024], b[1024], которые содержат данные rgb одного изображения.Как я могу создать cv::Mat с этими данными канала?

1 Ответ

0 голосов
/ 20 октября 2018

Примерно так:

// Create three single channel Mats
cv::Mat R(rows,cols,CV_8UC1,&r[0]);
cv::Mat G(rows,cols,CV_8UC1,&g[0]);
cv::Mat B(rows,cols,CV_8UC1,&b[0]);

Затем объединить в одно изображение:

// Now merge the 3 individual channels into 3-band bad boy
auto channels = std::vector<cv::Mat>{B, G, R};
cv::Mat ThreeBandBoy;
cv::merge(channels, ThreeBandBoy);
...