opencv-reshape修改行数和通道数

 

//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

 

posted @ 2021-11-22 20:06  天子骄龙  阅读(289)  评论(0编辑  收藏  举报