OpenCV使用近似匈牙利命名法的方法,比较值得一提的特色是:它的数据结构几乎都是大写的Cv开头,而它提供的函数都是小写的cv,举个例子:
CvSize ImageSize = cvSize(400,300); //cvSize(width,height)
ImageSize的类型是CvSize,通过cvSize()函数來初始化结构体:400代表的是宽、300代表的是高;CvSize结构体包含width及height两个整型,可以用ImageSize.width,ImageSize.height來直接读取和设置,唯一差別是,cvSize()顺便用malloc()分配了结构体的内存空间。
函数命名规则基本上遵从:cvActionTargetMethod();提高了函数的可读性,指明用什么动作,哪个目标,用什么方法。常遇到的状况有四种:
1.cvActionTarget()
2.cvTarget()
3.cvMethod()
4.cvActionMethod()
1.的话例如cvCreateImage(),cvNamedWindow()等;2.的话非常常见,如cvMat(),cvSize(),cvPoint();3.的话比较常用的是算法或某方法,如cvDCT()离散余弦变换算法;4.的话如cvFindContours()轮廓搜寻算法;此外也有例外,如:DoubleClickedMouse()(这个例子不在OpenCV命名之內)。这种命名法对于常写程序的人而言是相当重要的技巧,初始化数据结构就直接用名字,函数调用就用动词+名词,当再构建一个程序或系统的时候可以很容易的用数据流图(DFD)表示。这个是良好的命名习惯。
常量命名规则,OpenCV里提供了大量预定义的常量,也就是大写英文加下划线的那种,如:
CV_8UC1
IPL_DEPTH_8U
CV_BLUR_NO_SCALE
这种常量由#define在头文件中定义,如:
#define CV_BLUR_NO_SCALE 0
一般的常量都很容易从字面上的意义去了解,比较特殊的是矩阵和图形的创建参数,cvCreateMat(),cvCreateImage()。
cvCreateMat()参数的命名规则是用大写CV_(位数)+(数据类型)+(Channel数),全部的矩阵参数如下所示:

CV_8UC1   CV_8SC1   CV_16UC1   CV_16SC1   CV_32SC1   CV_32FC1   CV_64FC1
    CV_8UC2   CV_8SC2   CV_16UC2   CV_16SC2   CV_32SC2   CV_32FC2   CV_64FC2
    CV_8UC3   CV_8SC3   CV_16UC3   CV_16SC3   CV_32SC3   CV_32FC3   CV_64FC3
    CV_8UC4   CV_8SC4   CV_16UC4   CV_16SC4   CV_32SC4   CV_32FC4   CV_64FC4

里面的位数,分别代表8bits、16bits、32bits、64bits;数据类型,U代表Unsigned Integer,无符号整数类型;S代表Signed Integer,有符号整数类型,F代表Float,浮点数类型;Channel数,C1代表单通道,C2代表两个通道,C3代表三个通道,以此类推… 这里的通道表示的是色彩空间的维度,例如BMP格式的RGB空间,它的Channel就是3,简单来说就是C1代表一个二维矩阵,C2代表两个二维矩阵,C3代表三个二维矩阵,以此类推…
cvCreateImage()参数固定用IPL_DEPTH_开头,命名规则为IPL_DEPTH_(位数)+(数据类型),全部的参数如下所示:

IPL_DEPTH_1U    IPL_DEPTH_32F    IPL_DEPTH_8S
    IPL_DEPTH_8U                     IPL_DEPTH_16S
    IPL_DEPTH_16U                    IPL_DEPTH_32S

所有的说明皆同上述的矩阵参数命名规则,位数分別有1bit(黑白二值图),8bits,16bits,32bits;数据类型分別为U(Unsigned Integer),S(Signed Integer),F(Float)。

转载:http://blog.csdn.net/justin4wd/article/details/2634107

