Opencv暑期历程--Day3 Opencv里面的几个常见的数据结构 CV_8UC3,<Vec3b>->Mat 操作的copyTo函数以及clone函数

本文介绍了OpenCV中常见的数据结构,包括CV_8UC3、Vec3b及其在彩色图像处理中的应用。讲解了如何通过.at()访问像素,并强调了在复制Mat对象时,应当使用clone()或copyTo()函数以避免浅拷贝导致的问题。同时,简要提到了这两个函数的工作原理。
摘要由CSDN通过智能技术生成

 这几天开始实习了,比较少时间来学习Opencv,不过还是得坚持下去啊!!!

今天,比较少操作,首先就先来讲讲Opencv里面常见的几种数据类型吧,因为很多地方都有见到,也知道怎么操作这些结构的数据,不过呢,还是想记录下,以免以后看起来的时候忘记了。

先说说啥是Vector吧。

什么是Vector

vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.

用法:
1.文件包含:     
           首先在程序开头处加上#include<vector>以包含所需要的类文件vector,还有一定要加上using namespace std;

2.声明一个int向量以替代一维的数组:vector <int> a;(等于声明了一个int数组a[],大小没有指定,可以动态的向里面添加删除。

比如Vec<uchar, 3>:
其实这句就是定义一个uchar类型的数组,长度为3而已,例如 8U 类型的 RGB 彩色图像可以使用 <Vec3b>,3 通道 float 类型的矩阵可以使用 <Vec3f>。对于 Vec 对象,可以使用[]符号如操作数组般读写其元素,如:Vec3b color; //用 color 变量描述一种 RGB 颜色
color[0]=255; //0通道的B 分量
color[1]=0; //1通道的G 分量
color[2]=0; //2通道的R 分量

说到这,不得不提下在Opencv中怎么访问一张图片的像素。

cv::mat的成员函

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值