【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;
}

三、测试结果

相关推荐
一拳不是超人几秒前
DeepSeek Harness 为什么敢说"一切皆插件"?拆透 Cordis 引擎的五大核心机制
前端·人工智能·agent
安全指北针4 分钟前
AI编程工具供应链安全实战:当你的AI编码助手成为跳板
人工智能·安全·ai编程
fo安方8 分钟前
视频——工具——视频——ppt——AI生成ppt
人工智能·powerpoint
watersink12 分钟前
机器学习最大熵模型max_entropy_model
人工智能·机器学习
IT_陈寒12 分钟前
Python的GIL让我多写了500行代码
前端·人工智能·后端
迪康Defender21 分钟前
AI 重构终端安全运营:智能分析中枢 AI Insight 模块架构与落地场景深度解析
运维·网络·人工智能·其他·安全·重构·架构
IPHWT 零软网络25 分钟前
技术方案分享|AI Agent 赋能 IVR 导航,解决传统语音呼叫系统交互瓶颈
人工智能·通信系统·rag·ivr·aiagent·智能语音·语音导航
leijiwen28 分钟前
《花尖墨 · 果域宇宙》电影三部曲
人工智能·saas·paas
番茄炒鸡蛋加糖32 分钟前
主流 AI 框架 + RAG 落地实战
人工智能·rag·springai
哈__35 分钟前
面向AI智能体的数据库专业技能包:将DBA工程经验封装为可调用能力
数据库·人工智能·dba