今天的概念性比较强,还是贴上原文比较好,没事我自己多看看,多理解。自己不同时候都有不同的理解,现在没办法写对这些的理解。
数字图像存储概述

Mat结构的使用

int main(int argc, char** argv)
{
Mat A, C;//仅是创建信息头部分
A = imread("1.png");//这里为矩阵开辟内存
Mat B(A);//使用拷贝构造函数
C = A;
return 0;
}

像素值的存储

显式创建Mat对象的七种方法
方式一:使用Mat()构造函数
int main(int argc, char** argv)
{
Mat M(2, 2, CV_8UC3, Scalar(0, 0, 255));
cout << "M = " << endl << " " << M << endl;
}

代码解析

方式二:在C\C++中通过构造函数进行初始化
int main(int argc, char** argv)
{
int sz[3] = { 2,2,2 };
Mat L(3, sz, CV_8UC3, Scalar::all(0));
}
这部分书上的源码有问题
书上是这样写的


运行结果是没有找到宏,其实应该也不算问题,毕竟他在说明中已经说了后续两个参数与方法中的相同,CV_8UC后面的数字就是通道数。

我看他关于8UC开头的宏就这么多,如果通道数不止1-4可按照带n的宏自己定义,但是一般4通道就够用吧,我暂时还没遇到需要超过四通道的情况!
后面的明天再说吧。
本文介绍了数字图像的存储,重点关注OpenCV中的Mat结构。通过示例代码展示了如何使用Mat读取和复制图像,以及如何显式创建Mat对象。此外,还探讨了像素值的存储和不同初始化Mat对象的方法,特别提到了通道数的指定及其在实际应用中的常见需求。
2718

被折叠的 条评论
为什么被折叠?



