• opencv宏


    1.

    CV_FUNCNAME 定义变量 cvFuncName存放函数名,用于出错时可以报告出错的函数

    __FILE__  C语言中的宏,CV_Error中经常用到,说明出错的函数所在源文件名

    __LINE__  C语言中的宏,CV_Error中经常用到, 说明出错位置的函数

    cxerror.h 中

    2.

    __BEGIN__ 和__END__配套使用,当出现error时,EXIT

    cxerror.h 中

    #define __BEGIN__       {
    #define __END__         goto exit; exit: ; }
    #define __CLEANUP__
    #define EXIT            goto exit

    对于代码中 __BEGIN__ 和__END__后面多加一个分号 的解释:

    因为 __BEGIN__;等价于{; ,其中分号(;)为一个空语句,是合理的,但不要也行.__END__也一样.如

    这样的语法是正确的.

    3.

    CV_CN_MAX 64//通道数最大为64

    CV_DEPTH_MAX = 8 = (1000)//位深最大为8

    CV_MAT_TYPE_MASK 11111111 //511

    CV_MAT_TYPE(flags)  ((flags) & CV_MAT_DEPTH_MASK)//flags与511相与还是flags,但可以保重flags在0到511之间

    CV_MAT_DEPTH_MASK = 7 = (0111)//位深掩模,保证最大为8(其余数)

    CV_MAT_CN_MASK = (111111, 000)//掩模

    CV_MAT_CN求得通道数

    CV_MAT_DEPTH求得深度,共8中 0 ~ 7

    CV_ELEM_SIZE = 通道数 x DEPTH占字节数 = 通道数 >> X = 一个像素字节数

    CV_MAKETYPE(depth,cn) (CV_MAT_DEPTH(depth) + (((cn)-1) << CV_CN_SHIFT))//将cn-1左移3位(即乘以8)后与depth相加

    cxtypes.h中

    还有不少,以待更新......

  • 相关阅读:
    54、servlet3.0-ServletContainerInitializer
    53、servlet3.0-简介&测试
    52、[源码]-Spring源码总结
    51、[源码]-Spring容器创建-容器创建完成
    50、[源码]-Spring容器创建-Bean创建完成
    49、[源码]-Spring容器创建-创建Bean准备
    48、[源码]-Spring容器创建-初始化事件派发器、监听器等
    Atom编辑器入门到精通(四) Atom使用进阶
    Atom编辑器入门到精通(三) 文本编辑基础
    Atom编辑器入门到精通(二) 插件的安装和管理
  • 原文地址:https://www.cnblogs.com/wqvbjhc/p/2465152.html
Copyright © 2020-2023  润新知