OpenCV_Mat类对象常用的构造方法及初始化方法 admin 2023-05-26 11:09:01 篇首语:本文由小编为大家整理,主要介绍了OpenCV_Mat类对象常用的构造方法及初始化方法相关的知识,希望对你有一定的参考价值。 OpenCV_Mat类对象常用的构造方法及初始化方法 说明:本文提供的示例代码请到页面 https://www.hhai.cc/thread-71-1-1.html 查看。 OpenCV_Mat类对象常用的构造方法及初始化方法如下: 目录 01-Mat::Mat()02-Mat::Mat(int rows, int cols, int type)03-Mat::Mat(Size size, int type)04-Mat::Mat(int rows, int cols, int type, const Scalar& s)05-Mat::Mat(Size size, int type, const Scalar& s)06-Mat::Mat(const Mat& m)07-初始化一个所有元素值都为零的矩阵08-初始化一个所有元素值都为1的矩阵09-初始化矩阵的每一个元素为不同的任意值(利用重载运算符<<)10-通过别的Mat对象的属性值创建一个新的Mat对象 01-Mat::Mat() 无参数的构造方法 02-Mat::Mat(int rows, int cols, int type) 创建行数为rows,列数为cols,类型为type的图像。 关于参数type的可取值及意义,可参见页面 https://www.hhai.cc/thread-72-1-1.html 03-Mat::Mat(Size size, int type) 创建大小为size,类型为type的图像。 04-Mat::Mat(int rows, int cols, int type, const Scalar& s) 创建行数为rows,列数为cols,类型为type的图像,并将所有元素初始化为s。 05-Mat::Mat(Size size, int type, const Scalar& s) 创建大小为size,类型为type的图像,并将所有元素初始化为s。 06-Mat::Mat(const Mat& m) 将对象m赋值给新创建的对象,此时不会对图像数据进行复制,对象m和新对象共用图像数据。 以上六种构造方法的示例代码请看本篇博文开头的说明。 示例代码运行结果如下图所示: 从上面的运行结果我们可以看出,Mat对象的数据如果没有指定初始值,那么其值为205,注意不是255。 要特别注意的地方是:使用cv::Size()设定大小时,第一个参数是指矩阵有多少列,第二个参数是指矩阵有多少行,即cv::Size(width,height),比如上面代码中的方法3和方法5。 07-初始化一个所有元素值都为零的矩阵 可利用Mat类的成员函数Mat::zeros()实现初始化一个所有元素值都为零的矩阵 示例代码请查看本篇博文开头的说明。 示例代码运行结果如下图所示: 08-初始化一个所有元素值都为1的矩阵 可利用Mat类的成员函数Mat::ones()实现初始化一个所有元素值都为1的矩阵 成员函数Mat::ones()的使用与上一个Mat::zeros()的使用完全相同,这里就不给示例代码了。 09-初始化矩阵的每一个元素为不同的任意值(利用重载运算符<<) 示例代码请查看本篇博文开头的说明。 示例代码运行结果如下图所示: 注意B1的数据类型为float类型,C1的数据类型为double类型。这导致了它们输出值的不同,从提高精度的角度来说,咱们能用double型就用double型。 10-通过别的Mat对象的属性值创建一个新的Mat对象 示例代码请查看本篇博文开头的说明。 示例代码运行结果如下图所示: 以上是关于OpenCV_Mat类对象常用的构造方法及初始化方法的主要内容,如果未能解决你的问题,请参考以下文章 基于ARP的网络扫描工具netdiscover常用命令集合大学霸IT达人 latex 如何实现align的自由编号 您可能还会对下面的文章感兴趣: 相关文章 浏览器打不开网址提示“ERR_CONNECTION_TIMED_OUT”错误代码的解决方法 如何安装ocx控件 VMware的虚拟机为啥ip地址老是自动变化 vbyone和EDP区别 linux/debian到底怎么重启和关机 苹果平板键盘被弄到上方去了,如何调回正常? 机器学习常用距离度量 如何查看kindle型号