【C++/CPP】OpenCV丨2. 常用操作丨1. 创建Mat丨
参考:OpenCV:创建Mat矩阵的几种常用方法
本章介绍创建Mat的几种方式。
#include <opencv2/opencv.hpp>
using namespace cv;int main()
{//-----------//// Method 1: ////-----------//Mat m;// 1.1// function protoype// void Mat::create(int _rows, int _cols, int _type)m.create(240, 320, CV_8UC3);// or 1.2// function protoype// void Mat::create(Size _sz, int _type)m.create(Size(320, 240), CV_8UC3);//-----------//// Method 2: ////-----------//// 2.1 // function protoype// Mat(int _rows, int _cols, int _type, const Scalar& _s)Mat m(240, 320, CV_8UC3, Scalar(175, 175, 255)); // Commonly Used. In actual use, comment the other three items.// or 2.2// function protoype// Mat(Size _sz, int _type, const Scalar& _s)Mat m(Size(320, 240), CV_8UC3, Scalar(175, 175, 255));imshow("create",m);waitKey(0);return 0;
}
在上面的代码中,一种展示了四种创建Mat的方式。在实际的编译与运行中,任选其一并注释掉其他三项即可。
就我而言,比较喜欢用 2.1
方案。下面就这个方案进行介绍。下面的说明也可以很容易迁移到其他三种方案中,因此对其他三种方案不做赘述。
函数原型。
Mat(int _rows, int _cols, int _type, const Scalar& _s)
- int _rows: 表示创建的Mat的行数(也就是图像的高)。
- int _cols: 表示创建的Mat的列数(也就是图像的宽)。
- int _type: 表示Mat的类型。
类型的命名规则是这样的:
CV_[The number of bits per item][Signed or Unsigned][Type Prefix]C[The channel number]
For instance, CV_8UC3 means we use unsigned char types that are 8 bit long and each pixel has three of these to form the three channels. There are types predefined for up to four channels. The cv::Scalar is four element short vector. Specify it and you can initialize all matrix points with a custom value. If you need more you can create the type with the upper macro, setting the channel number in parenthesis as you can see below. - Scalar& _s: 表示给各个通道赋值。
比如Scalar(175, 175, 255)
就表示三个通道依次赋值175,175,255.
【C++/CPP】OpenCV丨2. 常用操作丨1. 创建Mat丨相关推荐
- 【OpenCV】OpenCV实战从入门到精通之 -- 显示创建Mat对象的七种方法
目录 1.使用Mat()构造函数 2.C\C++中构造函数进行初始化 3.为已经存在的IplImage指针创建信息头 4.利用Create()函数 5.Matlab方式的初始化 6.对小矩阵使用逗号分 ...
- Hbase常用操作记录
Hbase常用操作记录 Hbase 创建表 查看表结构 修改表结构 删除表 创建表 语法:create <table>, {NAME => <family>, VERSI ...
- Kubernetes(k8s)常用资源的使用、Pod的常用操作
1.K8s是如何运行容器的. 答:k8s是通过定义一个Pod的资源,然后在Pod里面运行容器的.K8s最小的资源单位Pod. 2.如何创建一个Pod资源呢? 答:在K8s中,所有的资源单位都可以使用一 ...
- 使用 Burpsuite 测试的常用操作(一)
大家好啊,我是大田. 今天分享一下 Burpsuite 在工作中常用操作,本文先说说其中两个操作. 一.了解一下 Burpsuite 做什么 1.Burpsuite 是一个黑客工具.安全测试工具.半自 ...
- OpenCV学习笔记(四十一)——再看基础数据结构core OpenCV学习笔记(四十二)——Mat数据操作之普通青年、文艺青年、暴力青年 OpenCV学习笔记(四十三)——存取像素值操作汇总co
OpenCV学习笔记(四十一)--再看基础数据结构core 记得我在OpenCV学习笔记(四)--新版本的数据结构core里面讲过新版本的数据结构了,可是我再看这部分的时候,我发现我当时实在是看得太马 ...
- opencv简单的矩阵操作
OpenCV的基本矩阵操作与示例 OpenCV中的矩阵操作非常重要,本文总结了矩阵的创建.初始化以及基本矩阵操作,给出了示例代码,主要内容包括: 创建与初始化 矩阵加减法 矩阵乘法 矩阵转置 矩阵求逆 ...
- 顺序表的插入与删除java_C++实现顺序表的常用操作(插入删出查找输出)
实现顺序表的插入,删除,查找,输出操作在C语言中经常用到.下面小编给大家整理实现代码,一起看下吧 代码如下所示: #include using namespace std; #define MAXSI ...
- opencv 简单、常用的图像处理函数(2)
1.vc++配置opencv 2.简单常用的图片处理函数 3.图像修复函数 opencv的项目以来配置和环境变量的配置都很简单,对于我这个没有c++基础的来说,复杂的是opencv的api和一些大部分 ...
- STM32学习笔记(六)丨TIM定时器及其应用(输入捕获丨测量PWM波形的频率和占空比)
本篇文章包含的内容 一.输入捕获 1.1 输入捕获简介 1.2 输入捕获通道的工作原理 1.3 输入捕获的主从触发模式 1.4 输入捕获和PWMI结构 二.频率的测量方法 2.1 测频法 2.2 测周 ...
最新文章
- SqlServer 索引
- 读写分离数据库之MyCat
- python︱flashtext高效关键词查找与替换
- 从Java类库看设计模式(4)
- 计算机机房安全管理问题与措施,机房管理中存在的问题及处理对策
- 历年系统架构师论文题目总结(2012-2018)
- 百度地图,根据地址计算经度纬度
- Electron 屏幕锁定 快捷键锁定 屏蔽快捷键
- spring MVC3 集成 freemarker
- 我的世界右边显示什么服务器,我的世界MC的服务器是什么意思
- 华为云CDN,无忧畅享网络
- 2020扁皮筋排名_2020年高性价比弹弓推荐,(12月)弹弓选购攻略
- python爬虫获取网站销售情况(内置源码)
- Cisco ❀ IPV4协议数据报头部
- 美联航客机逃生门故障致乘客机舱过夜 承诺将赔偿
- starUML建立模型及生成代码框架
- 【PyTorch深度学习项目实战100例】—— 基于CNN实现书法字体风格识别任务 | 第62例
- 机器学习—线性回归—正规方程(原理及代码实现)
- Ubuntu下tc命令配置网络时延、丢包、带宽
- 安卓:Day5 列表视图