OpenCV基础类型4--cv::Mat详解

cv::Mat是OpenCV定义的用于表示任意维度的稠密数组,OpenCV使用它来存储和传递图像,理解它对我们操作图像是有帮助的,本文将介绍cv::Mat的初始化方式、内置方法等。

元素类型定义

由于cv::Mat要用于存储图像,它里面的元素可以是“像素”,对于像素,OpenCV定义了专门的数据格式来描述它们。

“像素”的数据格式----命名规则:
基本数据类型 + 通道数
CV_{8U, 16S, 16U, 32S, 32F, 64F}C{1, 2, 3}
例如:CV_8UC3: 三通道、每个通道是unsigned char类型的数据

{8U, 16S, 16U, 32S, 32F, 64F}:
8U:unsigned char ; 16S: short int ; 16U: unsigned short int ; 32F: float ; 64F: double

{1,2,3}代表通道数,彩色图像每个像素需要存储B、G、R(蓝、绿、红)3个信息,需要3个位置, 每一个称为一个“颜色通道”
灰度图像无颜色,只有一个通道,故常为CV_8UC1

cv::Mat类

//使用示例:

//默认构造函数与值构造函数
cv::Mat img; //默认构造函数

//值构造函数1
cv::Mat img1(480, 640, CV_8UC3); //图像高(行)480-row,宽(列)640-col, 数据类型:CV_8UC3

//值构造函数2
//cv::Scalar(B, G, R)可以表示三通道颜色,这里所示为纯蓝色
cv::Mat img2(480, 640, CV_8UC3, cv::Scalar(255, 0, 0));

//值构造函数3
//效果与上面一样
cv::Size sz3(480, 640);
cv::Mat img3(sz3, CV_8UC3, cv::Scalar(255, 0, 0
  • 44
    点赞
  • 214
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值