图像就是由一系列像素点构成的图像
拿灰度图(二通道图像)来说,它在计算机中的存储形式就是一个二维矩阵,构成图像上所有像素点的信息,它其实就是一系列亮度不同的点构成,每个像素点的亮度由该像素所储存的值决定(0-255);
多通道图像(俗称彩色图像)的存储方式是三维矩阵,并不是说它是立体的图形,而是它的每个像素点由RGB三基色构成,(opencv中为BGR),所以在二维像素点分布上多了三基色比例的通道。(是不是可以建立一种能储存三维图像的照片,就相当于是把很多照片当成其截面叠在一起??)
图像也是一个像int、double的一个类,用于保存图像信息的变量,称之为Mat类,在C语言中需要手动开辟和释放内存,而在C++中则有了自动内存管理系统。
#include"iostream"
#include"opencv2/core.hpp"
using namespace std;
using namespace cv;
int main()
{
int a;
Mat img(3, 3, CV_8UC3, Scalar(0, 0, 255));
cout << "img=" << img << endl;
cin << a;
}
```运行结果

加了cin是因为不加的话执行窗口就会一闪而过。。。(侧面反映我是真的小白。。好像可以执行完让窗口一直等待,可是我也不知道该怎么操作)
所以,这就是像素点,因为opencv中采用BGR方式,所以这是一个长宽都为3个像素点的红色图片。用CV_8UC(n)的方法指定通道数,n<=4的时候不用加括号。
create()函数创建对象
<div class="se-preview-section-delimiter"></div>
这里写代码片
“`
Mat img(2,3,CV_8UC3,scalar(0,0,255));
img.creat(5,5,CV_8UC(5));//释放原图像创建新图像,特别地,create()创建的图像无法指定初始值
cout<<img<<endl;
今天就先到这里啦