//IDE:VS2019 #include<opencv2/opencv.hpp> #include<iostream> #include <vector> int main(int argc, char** argv) { cv::Mat src(5, 4, CV_8UC3, cv::Scalar(10, 20, 30)); std::cout << "行数: " << src.rows << std::endl; std::cout << "列数: " << src.cols << std::endl; std::cout << "通道: " << src.channels() << std::endl; cv::Mat dst; dst= src.reshape(1, 1); //修改行数和通道数 //表示通道数(channels), 如果设为0,则表示保持通道数不变,否则则变为设置的通道数 //表示矩阵行数。 如果设为0,则表示保持原有的行数不变,否则则变为设置的行数 std::cout << "行数: " << dst.rows << std::endl; std::cout << "列数: " << dst.cols << std::endl; std::cout << "通道: " << dst.channels() << std::endl; cv::waitKey(); return 0; }
reshape失败的原因: https://blog.csdn.net/xkwnzxxjw/article/details/80659179