• 【opencv】Opencv中数据类型CV_8U, CV_16U, CV_16S, CV_32F、CV_64F


    1.宏定义
    首先来说CV_8U, CV_16U, CV_16S, CV_32F 以及 CV_64F,都是opencv定义的数据类型。
    具体定义如下

    #define CV_8S   1
    #define CV_16U  2
    #define CV_16S  3
    #define CV_32S  4
    #define CV_32F  5
    #define CV_64F  6
    #define CV_16F  7
    #define CV_8UC1 CV_MAKETYPE(CV_8U,1)
    #define CV_8UC2 CV_MAKETYPE(CV_8U,2)
    #define CV_8UC3 CV_MAKETYPE(CV_8U,3)
    #define CV_8UC4 CV_MAKETYPE(CV_8U,4)
    #define CV_8UC(n) CV_MAKETYPE(CV_8U,(n))
     
    #define CV_8SC1 CV_MAKETYPE(CV_8S,1)
    #define CV_8SC2 CV_MAKETYPE(CV_8S,2)
    #define CV_8SC3 CV_MAKETYPE(CV_8S,3)
    #define CV_8SC4 CV_MAKETYPE(CV_8S,4)
    #define CV_8SC(n) CV_MAKETYPE(CV_8S,(n))
     
    #define CV_16UC1 CV_MAKETYPE(CV_16U,1)
    #define CV_16UC2 CV_MAKETYPE(CV_16U,2)
    #define CV_16UC3 CV_MAKETYPE(CV_16U,3)
    #define CV_16UC4 CV_MAKETYPE(CV_16U,4)
    #define CV_16UC(n) CV_MAKETYPE(CV_16U,(n))
     
    #define CV_16SC1 CV_MAKETYPE(CV_16S,1)
    #define CV_16SC2 CV_MAKETYPE(CV_16S,2)
    #define CV_16SC3 CV_MAKETYPE(CV_16S,3)
    #define CV_16SC4 CV_MAKETYPE(CV_16S,4)
    #define CV_16SC(n) CV_MAKETYPE(CV_16S,(n))
     
    #define CV_32SC1 CV_MAKETYPE(CV_32S,1)
    #define CV_32SC2 CV_MAKETYPE(CV_32S,2)
    #define CV_32SC3 CV_MAKETYPE(CV_32S,3)
    #define CV_32SC4 CV_MAKETYPE(CV_32S,4)
    #define CV_32SC(n) CV_MAKETYPE(CV_32S,(n))
     
    #define CV_32FC1 CV_MAKETYPE(CV_32F,1)
    #define CV_32FC2 CV_MAKETYPE(CV_32F,2)
    #define CV_32FC3 CV_MAKETYPE(CV_32F,3)
    #define CV_32FC4 CV_MAKETYPE(CV_32F,4)
    #define CV_32FC(n) CV_MAKETYPE(CV_32F,(n))
     
    #define CV_64FC1 CV_MAKETYPE(CV_64F,1)
    #define CV_64FC2 CV_MAKETYPE(CV_64F,2)
    #define CV_64FC3 CV_MAKETYPE(CV_64F,3)
    #define CV_64FC4 CV_MAKETYPE(CV_64F,4)
    #define CV_64FC(n) CV_MAKETYPE(CV_64F,(n))
     
    #define CV_16FC1 CV_MAKETYPE(CV_16F,1)
    #define CV_16FC2 CV_MAKETYPE(CV_16F,2)
    #define CV_16FC3 CV_MAKETYPE(CV_16F,3)
    #define CV_16FC4 CV_MAKETYPE(CV_16F,4)
    #define CV_16FC(n) CV_MAKETYPE(CV_16F,(n))
    
    

    2.具体含义

    • S = 有符号整型
    • U = 无符号整型
    • F = 浮点型

    CV_8U - 8位无符号整数(0…255)

    CV_8S - 8位有符号整数(-128…127)

    CV_16U - 16位无符号整数(0…65535)

    CV_16S - 16位有符号整数(-32768…32767)

    CV_32S - 32位有符号整数(-2147483648…2147483647)

    CV_32F - 32位浮点数(-FLT_MAX…FLT_MAX,INF,NAN)

    CV_64F - 64位浮点数(-DBL_MAX…DBL_MAX,INF,NAN)

    而后面的C1、C2、C3是什么意思呢?
    这里的1、2、3代表的是通道数,比如RGB就是3通道,颜色表示最大为255,所以可以用CV_8UC3这个数据类型来表示;灰度图就是C1,只有一个通道;而带alph通道的PNG图像就是C4,是4通道图片。

  • 相关阅读:
    功能:crypto-js加密解密
    编程之美1 哈利波特买书问题
    数据库 Mysql 多表查询,left join联合两个sql示例
    Java Maven 项目读取项目版本号
    干掉Session?这个跨域认证解决方案真的优雅!
    定时任务&多线程-springboot
    AOP中5种通知的注解
    C++贪心算法之乘船问题
    nodejs篇 内置模块events 常用api
    ASP.Net Core异步编程
  • 原文地址:https://blog.csdn.net/weixin_37804469/article/details/126951077