文章目录
一、图像通道
二、读取图像
1、Mat结构
2、格式化打印图像数据
3、访问或设置像素强度值
4、imread函数读取图片
三、显示图像
四、保存图像
五、综合案例讲解
1、测试上面的函数
2、格式化打印效果
3、保存图片效果展示
4、综合代码
一、图像通道
颜色通道
RGB 图像有4 个默认通道:红色、绿色和蓝色各有一个通道,以及一个用于编辑图像复合通道(主通道)
彩色深度
8位色,每个像素所能显示的彩色数为2的8次方,即256种颜色。
16位增强色,16位彩色,每个像素所能显示的彩色数为2的16次方,即65536种颜色。
24位真彩色,每个像素所能显示的彩色数为24位,即2的24次方,约1680万种颜色。
32位真彩色,即在24位真彩色图像的基础上再增加一个表示图像透明度信息的Alpha通道。
Alpha通道:一张图片的透明和半透明度
CV_8UC3系列解读
函数原型
CV_<bit_depth>(S|U|F)C<number_of_channels>
bit_depth:像素点占用空间大小,bit
S|U|F:
S:signed int——有符号
U:unsigned int——无符号
F:float——单精度浮点
number_of_channels
1 单通道图像,即为灰度图像
2 双通道图像
3 三通道图像
4 带Alpha通道的彩色图像,四通道图像
1、Mat结构
大家可以用如下图的方式查看,需要用到哪个调用哪个,这里只是简单的介绍
我们可以看一下库函数
class Mat
{
public:
/*
flag:
1.数字签名
2.维度
3.通道数
4.连续性
*/
int flags;
int dims; //数据维数
int rows,cols; //数据行列
uchar *data; //存储的数据
const uchar* datastart; //数据开始
const uchar* dataend; //数据结束
const uchar* datalimit; //数据边界
//其他成员
//.....
//其他方法
//.....
public: //构造方式
// 默认构造函数 Mat A;
Mat ()
// 常用构造函数 Mat A(10,10,CV_8UC3);
Mat (int rows, int cols, int type)
//Mat A(300, 400, CV_8UC3,Scalar(255,255,255));
Mat (int ndims, const int *sizes, int type, const Scalar &s)
Mat (Size size, int type)
Mat (int rows, int cols, int type, const Scalar &s)
Mat (Size size, int type, const Scalar &s)
Mat (int ndims, const int *sizes, int type)
Mat (const Mat &m)
Mat (int rows, int cols, int type, void *data, size_t step=AUTO_STEP)
Mat (Size size, int type, void *data, size_t step=AUTO_STEP)
Mat (int ndims, const int *sizes, int type, void *data, const size_t *steps=0)
Mat (const Mat &m, const Range &rowRange, const Range &colRange=Range::all())
//Mat D (A, Rect(10, 10, 100, 100) );
Mat (const Mat &m, const Rect &roi)
Mat (const Mat &m, const Range *ranges)
};
2、格式化打印图像数据
函数原型
Ptr<Formatted> format(InputArray mtx, Formatter::FormatType fmt)
第一个参数是图像名称
第二个参数是打印方式
FMT_DEFAULT= 0,
FMT_MATLAB= 1,
FMT_CSV = 2,
FMT_PYTHON = 3,
FMT_NUMPY = 4,这也是py的一种打印方式,数组
FMT_C = 5,C语言方式打印
3、访问或设置像素强度值
函数原型
Scalar 它将各个通道的值构成一个整体,赋给具有相同通道数的矩阵元素,通俗点就是一个复合数据
版权声明:本文为CSDN博主「热爱编程的小K」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_72157449/article/details/130097048