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 相关文章推荐
python 输出一个两行字符的变量
Feb 05 Python
将Emacs打造成强大的Python代码编辑工具
Nov 20 Python
python爬虫爬取淘宝商品信息
Feb 23 Python
对Python3中的print函数以及与python2的对比分析
May 02 Python
python计算两个数的百分比方法
Jun 29 Python
Python第三方库face_recognition在windows上的安装过程
May 03 Python
python操作kafka实践的示例代码
Jun 19 Python
pytorch 彩色图像转灰度图像实例
Jan 13 Python
基于python实现微信好友数据分析(简单)
Feb 16 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
May 10 Python
Python基于template实现字符串替换
Nov 27 Python
分享几种python 变量合并方法
Mar 20 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
在Windows中安装Apache2和PHP4的权威指南
2006/10/09 PHP
php 阴历-农历-转换类代码
2012/01/16 PHP
PHP输出当前进程所有变量/常量/模块/函数/类的示例
2013/11/07 PHP
php+xml编程之xpath的应用实例
2015/01/24 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
实例解析php的数据类型
2018/10/24 PHP
jQuery 1.2.x 升? 1.3.x 注意事项
2009/05/06 Javascript
jquery 锁定弹出层实现代码
2010/02/23 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
利用CDN加速react webpack打包后的文件详解
2018/02/22 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
小程序实现展开/收起的效果示例
2018/09/22 Javascript
element跨分页操作选择详解
2020/06/29 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
python实现无证书加密解密实例
2014/10/27 Python
Python中的默认参数详解
2015/06/24 Python
基于Python实现的ID3决策树功能示例
2018/01/02 Python
django的模型类管理器——数据库操作的封装详解
2020/04/01 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
学python爬虫能做什么
2020/07/29 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
群众路线批评与自我批评
2014/02/06 职场文书
《童年》教学反思
2014/02/18 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
2015年乡镇卫生院工作总结
2015/04/22 职场文书
医院员工辞职信范文
2015/05/12 职场文书
小学运动会加油词
2015/07/18 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
使用Java去实现超市会员管理系统
2022/03/18 Java/Android