当前位置: 首页 > article >正文

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中
}

http://www.kler.cn/a/233967.html

相关文章:

  • wafw00f源码详细解析
  • 以往运维岗本人面试真题分享
  • 深入理解 Vue v-model 原理与应用
  • 【go从零单排】Random Numbers、Number Parsing
  • Apache ECharts
  • 自动驾驶3D目标检测综述(一)
  • 一周学会Django5 Python Web开发-Django5创建项目(用PyCharm工具)
  • 【翻译】Processing安卓模式的安装使用及打包发布(内含中文版截图)
  • 酷开科技荣获消费者服务平台黑猫投诉“消费者服务之星”称号
  • 任意IOS16系统iPad/Iphone开启台前调度
  • OpenCV-35 查找轮廓
  • Nginx 配置 SSL证书
  • 【JavaScript】数组的创建和操作
  • Xampp中Xdebug的安装使用
  • 大数据思考:面对海量数据时,选择哪种模式才是更适合自己的?
  • 深入探索Redis:如何有效遍历海量数据集
  • 在容器镜像中为了安全为什么要删除 setuid 和 setgid?
  • Java图形化界面编程——菜单组件 笔记
  • 【EAI 014】Gato: A Generalist Agent
  • 1.6 Binance_interface API 现货交易账户
  • QT+OSG/osgEarth编译之八十二:osgdb_obj+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5插件库osgdb_obj)
  • Mockito测试框架中的方法详解
  • JUnit实践教程——Java的单元测试框架
  • 程序设计语言的组成
  • SAP-PP-01-005工作中心
  • Swift Combine 使用 dataTaskPublisher 发起网络请求 从入门到精通十