OpenCV矩阵元素类型.type()及其访问方式.at<>()

  1. cv::Mat的成员函数type()可以获得Mat矩阵元素的数据类型,但type()函数返回的是int型数值,需进一步查表, 才能得到对应的数据类型.

    cv符号c++类型
    8Uunsigned char
    8Schar
    16Uunsigned short
    16Sshort
    32Sint
    32Ffloat
    64Fdouble

    C(n)表示通道数

    类型C1C2C3C4
    CV_8U081624
    CV_8S191725
    CV_16U2101826
    CV_16S3111927
    CV_32S4122028
    CV_32F5132129
    CV_64F6142230
  2. .at<>()访问元素
    .at<>()需要知道元素类型,才能访问。
    以单通道为例,at 方法接受的数据类型是 uchar ,而非 CV_8U, 即 img.at<uchar>(2,3)
    以三通道CV8SC3为例,img.at<cv::Vec<uchar,3>>(行,列),或img.at<cv::Vec3i>(行,列)

    数据类型C1C2C3C4C6
    CV_8Uucharcv::Vec2bcv::Vec3bcv::Vec<uchar,4>cv::Vec<uchar,6>
    CV_8Scharcv::Vec<char,2>cv::Vec<char,3>cv::Vec<char,4>cv::Vec<char,6>
    CV_16Uushortcv::Vec<ushort,2>cv::Vec<ushort,3>cv::Vec<ushort,4>cv::Vec<ushort,6>
    CV_16Sshortcv::Vec2scv::Vec3scv::Vec4scv::Vec<short,6>
    CV_32Sintcv::Vec2icv::Vec3icv::Vec4icv::Vec<int,6>
    CV_32Ffloatcv::Vec2fcv::Vec3fcv::Vec4fcv::Vec6f
    CV_64Fdoublecv::Vec2dcv::Vec3dcv::Vec4dcv::Vec6d
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值