Mat代码操作
- #include<opencv2/opencv.hpp>
- #include<iostream>
- using namespace std;
- using namespace cv;
- int main()
- {
- float array[]={1,2,3};
- float array1[]={2,3,1};
- //用数组初始化Mat
- Mat mat=Mat(1,3,CV_32F,array);
- Mat mat1=Mat(1,3,CV_32F,array1);
- Mat tempmat;
- //对mat拷贝
- mat.copyTo(tempmat);
- cout<<tempmat<<endl;
- //选择roi,rect的四个参数分别是(x,y)坐标,第三个参数是宽度,第四个参数是高度
- Mat roi(mat,Rect(0,0,2,1));
- cout<<roi<<endl;
- //mat-mat1的1范数
- cout<<norm(mat,mat1,CV_L1)<<endl;
- //mat-mat1的2范数
- cout<<norm(mat,mat1,CV_L2)<<endl;
- //打印mat的内容
- cout<<mat<<endl;
- //创建对角为1的矩阵
- Mat eyemat=Mat::eye(4,4,CV_8U);
- cout<<eyemat<<endl;
- //提取eyemat的1-2行,3-4列
- Mat submat=eyemat(Range(0,2),Range(2,4));
- cout<<submat<<endl;
- //abs(),max(),min(),+,-,*,/等操作很简单,就不写了
- float a[2][2]={2,3,1,2};
- float b[2][2]={2,1,0,-1};
- Mat amat(2,2,CV_32F,a);
- Mat bmat(2,2,CV_32F,b);
- cout<<amat<<endl;
- cout<<bmat<<endl;
- //求amat的逆
- cout<<amat.inv()<<endl;
- //两矩阵相乘
- cout<<amat.mul(bmat)<<endl;
- //生成一个值为0的矩阵
- cout<<Mat::zeros(3,3,CV_32F)<<endl;
- //生成一个值为1的矩阵
- cout<<Mat::ones(3,3,CV_32F)<<endl;
- system("pause");
- }
- #include<opencv2/opencv.hpp>
- #include<assert.h>
- using namespace cv;
- int main()
- {
- Mat srcImage=imread("f:/huangshan.jpg");
- Mat dstImage=imread("f:/Lena.jpg");
- assert(srcImage.data!=NULL && dstImage.data!=NULL);
- Mat roi=srcImage(Rect(0,0,dstImage.cols,dstImage.rows)); //获取感兴趣区域
- Mat mask = imread("f:/Lena.jpg",0);
- namedWindow("image",WINDOW_AUTOSIZE);
- roi=roi.t(); //mat转置
- flip(roi,roi,0); //0为上下翻转,>0为左右翻转,<0同时上下左右翻转
- //将掩膜拷贝到ROI中
- //dstImage.copyTo(roi,mask);
- addWeighted(roi,0.7,dstImage,0.3,0.,roi);
- //Mat mask = imread("f:/huangshan.jpg",0);
- //img.copyTo(roi,mask);
- imshow("image",srcImage);
- waitKey();
- return 0;
- }
Mat代码操作的更多相关文章
- Visual Studio 控制台应用程序 同时使用OpenCV和matlab mat文件操作
matalb具有灵活的图像处理,代码编写起来简洁而高效.而OpenCV具有很多成熟的计算机视觉算法,能够处理很多实时的识别处理等问题,而且代码运行起来效率很高.所以如何结合两者之间的优点,是让很多学术 ...
- MAT文件操作
o李YZo 原文 MAT文件打开方法汇总及其他操作 MAT文件简介 为MATLAB使用的一种特有的二进制数据文件.MAT文件可以包含一个或者多个MATLAB 变量.MATLAB通常采用MAT文件把工作 ...
- 通过 C# 代码操作 Google 日历
原文:通过 C# 代码操作 Google 日历 本文主题 借助 Google .NET APIs Client Library,通过 C# 代码在 Google 日历中创建会议邀请. 本文背景 最近, ...
- JavaScript后台代码操作HTML TABLE的方法
原文:JavaScript后台代码操作HTML TABLE的方法 var rowNum = 0,fileNum = 0; //行号与列号 var oNewRow; //定义插入行对象 var oNew ...
- 不使用spring的情况下用java原生代码操作mongodb数据库的两种方式
由于更改了mongodb3.0数据库的密码,导致这几天storm组对数据进行处理的时候,一直在报mongodb数据库连接不上的异常. 主要原因实际上是和mongodb本身无关的,因为他们改的是配置 ...
- Java代码操作HDFS测试类
1.Java代码操作HDFS需要用到Jar包和Java类 Jar包: hadoop-common-2.6.0.jar和hadoop-hdfs-2.6.0.jar Java类: java.net.URL ...
- 使用java代码操作Redis
1导入pom.xml依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis ...
- java代码操作Redis
1.导入需要的pom依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEn ...
- Zookeeper学习笔记(三)——java客户端代码操作
Zookeeper客户端java代码操作 上篇博客记录了shell命令操作zookeeper集群的方式,这次尝试采用java代码来操作.通过查阅API,发现并不困难. 1. 首先获得客户端与服务器的连 ...
随机推荐
- 推荐给开发者的11个PHP框架(转)
PHP框架对于Web开发者来说是非常有用的工具,它可以帮助使用者更快.更容易的完成项目.根据调查,PHP仍是Web开发中最受欢迎和最实用的平台之一.当谈及Web开发时,很多人依然会选择使用PHP框架, ...
- LeetCode第[78]题(Java):Subsets(求子集)扩展——第[90]题:Subsets 2
题目:矩阵置0 难度:Easy 题目内容: Given a set of distinct integers, nums, return all possible subsets (the pow ...
- html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
这篇文章主要介绍了html5本地存储的localstorage .本地数据库.sessionStorage简单使用示例,需要的朋友可以参考下 html5的一个非常cool的功能,就是web stora ...
- bzoj1014: [JSOI2008]火星人prefix splay+hash+二分
Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀.比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 ...
- dom&bom的起源,方法,内容,应用
Document Object Model的历史可以追溯至1990年代后期微软与Netscape的"浏览器大战"(browser wars),双方为了在JavaScript与JSc ...
- fwrite的文件缓冲同步到磁盘
这是个小细节. 用fwrite写文件的时候,我发现刷新文件夹,对应文件大小一直是0. 网上有一篇博客写得比较完善http://blog.csdn.net/sctq8888/article/detail ...
- HDU 4665 Mutiples on a circle (圆环DP)
题意 N个数的圆环上有多少种方案可以使得选出来的一段数是K的倍数(N<=50000, K<=200, a[i]<=1000). 思路 多校第七场1004.圆上的DP--大脑太简单处理 ...
- 【Python】什么是闭包
文章转载自:点这里 在 Python 中很多教材都没有提及什么是闭包,但在定义一个 Decorator 时,就已经用到闭包了.如果不理解什么是闭包,则不可能清晰掌握Decorator 装饰器. 要形成 ...
- Django WSGI,MVC,MTV,中间件部分,Form初识
一.什么是WSGI? WEB框架的本质是一个socket服务端接收用户请求,加工数据返回给客户端(Django),但是Django没有自带socket需要使用 别人的 socket配合Django才能 ...
- [置顶]
kubernetes1.7新特性:日志审计变化
背景概念 出于安全方面的考虑,Kubernetes提供了日志审计记录,用来记录不同普通用户.管理员和系统中各个组件的日志信息. Kubernetes日志审计是Kube-apiserver组件的一部分功 ...