std::vector<cv::Mat>和unsigned char** in_pixels 互相转换

将std::vectorcv::Mat转换为unsigned char** in_pixels,

std::vector<cv::Mat> matVector; // 假设已经有一个包含cv::Mat的vector

// 创建一个二维数组,用于存储像素数据
unsigned char** in_pixels = new unsigned char*[matVector.size()];
for (int i = 0; i < matVector.size(); i++) {
   
    cv::Mat& mat = matVector[i];
    in_pixels[i] = mat.data;
}
int width = 640; // 图像宽度
int height = 480; // 图像高度
int channels = 3; // 通道数

std::vector<cv::Mat> matVector;

for (int i = 0; i < height; i++) {
   
    cv::Mat mat(height, width, CV_8UC3); // 创建一个新的cv::Mat对象

    for (int j = 0; j < width; j++) {
   
        for (int c = 0; c < channels; c++) {
   
            mat.at<cv::Vec3b>(i, j)[c] = in_pixels[i][j * channels + c]; // 复制像素值
        }
    }

    matVector.push_back(mat); // 将新的cv::Mat对象添加到vector中
}

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-07 16:34:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-07 16:34:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-07 16:34:01       82 阅读
  4. Python语言-面向对象

    2024-02-07 16:34:01       91 阅读

热门阅读

  1. 《c++primer第5版》全书知识导图

    2024-02-07 16:34:01       49 阅读
  2. Selenium找界面元素

    2024-02-07 16:34:01       42 阅读
  3. C语言的联合体:一种节省内存的数据结构

    2024-02-07 16:34:01       42 阅读
  4. 02.05

    02.05

    2024-02-07 16:34:01      59 阅读
  5. Unity GC

    2024-02-07 16:34:01       49 阅读
  6. 【力扣刷题练习】300. 最长递增子序列

    2024-02-07 16:34:01       45 阅读
  7. LeetCode Hot100 回顾(三)

    2024-02-07 16:34:01       38 阅读
  8. Ubuntu上开启FTP服务教程

    2024-02-07 16:34:01       55 阅读
  9. prometheus之mysqld_exporter部署

    2024-02-07 16:34:01       41 阅读