码迷,mamicode.com
首页 > 其他好文 > 详细

(6)Mat对象的一些函数和方法的使用

时间:2018-12-26 15:57:00      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:方法   wait   灰度   main   pen   ===   des   scalar   span   

首先是基本的代码整理

 1 #include<iostream>
 2 #include<opencv.hpp>
 3 
 4 using namespace std;
 5 using namespace cv;
 6 int  main()
 7 {
 8     Mat sou, dest;
 9     sou=imread("C:\\Users\\32829\\Desktop\\aa.jpg");
10     if (sou.empty())
11     {
12         cout << "图片读入失败" << endl;
13     }
14     namedWindow("new", 1);
15     imshow("new", sou);
16 
17     /*
18     //创建一张空白图像,大小和类型和原图一样
19     dest = Mat::zeros(sou.size(), sou.type());
20     //这个dest图片是一个二通道的,要是Scalar(0,0,0)就是一个三通道的,其实就是给这个空白的图片你附上颜色
21     //Scalar(1,3)表示对矩阵每个元素都赋值为(1,3),第一个通道中的值都是1,第二个通道中的值都是3.
22     dest = Scalar(0,0,0);
23 
24     namedWindow("old1", 1);
25     imshow("old1", dest);
26 
27     */
28 
29 
30     /*
31     Mat dst;
32     dst = sou.clone();
33     namedWindow("old1", 1);
34     imshow("old1", dst);
35 
36 
37     */
38 
39     /*
40     Mat dst;
41     sou.copyTo(dst);
42     namedWindow("old1", 1);
43     imshow("old1", dst);
44 
45 
46     */
47 
48     /*
49     //获取原图的通道数
50     Mat dst;
51     int a=sou.channels();
52     cout << a << endl;
53 
54     */
55     
56 
57     //我们生活中大多数看到的彩色图片都是RGB类型,但是在进行图像处理时,
58     //需要用到灰度图、二值图、HSV、HSI等颜色制式,opencv提供了cvtColor()函数来实现这些功能
59     Mat dst;
60     cvtColor(sou, dst, COLOR_BGR2GRAY);//这个就是转化为灰度图
61 
62     //看一下,转化为灰度图,他的通道数是不是变了
63     int a = dst.channels();
64     cout << a << endl;//结果变成了1
65     namedWindow("old1");
66     imshow("old1", dst);
67 
68 
69     const uchar* firstrow = dst.ptr<uchar>(0);
70     //不知道为啥用cout输出指针内容不行。
71     //cout << *firstrow << endl;
72     printf("输出结果 :%d\n", *firstrow);
73     printf("行数是:%d\n", dst.cols);
74     printf("列数是:%d\n", dst.rows);
75 
76 
77     Mat M(30, 30, CV_8UC3, Scalar(0, 0, 255));
78     cout << "M=" << M << endl;//打印出这张图片的各个像素大小
79     //每个像素有三个通道,然后显示就是3*3的
80     namedWindow("old2");
81     imshow("old2", M);
82 
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
94     waitKey(0);
95 
96 
97 
98     return 1;
99  }

 

然后基础知识整理:

技术分享图片

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

技术分享图片

 

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

技术分享图片

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

技术分享图片

 

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

技术分享图片

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

技术分享图片

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

技术分享图片

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

 

(6)Mat对象的一些函数和方法的使用

标签:方法   wait   灰度   main   pen   ===   des   scalar   span   

原文地址:https://www.cnblogs.com/xiaoyoucai/p/10178934.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!