一.简介

在OpenCV中,可以用C++语法的Mat类来表示一张图像

也可以用C语法的lpllmage或CvMat结构体来表示一张图像

1.单通道像素值

2.多通道像素值

OpenCV默认颜色顺序为BGR

二.成员公有函数

cv::Mat类能够自动管理内存,由矩阵头和指向存储所有像素值的矩阵的指针构成

cv::Mat类表示一个n维的密集数值单通道或多通道数组,它可用于存储实数或复数值的向量和矩阵 灰度和彩色图像  体素  向量场  点云  张量  直方图等

1.常用的成员函数

Mat::Mat()

Mat::~Mat()

Mat::row                 // 创建一个具有指定了矩阵头中行数的参数的矩阵

Mat::col                  // 创建一个具有指定了矩阵头中列数的参数的矩阵

Mat::rowRange      // 为指定的行span创建一个新的矩阵头,可取指定行区间元素

Mat::colRange       // 为指定的列span创建一个心得矩阵头,可取指定列区间元素

Mat::clone             // 创建一个数据及其基础数据的完整副本

Mat::copyTo          //

Mat::convertTo

Mat::zeros

Mat::ones

Mat::channels

Mat::empty

Mat::at

Mat::isContinuous()    //判断图像存储是否连续

2.不常用的成员函数

Mat::addref()

Mat::adjustROI()

Mat::assignTo()

Mat::at()

Mat::begin()

Mat::channels()

Mat::checkVertor()

Mat::clone()

Mat::col()

Mat::colRange()

Mat::convertTo()

Mat::copySize()

Mat::copyTo()

Mat::create()

Mat::cross()

Mat::deallocate()

Mat::depth()

Mat::diag()

Mat::dot()

Mat::elemSize()

Mat::elemSize1()

Mat::empty()

Mat::end()

Mat::eye()

Mat::inv()

Mat::isContinuous()

Mat::isSubmatrix()

Mat::locateROI()

Mat::mul()

Mat::ones()

Mat::pop_back()

Mat::ptr()

Mat::push_back()

Mat::push_back_()

Mat::release()

Mat::reserve()

Mat::reshape()

Mat::resize()

Mat::row()

Mat::rowRange()

Mat::setTo()

Mat::step1()

Mat::t()

Mat::total()

Mat::type()

Mat::zeros()

3.成员数据

4.构造函数

Mat()                                                                                                                                 // 默认构造函数

Mat(int row,int cols,int type)

Mat(Size size,int type)

Mat(int rows,int cols,int type,const Scalar& s)

Mat(Size size,int type,const Scalar& s)

Mat(int ndims,const int* sizes,int type)

Mat(int ndims,const int* sizes,int type,const Scalar& s)

Mat(const

Mat&

m)

// 拷贝构造函数

Mat(int rows,int cols,int type,void* data,size_t step=AUTO_STEP)

Mat(Size size,int type,void* data,size_t step=AUTO_SETP)

Mat(int ndims,const int* sizes,int type,void* data,const size_t* steps=0)

Mat(const Mat& m,const Range& rowRange,const Range& colRange=Range::all());

Mat(const Mat& m,const Rect& roi);

Mat(const Mat& m,const Range* ranges);

Mat(const CvMat* m,bool copyData=false);

Mat(const CvMatND* m,bool copyData=false);

Mat(const IplImage* img,bool copyData=false);

templateexplicit Mat(const vector<_tp>& vec,bool copyData=false);

templateexplicit Mat(const Vec<_tp>& vec,bool copyData=true);

template

三.cv::Mat 类型转换

1.cv::Mat 类转换为 IplImage 类型和 CvMat 类型

cv::Mat img;

CvMat cvMatImg=img;

IplImage iplImage = img;

2.IpIImage 类型和 CvMat 类型转换为 cv::Mat 类型

IplImage* iplImg = cvLoadImage("a.jpg");

cv::Mat img(iplImg,true);

