Opencv显示创建Mat对象的七种方式
方式一:
[cpp] view plain copy
- #include<iostream>
- #include<opencv2/opencv.hpp>
- using namespace std;
- using namespace cv;
- int main()
- {
- //创建一个2*2 类型为8位的uchar类型三通道的 颜色为黄色
- Mat img(2, 2, CV_8UC3, Scalar(0, 255, 255));
- cout << "矩阵元素" << endl << img << endl;
- /*Mat srcImage = imread("G:\\group.jpg");
- cout << "图片矩阵" << endl << srcImage << endl;*/
- return 0;
- }
方式二:
创建三维的矩阵
[cpp] view plain copy
- //创建一个超过二维的矩阵
- #include<iostream>
- #include<opencv2/opencv.hpp>
- using namespace std;
- using namespace cv;
- int main()
- {
- int sz[3] = { 2, 2, 2 };
- //3维的 为2*2*2的 元素全部为0
- Mat array2(3, sz, CV_8UC1, Scalar(0));
- //因为是三维的,所以不能用DOS界面显示
- return 0;
- }
方式三:
为已经存在的IplImage指针创建一个信息头
[cpp] view plain copy
- //为已经存在的IplImage指针创建一个信息头
- #include<opencv2/opencv.hpp>
- using namespace cv;
- int main()
- {
- IplImage *img = cvLoadImage("G:\\group.jpg", 1);
- Mat srcImage(img);
- imshow("【测试代码】", srcImage);
- waitKey(0);
- return 0;
- }
方式四:
用Create函数实现对Mat的初始化
[cpp] view plain copy
- //用Create函数实现对Mat的初始化
- #include<opencv2/opencv.hpp>
- #include<iostream>
- using namespace cv;
- using namespace std;
- int main()
- {
- Mat img;
- img.create(4, 4, CV_8UC(2));
- cout << "M = " << endl << img << endl;
- return 0;
- }
方式五:
采用Matlab的方式初始化
[cpp] view plain copy
- //采用Matlab的方式初始化
- #include<iostream>
- #include<opencv2/opencv.hpp>
- using namespace std;
- using namespace cv;
- int main()
- {
- Mat array1 = Mat::eye(4, 4, CV_64F);
- Mat array2 = Mat::ones(4, 4, CV_32F);
- Mat array3 = Mat::zeros(4, 4, CV_8UC1);
- cout << "对角矩阵" << endl << array1 << endl;
- cout << "满1矩阵" << endl << array2 << endl;
- cout << "全0矩阵" << endl << array3 << endl;
- return 0;
- }
方式六:
对小矩阵使用逗号分隔式初始化函数
[cpp] view plain copy
- //对小矩阵使用逗号分隔式初始化函数
- #include<iostream>
- #include<opencv2/opencv.hpp>
- using namespace std;
- using namespace cv;
- int main()
- {
- Mat array = (Mat_<double>(3, 3) << 0, -1, 5, -1, 5, -1, 0, -1, 0);
- cout << "【运行结果】" << endl << array << endl;
- return 0;
- }
方式七:
为已存在的对象创建新信息头
[cpp] view plain copy
- //为已存在的对象创建新信息头
- #include<iostream>
- #include<opencv2/opencv.hpp>
- using namespace std;
- using namespace cv;
- int main()
- {
- Mat srcImage(3, 3, CV_8UC3, Scalar(0, 0, 255));
- Mat copyImage;
- srcImage.copyTo(copyImage);
- Mat newImage = srcImage.row(1).clone();
- cout << "运行结果" << endl << newImage << endl;
- return 0;
- }
Opencv显示创建Mat对象的七种方式相关推荐
- 【OpenCV】OpenCV实战从入门到精通之 -- 显示创建Mat对象的七种方法
目录 1.使用Mat()构造函数 2.C\C++中构造函数进行初始化 3.为已经存在的IplImage指针创建信息头 4.利用Create()函数 5.Matlab方式的初始化 6.对小矩阵使用逗号分 ...
- java class 生成对象_Java反射机制(创建Class对象的三种方式)
1:SUN提供的反射机制的类: java.lang.Class java.lang.reflect.Constructor java.lang.reflect.Field java.lang.refl ...
- JDBC 创建连接对象的三种方式 、 properties文件的建立、编辑和信息获取
创建连接对象的三种方式 //第一种方式Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/m ...
- 创建线程池的七种方式
在 Java 语言中,并发编程往往都是通过床架线程池来实现的,而线程池的创建方式也有很多种,每种线程池的创建方式都对应了不同的使用场景.总结来说线程池的创建可以分为两大类: 通过 Executors ...
- JavaScript 创建类/对象的几种方式
在JS中,创建对象(Create Object)并不完全是我们时常说的创建类对象,JS中的对象强调的是一种复合类型,JS中创建对象及对对象的访问是极其灵活的. JS对象是一种复合类型,它允许你通过变量 ...
- spring创建复杂对象的三种方式
什么是复杂对象? 复杂对象是指我们通过new创建不了的对象,此对象的创建还需要别的条件,如jdbc的Connection.mybatis的sqlSesscionFactory. 一.factoryBe ...
- IOC容器创建bean对象的4种方式
前言: Spring容器创建bean对象,一般通过反射机制查找bean元素的class属性值来找到要实例化的类,从而实例化bean对象.这便是调用构造方法来实例化bean对象 在某些情况下,若采用简单 ...
- 创建javascript对象的几种方式
ECMAScript提供的对象有:String.Date.Array.Boolean.Math.Number.RegExp.Global 程序中需要用到很多自定义的js对象 1.直接创建 var ob ...
- java 给对象创建实例_Java中创建(实例化)对象的五种方式
Java中创建(实例化)对象的五种方式1.用new语句创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23); 3.运用反 ...
最新文章
- 干货|2018年中国智能硬件行业现状与发展趋势报告
- Mysql视图权限设置的踩坑经历
- c语言链表p-%3enext,课程设计报告.c语言程序设计.pdf
- wxWidgets:网格控件 wxWidgets 示例
- 判断泛型的值是否为default(T)
- centos8上docker tomcat容器访问报404解决方法
- Linux学习之CentOS(一)--CentOS6.4环境搭建
- 深入react技术栈(11):样式处理
- 一位36岁女教师关于教职、学术、幸福及正确道路的思考
- 安卓案例:Volley用法演示
- DPABI advanced edition 文件夹组织形式
- 10.15. TUI
- redis高级进阶(2)
- [包计划] create-react-app
- Android4.0.4 framebuffer 支持32位色彩深度
- python登录qq邮箱爬邮件_如何使用Python登录邮箱发送邮件
- deepin efi 启动u盘_deepin启动引导修复教程
- 异构数据统一管理推动存储资源盘活
- More Effective C++ 阅读笔记 解释清晰
- AR+LBS街景实景红包PokemonGo游戏捉妖夺宝营销解决方案暨百度高德地图Unity插件SDK
热门文章
- python发送json数据_在Websockets上发送JSON
- php zhegnze_php 正则表达式
- verilog 简单module_一个简单的verilog小程序
- Linux结构体变量报错,23. Linux模式设计
- mysql run sql files_如何在Eclipse DTP中運行多個.sql文件
- 给一个不多于5位的正整数 要求_java练习题 打卡第5天
- suse linux下交叉编译,阐述SUSE 10.1交叉编译环境构建方法
- java时序图工具_基于时序数据库,实现百亿级话单实时全景监控分析
- fps测试网页_对话斗鱼云游戏负责人:做强网页端,近3成为新增用户
- python有效变量名_Python变量命名规则