Opencv常见图像格式Data Type及代码实例


Posted in Python onNovember 02, 2020

cv::Mat 图像格式 (Data Type)命名规则

通用的参数命名格式为:

CV_{元素比特数}{元素类型}C{通道数}

1最常见的 CV_8UC3 就表示为 3通道Unsigned 8bits 格式的矩阵

  • 8U:8bit unsigned
  • C3:通道数为 3

2有些图片存储格式是 32位float ,则对应的图像格式为:CV_32FC1,CV_32FC2,CV_32FC3 等;

3如果图片存储格式是 64位double ,则对应的图像格式为:CV_64FC1,CV_64FC2,CV_64FC3 等。

int值映射关系

矩阵元素的数据类型也可用不同的 int 值来替代,其对应关系如下表:

Opencv常见图像格式Data Type及代码实例

取值范围

Opencv常见图像格式Data Type及代码实例

at所访问的数据类型

由于 at 方法接受的是 uchar 这样的数据类型,而非 CV_8U。 若是要使用 at 方法访问数据元素,在已知通道数和每个通道数据类型的情况下,指定给 at 方法的数据类型如下表所示:

Opencv常见图像格式Data Type及代码实例

Vec2b:表示每个Vec2b对象中,可以存储2个char(字符型)数据

Vec3b:表示每一个Vec3b对象中,可以存储3个char(字符型)数据,比如可以用这样的对象,去存储RGB图像

Vec4b:表示每一个Vec4b对象中,可以存储4个字符型数据,可以用这样的类对象去存储—4通道RGB+Alpha的图

对应的 Vec类 的定义如下:

template<typename _Tp, int n> class Vec : public Matx<_Tp, n, 1> {...};

typedef Vec<uchar, 2> Vec2b;
typedef Vec<uchar, 3> Vec3b;
typedef Vec<uchar, 4> Vec4b;

typedef Vec<short, 2> Vec2s;
typedef Vec<short, 3> Vec3s;
typedef Vec<short, 4> Vec4s;

typedef Vec<int, 2> Vec2i;
typedef Vec<int, 3> Vec3i;
typedef Vec<int, 4> Vec4i;

typedef Vec<float, 2> Vec2f;
typedef Vec<float, 3> Vec3f;
typedef Vec<float, 4> Vec4f;
typedef Vec<float, 6> Vec6f;

typedef Vec<double, 2> Vec2d;
typedef Vec<double, 3> Vec3d;

typedef Vec<double, 4> Vec4d;
typedef Vec<double, 6> Vec6d;

样例1

使用无参数构造函数,创建Mat对象

Mat image = Mat();
image.create(4, 4, CV_8UC3); 

或者

Mat m = Mat(4, 4, CV_8UC3)

此刻表示创建一个4x4大小的像素块,每个像素都是三通道每个通道的位数都是8位,一个字节的。上述CV_8UC3中的8表示8位、UC表示uchar类型、3表示三个通道。

样例2

使用行、列、类型、Scalar向量四个参数的构造函数创建Mat对象

Mat m = Mat(4, 4, CV_8UC3, Scalar(0, 255, 255);

或者

Mat m = Mat(Size(4, 4), CV_8UC3, Scalar(255, 0, 0)); 

同样表示创建一个4x4的像素块,唯一不一样的是颜色不是默认值而是我们指定的三通道颜色值向量Scalar(0, 255, 255)。其中Scalar向量数目永远是等于通道数目

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Linux下编译安装MySQL-Python教程
Feb 02 Python
举例讲解Django中数据模型访问外键值的方法
Jul 21 Python
深入浅析Python中join 和 split详解(推荐)
Jun 30 Python
Python 字符串大小写转换的简单实例
Jan 21 Python
python实现俄罗斯方块
Jun 26 Python
python try except 捕获所有异常的实例
Oct 18 Python
python 列表推导式使用详解
Aug 29 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
Dec 19 Python
Python常用断言函数实例汇总
Nov 30 Python
python简单实现插入排序实例代码
Dec 16 Python
scrapy实践之翻页爬取的实现
Jan 05 Python
利用python为PostgreSQL的表自动添加分区
Jan 18 Python
Jupyter安装链接aconda实现过程图解
Nov 02 #Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
Nov 02 #Python
python定时截屏实现
Nov 02 #Python
PyQT5速成教程之Qt Designer介绍与入门
Nov 02 #Python
如何基于matlab相机标定导出xml文件
Nov 02 #Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
Nov 02 #Python
Python如何急速下载第三方库详解
Nov 02 #Python
You might like
PHP脚本的10个技巧(3)
2006/10/09 PHP
PHP中几个常用的魔术常量
2012/02/23 PHP
WordPress中调试缩略图的相关PHP函数使用解析
2016/01/07 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
让ThinkPHP的模板引擎达到最佳效率的方法详解
2017/03/14 PHP
php实例化一个类的具体方法
2019/09/19 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
2019/10/15 PHP
js判断变量是否未定义的代码
2020/03/28 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
JQuery遍历json数组的3种方法
2014/11/08 Javascript
javascript过滤数组重复元素的实现方法
2017/05/03 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
JS轮播图的实现方法2
2020/08/25 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
使用python解析xml成对应的html示例分享
2014/04/02 Python
Python2.7.10以上pip更新及其他包的安装教程
2018/06/12 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
linux安装python修改默认python版本方法
2019/03/31 Python
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
英国剑桥包中文官网:The Cambridge Satchel Company中国
2018/11/06 全球购物
体育纪念品、亲笔签名的体育收藏品:Steiner Sports
2020/07/31 全球购物
大学生军训自我评价分享
2013/11/09 职场文书
汽车技术服务与营销专业推荐信
2013/11/29 职场文书
项目资料员岗位职责
2013/12/10 职场文书
银行职员思想汇报
2013/12/31 职场文书
农民致富事迹材料
2014/01/23 职场文书
九年级化学教学反思
2014/01/28 职场文书
军训鉴定表自我鉴定
2014/02/13 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
环保建议书400字
2014/05/14 职场文书
2014年会计个人工作总结
2014/11/24 职场文书
获奖感言怎么写
2015/07/31 职场文书