opencv学习笔记(一)

opencv常见数据结构:

1.点Point类(数据成员:坐标点x,y)

2.尺寸Size (数据成员:width和 height,一般用来表示图像的大小,或者矩阵的大小。)

3.矩形Rect类(数据成员x,y,width,height,分别代表这个矩形左上角的坐标点和矩形 的宽度和高度)

4.颜色Scalar类(一个使用4个元素指定的特殊的Vec向量类模板的类模板 ,RGB+Alpha(透明色))。

5.向量Vec类 (一个一维数组或一维矩阵)

6.Range类(用于指定一个连续的子序列例如一个轮廓的一部分,或者一个矩阵的列空间)

MAT类:

(1)图像的内存分配和释放由Mat类自动管理

(2)Mat类由两部分数据组成:矩阵头(包含矩阵尺寸、存储方法、存储地址等)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同,矩阵可以是不同的维数)的指针。Mat在进行赋值和拷贝时,只复制矩阵头,而不复制矩阵,提高效率。如果矩阵属于多个Mat对象,则通过引用计数来判断,当最后一个使用它的对象,则负责释放矩阵。

(3)可以使用clone和copyTo函数,不仅复制矩阵头还复制矩阵。

常见属性:

  • dims:表示矩阵 M 的维度

  • data:uchar类型的指针,指向Mat数据矩阵的首地址

  • rows, cols:矩阵的行数、列数

  • size():矩阵尺寸[rows, cols]

  • channels:矩阵通道数

  • type:表示了矩阵中元素的类型以及矩阵的通道个数,它是一系列的预定义的常量,其命名规则为CV_(位数)+(数据类型)+(通道数)

*这里U(unsigned integer)表示的是无符号整数,S(signed integer)是有符号整数,F(float)是浮点数

CV_16UC2,表示的是元素类型是一个16位的无符号整数,通道为2.

  • depth:深度,即每一个像素的位数,也就是每个通道的位数

  • elemSize:矩阵中每一个元素的数据大小 elemSize = channels * depth / 8

  • elemSize1:单通道的矩阵元素占用的数据大小 elemSize1 = depth / 8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值