计算机视觉之OpenCV教程 --- Mat图像类基础(二)
来源:互联网 发布:客管家软件好用吗 编辑:程序博客网 时间:2024/04/30 22:52
机器视觉之OpenCV教程图像容器Mat类基础一(二)
一、Mat像素点的存储方法
- 色彩空间是指我们通过组合颜色分量来对各种颜色编码
- 灰度图像: 从黑到白 ,逐渐过渡 , 划分成若干灰度级别
- 彩色图像RGB模型: rgb是最常用的颜色模型 , 人类就是这样感知 光线的 , 在OpenCV中通道顺序是(blue 、 green 、 red)。
- 彩色图像HSV和 HLS模型:是更贴近自然的颜色模型
- 彩色图像YCrCB模型: 通常在JPEG图像中
- CIE*a*b模型是一种感官 均匀的色彩空间 , 当我们要度量色彩之间的距离时通常会使用到。
- 每一种色彩空间的颜色分量都有他各自 的取值范围 , 不同的范围要用到不同的位宽的数字来存储 , 这就引出了Mat的数据类型
7
二、Mat数据类型
- 最小的数据类型是char , 也就是一个字节8bits , 他的取值范围是 【-128~127】。在灰度图像和RGB图像中 , 一般用无符号8位 , 即uchar类型 , 求值范围是【0~255】 , 这样 在RGB色彩空间中 , 可以有255^3中不同的颜色(16581375种)。
- Mat中 CV_8u 表示无符号char类型
- CV_8S 表示有符号char类型
- CV_16U 表示无符号short类型
- CV_32F 表示对应的float类型
- 采取的Mat数据类型要与图像的信息相对应 , 否则会出异常
三、显式的创建Mat对象
- Mat可以当做存放图像的容器, 也可以当做一个矩阵类来存放和操作任意的矩阵
- 二维的Mat可以直接使用输出流输出 。
创建一个Mat
二维矩阵Mat m(行数 , 列数 , 数据存储格式C通道数 , 定义bgr作为所有像素的初始值)三维矩阵int[] sz = {2,2,2} Mat m(维度, sz , 数据存储格式C通道数 ,定义bgr作为所有像素的初始值 )
- 使用 create函数显示的创建一个Mat对象
- 使用create函数, 无法初始化 , 如果有新的需求跟原来的内存块不匹配 , 才会重新分配内存区域, 可以减少开辟内存Dev动作 , 提升效率。
克隆矩阵的一部分
创建 一个 新的矩阵头 , 然后将已经存在的矩阵的一部分拷贝进去 。
Mat mm = m.row(1).clone(); 只拷贝矩阵第二行
使用Randu随机函数填充 一个随机矩阵
Mat m = Mat(3,2,CV_8U3);randu(R , 行范围 , 列范围);
阅读全文
0 0
- 计算机视觉之OpenCV教程 --- Mat图像类基础(二)
- 计算机视觉之OpenCV教程 ---Mat类基础(一)
- 2.1 Mat—基础图像容器(OpenCV教程)
- 2.1 Mat—基础图像容器(OpenCV教程)
- 2.1 Mat—基础图像容器(OpenCV教程) .
- Mat—基础图像容器(OpenCV教程)
- 【计算机视觉】【图像处理】【VS开发】【Qt开发】opencv之深拷贝及浅拷贝,IplImage装换为Mat
- OpenCV教程 之 基础操作:图像的读入、输出、访问、Mat类、色彩缩减与线性融合
- 计算机视觉(二)图像的匹配
- 计算机视觉与图像处理学习笔记(二)win32+mingw+opencv搭建
- OpenCV(三)回归计算机视觉,对图像平滑处理
- OpenCV参考手册之Mat类详解(二)
- OpenCV参考手册之Mat类详解(二)
- OpenCV参考手册之Mat类详解(二)
- OpenCV参考手册之Mat类详解(二)
- OpenCV参考手册之Mat类详解(二)
- OpenCV参考手册之Mat类详解(二)
- OpenCV参考手册之Mat类详解(二)
- C++常用库函数
- linux 中安装PDF阅读器FoxitReader
- finereport破解版有吗
- CodeForces 66 D.Petya and His Friends(构造+数论+高精度)
- Visual Builder-低代码开发平台中的AK47
- 计算机视觉之OpenCV教程 --- Mat图像类基础(二)
- 课程26 项目6
- Xgboost的简单使用2
- 40、50、60--说说我那些超龄的程序员同事们
- 拿好不谢!程序员圣诞节的脱单秘籍
- redis事务处理
- 走近富兰克林--《富兰克林自传》
- 2017年浙江工业大学大学生程序设计迎新赛决赛—网络同步赛 G-取数游戏(区间dp)
- 剑指Offer---正则表达式匹配