(6)Mat对象的一些函数和方法的使用
首先是基本的代码整理
#include<iostream>
#include<opencv.hpp> using namespace std;
using namespace cv;
int main()
{
Mat sou, dest;
sou=imread("C:\\Users\\32829\\Desktop\\aa.jpg");
if (sou.empty())
{
cout << "图片读入失败" << endl;
}
namedWindow("new", );
imshow("new", sou); /*
//创建一张空白图像,大小和类型和原图一样
dest = Mat::zeros(sou.size(), sou.type());
//这个dest图片是一个二通道的,要是Scalar(0,0,0)就是一个三通道的,其实就是给这个空白的图片你附上颜色
//Scalar(1,3)表示对矩阵每个元素都赋值为(1,3),第一个通道中的值都是1,第二个通道中的值都是3.
dest = Scalar(0,0,0); namedWindow("old1", 1);
imshow("old1", dest); */ /*
Mat dst;
dst = sou.clone();
namedWindow("old1", 1);
imshow("old1", dst); */ /*
Mat dst;
sou.copyTo(dst);
namedWindow("old1", 1);
imshow("old1", dst); */ /*
//获取原图的通道数
Mat dst;
int a=sou.channels();
cout << a << endl; */ //我们生活中大多数看到的彩色图片都是RGB类型,但是在进行图像处理时,
//需要用到灰度图、二值图、HSV、HSI等颜色制式,opencv提供了cvtColor()函数来实现这些功能
Mat dst;
cvtColor(sou, dst, COLOR_BGR2GRAY);//这个就是转化为灰度图 //看一下,转化为灰度图,他的通道数是不是变了
int a = dst.channels();
cout << a << endl;//结果变成了1
namedWindow("old1");
imshow("old1", dst); const uchar* firstrow = dst.ptr<uchar>();
//不知道为啥用cout输出指针内容不行。
//cout << *firstrow << endl;
printf("输出结果 :%d\n", *firstrow);
printf("行数是:%d\n", dst.cols);
printf("列数是:%d\n", dst.rows); Mat M(, , CV_8UC3, Scalar(, , ));
cout << "M=" << M << endl;//打印出这张图片的各个像素大小
//每个像素有三个通道,然后显示就是3*3的
namedWindow("old2");
imshow("old2", M); waitKey(); return ;
}
然后基础知识整理:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

===================================================================================================

===================================================================================================

===================================================================================================

==============================================================================

================================================================================================

========================================================================================
(6)Mat对象的一些函数和方法的使用的更多相关文章
- 创建Mat对象
Mat 是一个非常优秀的图像类,它同时也是一个通用的矩阵类,可以用来创建和操作多维矩阵.有多种方法创建一个 Mat 对象. 1.构造函数方法 下面是一个使用构造函数创建对象的例子. 常用的构造函数 2 ...
- JavaScript函数的方法
在一个对象中绑定函数,称为这个对象的方法. 在JavaScript中,对象的定义是: var xiaoming = { name:'小明'; birth:1990; }; 但是,如果我们给xiaomi ...
- javascript 利用匿名函数对象给你异步回调方法传参数
先来创建一个匿名函数对象: /*** * 匿名函数 */ var callChangeBtn=new function(bugBtn){ this.chage=function(json){ bugB ...
- C++11用于计算函数对象返回类型的统一方法
[C++11用于计算函数对象返回类型的统一方法] 模板 std::result_of 被TR1 引进且被 C++11 所采纳,可允许我们决定和使用一个仿函数其回返值的类别.底下,CalculusVer ...
- 函数对象的call()、apply() 方法区别
函数对象的call().apply() 方法 函数作为对象提供了call(),apply() 方法,他们也可以用来调用函数,这两个方法都接受一个对象作为参数,用来指定本次调用时函数中this的指向: ...
- 关于js函数,方法,对象实例的一些说明
朋友们大家好,好久没有更新文章了,最近正好有空就想着写点什么吧,加上这段时间总是能听到一些朋友们问关于js函数,方法,对象实例到底有什么区别这个问题,所以今天就献丑来简单说明一些吧! 其实这些主要都是 ...
- javascript——对象的概念——函数 1 (函数对象的属性和方法)
一.创建函数 函数是一种对象:Function类 是对象,可以通过 Function 实例化一个函数,不过最多的还是利用 function 来创建函数. 方式一:利用 Function类 来实例化函数 ...
- python—— 文件的打开模式和文件对象方法 & os、os.path 模块中关于文件、目录常用的函数使用方法
引用自“鱼c工作室” 文件的打开模式和文件对象方法 : https://fishc.com.cn/forum.php?mod=viewthread&tid=45279&ext ...
- C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法
C#构造方法(函数) 一.概括 1.通常创建一个对象的方法如图: 通过 Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...
随机推荐
- fiddler抓取URL之过滤设置
Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改. 只要是开启了fiddler,我们的 ...
- 吴裕雄--天生自然JAVAIO操作学习笔记:压缩流与回退流
import java.io.File ; import java.io.FileInputStream ; import java.io.InputStream ; import java.util ...
- git使用问题二删除远程仓库文件,本地保留不动
git rm --cached filename/-r directory git commit "xxxx" git push
- C++面试常见问题——13结构体与共用体的sizeof
结构体与共用体的sizeof 结构体的sizeof 结构体变量占用的内存空间大小通常是其基本类型的大小,但是由例外(字节对齐机制) struct S1{ char c[5]; int a; doubl ...
- C++面试常见问题——12虚函数
虚函数 虚函数的工作原理 虚函数的实现要求对象携带额外的信息,这些信息用于确定运行时调用哪一个虚函数,这一信息具有一种被称为虚函数表指针(vptr)的指针形式.vptr指向一个被称为虚函数表(vtbl ...
- C++中的简单继承
Father.cpp: #include<iostream> using namespace std; class Father { protected: int width; int h ...
- ip 在网络传输中是如何传递的
前言 ip 我们知道有ip4与ip6.ip6还未实行,那么就暂且不谈. ip4我们在传递的时候一般是这样的"127.0.0.1",但是我们传输的是信号,也就是二进制数据,这个字符如 ...
- 06.Delphi接口的不对等的多重继承
uSayHello代码如下 unit uSayHello; interface uses SysUtils, Windows, Messages, Classes, Graphics, Control ...
- leetcode1019 Next Greater Node In Linked List
""" We are given a linked list with head as the first node. Let's number the nodes in ...
- pyhton pandas数据分析基础入门(一文看懂pandas)
//2019.07.17 pyhton中pandas数据分析基础入门(一文看懂pandas), 教你迅速入门pandas数据分析模块(后面附有入门完整代码,可以直接拷贝运行,含有详细的代码注释,可以轻 ...