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 相关文章推荐
详解Python3中yield生成器的用法
Aug 20 Python
django限制匿名用户访问及重定向的方法实例
Feb 07 Python
基于DATAFRAME中元素的读取与修改方法
Jun 08 Python
Python+OpenCV感兴趣区域ROI提取方法
Jan 10 Python
python画双y轴图像的示例代码
Jul 07 Python
Python获取时间范围内日期列表和周列表的函数
Aug 05 Python
python xlwt如何设置单元格的自定义背景颜色
Sep 03 Python
Python Opencv提取图片中某种颜色组成的图形的方法
Sep 19 Python
pytorch GAN生成对抗网络实例
Jan 10 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
Feb 17 Python
详解Python修复遥感影像条带的两种方式
Feb 23 Python
python 安装impala包步骤
Mar 28 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 5.0对象模型深度探索之绑定
2006/09/05 PHP
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
php中显示数组与对象的实现代码
2011/04/18 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
php使用sql server验证连接数据库的方法
2014/12/25 PHP
PHP中用Trait封装单例模式的实现
2019/12/18 PHP
javascript中setTimeout的问题解决方法
2014/05/08 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
javascript中数组array及string的方法总结
2014/11/28 Javascript
JavaScript实现三阶幻方算法谜题解答
2014/12/29 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
JavaScript实现数据类型的相互转换
2016/03/06 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
2016/10/19 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
2017/02/11 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
layui使用form表单实现post请求页面跳转的方法
2019/09/14 Javascript
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
Python获取文件ssdeep值的方法
2014/10/05 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
python 内置函数汇总详解
2019/09/16 Python
ubuntu上安装python的实例方法
2019/09/30 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
python如何随机生成高强度密码
2020/08/19 Python
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
Crocs波兰官方商店:女鞋、男鞋、童鞋、洞洞鞋
2019/10/08 全球购物
世界排名第一的运动鞋市场:Flight Club
2020/01/03 全球购物
.net面试题
2016/09/17 面试题
运动会通讯稿50字
2014/01/30 职场文书
《跨越百年的美丽》教学反思
2014/02/11 职场文书
公司活动方案范文
2014/03/06 职场文书
golang http使用踩过的坑与填坑指南
2021/04/27 Golang