#include<opencv2/opencv.hpp> #include<iostream> #include <vector> int main(int argc, char** argv) { //std::vector<float> vec; std::vector<int> vec; for (int i = 0; i < 10; i++) vec.push_back(i); cv::Mat img = cv::Mat(vec); //vec.size()行1列矩阵 /* 转换后的Mat数据类型与vector的数据类型相关。当vec为float类型的,转化后的Mat数据类型为CV_32F。 vec为int类型的,转化后的Mat数据类型为CV_32S */ std::cerr << img << std::endl; std::cout << "type=" << img.type() << std::endl; cv::waitKey(0); return 0; }