在cvEqualizeHist的函数定义源码中发现了宏定义CV_IMPL,如下:

CV_IMPL void cvEqualizeHist( const CvArr* srcarr, CvArr* dstarr )

上网查询CV_IMPL的含义如下:

在internal.hpp文件里面有定义:
#  define CV_IMPL CV_EXTERN_C
而关于CV_EXTERN_C,则在types_c.h里面有定义
#  define CV_EXTERN_C extern "C"

其实就相当于extern "C",这个的含义如下:

编程语言种类繁多各有优劣,因此在做软件工程时,往往会出现不同语言嵌入或互相调用的情况;例如在C和C++之间就经常出现互相调用!虽然C++是C的超集,但是,它们之间的编译器是不同的,这就引发了各自的编译器在对C和C++进行编译时要依据哪一个作为大家都认可的规范或者约定的问题。很幸运的是,通过一些基础特征我们制定了这样的一个规约,这就是“C”的出处,这些基础特征就是:
1)这种调用编译是一种“超”链接;
2)这种调用编译不能影响现有的编译规范;
3)C++是C的拓展,是C的升华。
根据1),extern关键字可以表达这种“超”链接;根据2)、3)用“C”来规约在C++中对C的编译。
因此,extern "C"表明了一种编译规约,其中extern是关键字属性,“C”表征了编译器链接规范。对于extern "C"可以理解成在C++/C中的混合编程的编译指令。

OpenCV中的CV_IMPL是什么意思?相关推荐

  1. OpenCV中minAreaRect()最小外接矩形 cvBoxPoints()计算矩形顶点 RotatedRect和CvBox2D详解

    minAreaRect()函数计算并返回指定点集的最小区域边界斜矩形. RotatedRect minAreaRect(InputArray points) points:输入信息,可以为包含点的容器 ...

  2. OpenCV中的内存泄漏检测

    转自:http://chaishushan.blog.163.com/blog/static/130192897200911685559809/ 内存泄漏时程序开发中经常遇到的问题. 而且出现内存泄漏 ...

  3. openCV中的findHomography函数分析以及RANSAC算法的详解(源代码分析)

    本文将openCV中的RANSAC代码全部挑选出来,进行分析和讲解,以便大家更好的理解RANSAC算法.代码我都试过,可以直接运行. 在计算机视觉和图像处理等很多领域,都需要用到RANSAC算法.op ...

  4. OpenCV中的RANSAC详解

    转载来自:http://blog.csdn.net/laobai1015/article/details/51683076 本文将OpenCV中的RANSAC代码全部挑选出来,进行分析和讲解,以便大家 ...

  5. opencv中的cvcvtcolor源码

    cvcvtcolor在opencv中的sources\modules\imgproc\src的color.cpp中. CV_IMPL void cvCvtColor( const CvArr* src ...

  6. OpenCV学习笔记(12)——OpenCV中的轮廓

    什么是轮廓 找轮廓.绘制轮廓等 1.什么是轮廓 轮廓可看做将连续的点(连着边界)连在一起的曲线,具有相同的颜色和灰度.轮廓在形态分析和物体的检测和识别中很有用. 为了更加准确,要使用二值化图像.在寻找 ...

  7. OpenCV中的光流及视频特征点追踪

    OpenCV中的光流及视频特征点追踪 1. 效果图 2. 原理 2.1 什么是光流?光流追踪的前提.原理 2.2 光流的应用 2.3 光流的2种方法 3. 源码 3.2 稀疏光流追踪 3.2 优化版稀 ...

  8. Python,OpenCV中的图像修复——cv2.inpaint()

    Python,OpenCV中的图像修复--cv2.inpaint 1. 效果图 2. 原理 3. 源码 参考 image inpainting 图像修改 这篇博客将介绍如何通过OpenCV中图像修复的 ...

  9. Python,OpenCV中的K均值聚类——K-Means Cluster

    Python,OpenCV中的K均值聚类 1. 效果图 2. 原理 2.1 什么是K均值聚类? 2.2 K均值聚类过程 2.3 cv2.kmeans(z, 2, None, criteria, 10, ...

最新文章

  1. SpringBoot 的其他使用 及 maven打包
  2. CMD(命令提示符)-------javac编译程序出现“”编码GBK的不可映射字符“”
  3. java十进制转十六进制
  4. 死亡搁浅运送系统服务器,死亡搁浅订单23寻物系统服务器流程介绍-死亡搁浅订单23寻物系统服务器怎么做_牛游戏网...
  5. tomcat 不支持put 高版本_Tomcat-远程代码执行漏洞
  6. Java日志框架的使用
  7. 利用学信网免费激活PyCharm企业版(也适用所有其它JetBrains的IDE)
  8. 【计算机网络】计网笔记知识点整理篇(1-3章,后续章节持续更新)
  9. yum设置 ccproxy 细节
  10. 一个07年毕业研究生的坎坷经历(上)
  11. 稳压器功能一览[转]
  12. 有道linux安装路径,Ubuntu 16.04下安装有道词典出错的解决方法
  13. 阿里M8级大神整理出SQL手册:收获不止SQL优化,抓住SQL的本质
  14. 自动化行业软件工程师工作第一年总结
  15. 用画中画剪辑技巧,给每个视频添加背景图片
  16. EXCEL进阶:图表中添加引导线
  17. Office 365 Developer
  18. python 解析 eml文件
  19. Financial English
  20. iolink单片机_基于IO-Link接口的温湿度传感器设计

热门文章

  1. 用python处理excel数据的优势-python处理excel的优势是什么
  2. python怎么安装requests库-python怎么安装requests库
  3. c+和python有什么不同-Python和C区别该如何理解?如何适应这种区别?
  4. 自己的电脑上怎么用python-如何做一个任何电脑都能用的python程序?
  5. python 书 推荐-推荐几本Python书
  6. 学python那本书比较好-Python初学者最应该读的8本书
  7. python下载安装教程mac-数据分析入门~mac 下载及安装 Python 环境
  8. python怎么安装包-怎么在windows下安装python第三方包
  9. python编程入门电子书下载-Python编程基础如何快速入门?“附电子书下载”
  10. python读文件操作-python文件操作读取文件写入文件