首先是基本的代码整理

 #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对象的一些函数和方法的使用的更多相关文章

  1. 创建Mat对象

    Mat 是一个非常优秀的图像类,它同时也是一个通用的矩阵类,可以用来创建和操作多维矩阵.有多种方法创建一个 Mat 对象. 1.构造函数方法 下面是一个使用构造函数创建对象的例子. 常用的构造函数 2 ...

  2. JavaScript函数的方法

    在一个对象中绑定函数,称为这个对象的方法. 在JavaScript中,对象的定义是: var xiaoming = { name:'小明'; birth:1990; }; 但是,如果我们给xiaomi ...

  3. javascript 利用匿名函数对象给你异步回调方法传参数

    先来创建一个匿名函数对象: /*** * 匿名函数 */ var callChangeBtn=new function(bugBtn){ this.chage=function(json){ bugB ...

  4. C++11用于计算函数对象返回类型的统一方法

    [C++11用于计算函数对象返回类型的统一方法] 模板 std::result_of 被TR1 引进且被 C++11 所采纳,可允许我们决定和使用一个仿函数其回返值的类别.底下,CalculusVer ...

  5. 函数对象的call()、apply() 方法区别

    函数对象的call().apply() 方法 函数作为对象提供了call(),apply() 方法,他们也可以用来调用函数,这两个方法都接受一个对象作为参数,用来指定本次调用时函数中this的指向: ...

  6. 关于js函数,方法,对象实例的一些说明

    朋友们大家好,好久没有更新文章了,最近正好有空就想着写点什么吧,加上这段时间总是能听到一些朋友们问关于js函数,方法,对象实例到底有什么区别这个问题,所以今天就献丑来简单说明一些吧! 其实这些主要都是 ...

  7. javascript——对象的概念——函数 1 (函数对象的属性和方法)

    一.创建函数 函数是一种对象:Function类 是对象,可以通过 Function 实例化一个函数,不过最多的还是利用 function 来创建函数. 方式一:利用 Function类 来实例化函数 ...

  8. python—— 文件的打开模式和文件对象方法 & os、os.path 模块中关于文件、目录常用的函数使用方法

    引用自“鱼c工作室”     文件的打开模式和文件对象方法  : https://fishc.com.cn/forum.php?mod=viewthread&tid=45279&ext ...

  9. C#构造方法(函数) C#方法重载 C#字段和属性 MUI实现上拉加载和下拉刷新 SVN常用功能介绍(二) SVN常用功能介绍(一) ASP.NET常用内置对象之——Server sql server——子查询 C#接口 字符串的本质 AJAX原生JavaScript写法

    C#构造方法(函数)   一.概括 1.通常创建一个对象的方法如图: 通过  Student tom = new Student(); 创建tom对象,这种创建实例的形式被称为构造方法. 简述:用来初 ...

随机推荐

  1. sklearn实现多分类逻辑回归

    sklearn实现多分类逻辑回归 #二分类逻辑回归算法改造适用于多分类问题1.对于逻辑回归算法主要是用回归的算法解决分类的问题,它只能解决二分类的问题,不过经过一定的改造便可以进行多分类问题,主要的改 ...

  2. 三 进制、精度,Java的类型转换

    进制的表示: 0b010 :  二进制表示形式:前面+0n 0100  : 八进制表示形式: 前面+0 0x001 : 16进制表示形式:前面+0x 计算机以补码的方式进行运算 进制的转换: 10进制 ...

  3. gym 101911

    A. Coffee Break 题意:每天有m小时,你喝咖啡需要花一小时,你想在n个时刻都喝过一次咖啡,老板规定连续喝咖啡的间隔必须是d以上,求最少需要多少天才能喝够n次咖啡,并输出每个时刻第几天喝. ...

  4. JMeter-响应断言设置

    针对如上请求,可以设置3种相应断言: 1. 2. 3.

  5. WireShark 之抓包QQ协议

  6. 我的第一个爬虫【python selenium】

    去年写的一个小功能,一年过得好快,好快! 目的:爬取京东商品详情页面的内容(商品名称.价格.评价数量)后存储到xls文档中,方便商家分析自己商品的动态. 软件:chrome(windows).chro ...

  7. Day7 - E - Strange Way to Express Integers POJ - 2891

    Elina is reading a book written by Rujia Liu, which introduces a strange way to express non-negative ...

  8. 手把手教你如何玩转CLion

    声明:配置是基于CLion的2019.1版本 〇.CLion简介 一.安装 \(JetBrains\)官方下载地址:CLion2019.3 百度网盘:CLion2019.1 个人觉得还是2019.1版 ...

  9. putty Linux 自动补全

    用putty连接Ubuntu16.04后,输入命令后按tab键,不自动补全,对上下键无历史命令,$符号顶格显示,无用户名.主机名, 这是由于默认用的sh,可以直接调用bash,进入bash:

  10. (四)Flex 布局教程和例子

    布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. 1.flex-direction ...