はじめに
ネットワーク上で高速化を理由にJPEGなどの圧縮画像データを用いることがあった.
その際に直接Mat変換できず躓いたのでメモとして残す.
書き方
# include <iostream>
# include <opencv2/opencv.hpp>
# include <vector>
int main()
{
// ネットワークなどでデータを受け取ったとする
char* data = // JPEGデータが入っている
int len = // JPEGデータサイズ
// Matへ変換
std::vector<uchar> jpeg(data, data + len);
cv::Mat img = cv::imdecode(jpeg, 1);
cv::imshow("sample", img);
cv::waitKey();
cv::destroyAllWindows();
}