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 FTP操作类代码分享
May 13 Python
Django基于ORM操作数据库的方法详解
Mar 27 Python
Python中循环后使用list.append()数据被覆盖问题的解决
Jul 01 Python
pandas 条件搜索返回列表的方法
Oct 30 Python
python制作抖音代码舞
Apr 07 Python
Python数据处理篇之Sympy系列(五)---解方程
Oct 12 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
Jan 06 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
python实现IOU计算案例
Apr 12 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
Jun 01 Python
2021年pycharm的最新安装教程及基本使用图文详解
Apr 03 Python
Django中session进行权限管理的使用
Jul 09 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 正则表达式小结
2009/08/31 PHP
PHP $_FILES函数详解
2011/03/09 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
2016/01/07 PHP
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
2016/04/27 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
JSON 客户端和服务器端的格式转换
2009/08/27 Javascript
Javascript中的变量使用说明
2010/05/18 Javascript
Jquery取得iframe下内容的方法
2013/11/18 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
Seajs是什么及sea.js 由来,特点以及优势
2016/10/13 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
jquery实现异步文件上传ajaxfileupload.js
2020/10/23 jQuery
Bootstrap FileInput实现图片上传功能
2021/01/28 Javascript
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
Python常见数据结构详解
2014/07/24 Python
Python下的常用下载安装工具pip的安装方法
2015/11/13 Python
利用python求相邻数的方法示例
2017/08/18 Python
Python使用正则表达式获取网页中所需要的信息
2018/01/29 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
Python性能测试工具Locust安装及使用
2020/12/01 Python
运动服饰每月订阅盒:Ellie
2018/04/29 全球购物
美国体育用品在线:Modell’s Sporting Goods
2018/06/07 全球购物
Java中实现多态的机制是什么?
2014/12/07 面试题
国际商务专业学生个人的自我评价
2013/09/28 职场文书
旅游个人求职信范文
2014/01/30 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
文明班级申报材料
2014/12/24 职场文书
暑期实践个人总结
2015/03/06 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书
Python之matplotlib绘制饼图
2022/04/13 Python