【opencv入门教程】12. 矩阵初始化

文章选自:

一、 数据类型

复制代码
建立矩阵必须要指定矩阵存储的数据类型,图像处理中常用的几种数据类型如下:包括数据位深度8位、32位,数据类型U:uchar、F:float型以及通道数C1:单通道、C3:三通道、C4:四通道。
我们可以通过载入图像来创建Mat类型矩阵

二、测试程序

cpp 复制代码
void Samples::CreateMatrix()
{
  //step1. 创建矩阵
  cv::Mat a(cv::Size(3, 3), CV_8UC1); //创建单通道ucahr类型
  cv::Mat b(cv::Size(3, 3), CV_32F);  //创建Float类型
  cv::Mat c = cv::Mat(cv::Size(3, 3), CV_8UC3); //3通道每个矩阵元素包含3个uchar值
  cv::Mat d = cv::Mat(cv::Size(3, 3), CV_8UC4);//4通道每个矩阵元素包含3个uchar值
  cout << "step1. 创建矩阵" << endl;
  cout << "a  = " << endl << a << endl << endl;
  cout << "b  = " << endl << b << endl << endl;
  cout << "c  = " << endl << c << endl << endl;
  cout << "d  = " << endl << d << endl << endl;

  //step2. 初始化矩阵
  cv::Mat mz = cv::Mat::zeros(cv::Size(3, 3), CV_8UC1); // 全零矩阵
  cv::Mat mo = cv::Mat::ones(cv::Size(3, 3), CV_8UC1);  // 全1矩阵
  cv::Mat me = cv::Mat::eye(cv::Size(3, 3), CV_32FC1);  // 对角线为1的对角矩阵

  cout << "step2. 初始化矩阵" << endl;
  cout << "mz = " << endl << mz << endl << endl;
  cout << "mo = " << endl << mo << endl << endl;
  cout << "me = " << endl << me << endl << endl;
}

三、测试结果

相关推荐
IT_陈寒2 分钟前
Python装饰器竟然偷偷改了函数名?这个坑我爬了三天
前端·人工智能·后端
阿里云大数据AI技术7 分钟前
DataWorks Data Agent “又双叒叕”升级:更低成本、更强智能、更多连接
人工智能·agent
Elastic 中国社区官方博客25 分钟前
Elastic 在 Everest Group 企业搜索产品 PEAK Matrix® 评估 2026 中被评为领导者
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
牧艺35 分钟前
Cursor 多 Agent 与 Worktree:大重构不再赌一把
人工智能·agent·cursor
一键生成网站36 分钟前
开源AI政务大屏制作工具对比:国产化安全合规选型深度分析
人工智能·开源·政务·
搞科研的小刘选手41 分钟前
【香港大学主办&IEEE出版】第六届计算机视觉、应用与算法国际学术会议(CVAA 2026)
算法·计算机视觉·应用·学术会议
智食分子43 分钟前
大模型开发框架LangChain
人工智能
YHL1 小时前
🤖 Agent 智能体开发实战 · 第一课:Tool Use —— 让大模型自动干活
前端·javascript·人工智能
萧萧秦风瘦飞马1 小时前
CSDN博客-第6天-DataLoader与二维非线性分类
人工智能·分类·数据挖掘
Java小白笔记1 小时前
Codex config.toml配置实战指南
人工智能·算法·chatgpt·ai编程·集成学习