(6)Mat对象的一些函数和方法的使用
首先是基本的代码整理
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 }
然后基础知识整理:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
===================================================================================================
===================================================================================================
===================================================================================================
==============================================================================
================================================================================================
========================================================================================