图像处理基础(二)_OpenCV命名规则相关推荐

  1. 图像处理基础 || (二) 彩色图像转灰度图像

    彩色图像转灰度图像 文章目录 彩色图像转灰度图像 1. 利用scikit-image将彩色图像转化成灰度图像 2. 利用 Pillow 库完成彩色图像中灰度图像的逐层提取 3. 利用 Pillow 库 ...

  2. 【JAVA学习】1、零基础入门Java 基础语法:概念、规则、格式

    [JAVA学习]1.零基础入门Java 基础语法 前言 JAVA开发环境选择 Java 基础概念 Java 标识符 Java修饰符 基础代码模板框架 命名规则 基础规则 后端开发规则 代码格式 前言 ...

  3. [转]Windows与VC命名规则

    转自:http://hi.baidu.com/11158512/blog/item/0fbd5535cbfb5d1c91ef3970.html 匈牙利命名法是一种编程时的命名规范.基本原则是:变量名= ...

  4. C语言变量d的定义法则,C语言变量命名规则(3页)-原创力文档

    1.严格采用阶梯层次组织程序代码: 各层次缩进的分格采用 VC的缺省风格,即每层次缩进为4格,括号位于下一行. 要求 相匹配的大括号在同一列,对继行则要求再缩进4格.例如: 2.提示信息字符串的位置 ...

  5. c语言变量名用一个字母,C语言变量命名规则

    <C语言变量命名规则>由会员分享,可在线阅读,更多相关<C语言变量命名规则(6页珍藏版)>请在人人文库网上搜索. 1.1.严格采用阶梯层次组织程序代码:各层次缩进的分格采用VC ...

  6. c语言中字符串型文件名,C语言中变量名的命名规则

    1.严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行.要求相匹配的大括号在同一列,对继行则要求再缩进4格.例如: 2.提示信息字符串的位置 在程序 ...

  7. ST芯片命名规则简介

    一,简介 本文简单介绍下,如何通过ST主控MCU的芯片型号来知晓芯片所包含的资源. 二,命名规则介绍 三,总结 通过上述图片可以知道ST芯片每个值代表的含义,从而知晓芯片本身所带的资源.

  8. c语言变量名下表,C语言变量名命名规则

    一.程序风格: 1.严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行. 要求相匹配的大括号在同一列,对继行则要求再缩进4格.例如: 2.提示信息字 ...

  9. 变量命名规则_JavaScript基础教程(二)变量、常量与运算符

    常量变量与运算符 从本次课程开始我们将进入JavaScript基础教程学习,本课程附带PPT讲义,课程主要针对JavaScript学习入门者. 变量 在计算机程序设计语言中,变量是存储数据的容器,变量 ...

最新文章

  1. 蚂蚁森林合种计划(2020.12.19更新,7天有效)
  2. 东财在线计算机第一套作业,东财在线21春《计算机网络基础》第一套作业题目及答案...
  3. C#中静态与非静态方法比较
  4. mui 打开openWindow新页面不读取缓存的设置/mui中h5清除缓存页面的办法
  5. QuickWAP 2005企业WAP网站系统简介
  6. Pytorch入门.pptx
  7. react 组件连动效果_React组件开发中常见的陷阱
  8. Linux系统编程---5(共享存储映射,存储映射I/O,mmap函数,父子进程间通信,匿名映射)
  9. 【转】WOPI host消息体结构
  10. MySQL参数文件位置
  11. 服务器一直运行python_【已采纳】supervisor在服务器端(linux),如何一直运行你的python代码...
  12. oracle分页的三种方式,oracle 使用rownum的三种分页方式
  13. linux QT 结束当前进程_嵌入式linux编程开发必备知识
  14. 1431.拥有最多糖果的孩z
  15. quartus仿真14:D触发器实现序列检测
  16. 大数据分析平台建设项目需求报告与技术方案
  17. 魅族手机Root之后如何恢复
  18. 专利局文件如何删除后面的注意事项
  19. 编程实现更改文件夹图标
  20. MyBatisPlus-基础CRUD操作

热门文章

  1. java hashtable 数据结构_java Hashtable底层原理是怎样的?数据结构包括什么?
  2. js获取图片原始大小
  3. java 读取office文件,java读取office文件
  4. [linux]centos6.3安装flash插件rpm方式
  5. 最全面、最详细的“前端模块化”总结
  6. Ubuntu 硬盘”分区“图文教程(用于光盘,U盘安装Ubuntu)
  7. flink checkpoint 恢复_Apache Flink 管理大型状态之增量 Checkpoint 详解
  8. ArcGIS制图技巧系列(3)—让地图更有立体感
  9. ArcGIS GDB中要素类不可编辑
  10. js dojo 保存txt文件