cv mat 灰度值和_OpenCV2:总结篇 cv::Mat 类相关推荐

  1. cv mat 灰度值和_访问OpenCV中灰度图像的像素值

    我只是想让我的概念清楚 - 访问cv :: Mat的所有矩阵元素意味着我实际上访问图像的所有像素值(灰度 - 1通道和颜色 - 3通道)? 就像我的代码打印加载的1通道图像的灰度矩阵的值和类型CV_3 ...

  2. cv mat 灰度值和_c++ 访问OpenCV中灰度图像的像素值

    您正在访问矩阵的元素,您也正在访问图像本身.在您的代码中,执行此操作后: cv::Mat img = cv::imread("lenna.png"); 矩阵img代表图像lenna ...

  3. 【CV作业02】图像灰度值变换+UI

    目录 参考资料: 代码 1. 各种转换方法的实现 2. UI 设计(这里只展示功能实现部分,自动生成的代码已省去) 3. 启动程序 参考资料: PyQT6的从零开始(一):在Anaconda下安装Py ...

  4. cv曲线面积的意义_一篇搞定电动调节阀口径和Cv值计算

    决定调节阀口径应根据已知的流体条件,计算出必要的Cv值,然后再根据调节阀的额定Cv值,选取合适的调节阀口径. 一. Cv值计算公式 Cv值是用来表示调节阀的英制单位流量系数.其定义是:阀处于全开状态, ...

  5. OpenCV访问像素点的灰度值

    1.Mat矩阵数值的存储方式 这里以指针的方式访问图像素为例 (1)单通道 定义一个单通道图像: cv::Mat img_1 = (320, 640, CV_8UC1, Scalar(0)); 对于单 ...

  6. cv mat保存图片_(七)神秘的Mat

    时间为友,记录点滴. 不知道你有没有跟我一样,看到一些关键的类或结构体总想看看他的结构是什么?因为我觉得单单知其然是不够的,知其所以然才能走得更远. 虽然我们只写了两个例子,但是很明显,这里面的核心内 ...

  7. open cv均值 中值 高斯 双边高斯 滤波及模糊

    /* 模糊与消噪 模糊原理(线性滤波) ●Smooth/Blur 是图像处理中最简单和常用的操作之一 ●使用该操作的原因之一-就为了给图像预处理时候减低噪声 ●使用Smooth/Blur操作其背后是数 ...

  8. opencv读取图像的灰度值并显示出来

    通过双层循环,遍历所有的像素值,再输出灰度值即可.图片太大,所有只选择20行和20列进行输出. 昨天要用到图片的灰度值,脑子突然短路了,忘了存储灰度图的数组,存放的就是图片的灰度值,还以为要用什么函数 ...

  9. 详解为什么OpenCV的直方图计算函数calcHist()计算出的灰度值为255的像素个数为0

    在使用OpenCV的直方图计算函数calcHist()时,发现灰度值为255的像素个数总是为0. 哪怕图像中灰度值为255的像素个数不为0,使用OpenCV的直方图计算函数calcHist()计算出的 ...

最新文章

  1. 【Spring】工厂模式解耦
  2. 记一次安装多版本php的四个雷区,你踩着了吗
  3. 作业4(列表增加或者修改)
  4. Python编程基础:第三十六节 模块Modules
  5. Shared pool内存块组成结构及4031错误原因分析
  6. Reading Club week 3 prepare document
  7. VTK:图表之BreadthFirstDistance
  8. OpenGL packetbuffer分组缓冲器的实例
  9. UC/OS-II的学习
  10. sprintf_s与_snprintf与_snprintf_s
  11. 切洋葱怎么才不流泪?
  12. CAN笔记(5) 协议标准规格
  13. linux oa软件安装步骤,Ecology_OA_for_Linux安装手册
  14. Verilog常用算法-以2为求对数
  15. 【HDU - 4794】Arnold【斐波那契数列循环节】
  16. 域自适应(Domain Adaptation)简介
  17. qt在表格中如何画线_如何在电子表格中的某单元格内画一根长线
  18. 百度地图瓦片 android,深入學習百度地圖Android SDK v4.0.0【第五關】瓦片圖層
  19. 图形界面介绍——Blockage相关
  20. 论坛介绍 | COSCon'22 开源治理(G)

热门文章

  1. python计算两个日期的天数计算多少岁
  2. Uboot sf 命令:erase write read 用法
  3. 无源光网络的原理和构成
  4. transferto方法的应用_Java MultipartFile.transferTo方法代碼示例
  5. 安卓软件改名器_超十款爆肝软件推荐,安卓、Win尽收眼底!
  6. 计算机网络技术专业英文介绍,计算机网络技术类专业英文简历模板
  7. 简单实现 iframe 全屏显示
  8. 对于thtd标签colspan不起作用的问题
  9. mysql存在外键的连接_MySQL(外连接、自然连接、新增-追加-删除外键、外键条件-约束)...
  10. Redis命令详解:Sorted Sets