最初,opencv库是用C语言开发的,内存管理复杂,各种类型的强制转化(因为memorystorge不知道里面存的是什么东西),还有就是面向对象结构,各种函数名错综复杂,数据与操作关联不够密切,所以C++版本应运而生,C++大部分只是重新封装了C的内容,但是函数名不一样了,但是与之前又有一定的联系。
首先说整体的命名变化:C++无论是变量还是函数名都没有了Cv/cv开头。
其次说变量:C版本都是‘’Cv‘’开头,后面接变量单词的完整形式或部分形式,如CvPoint和CvRect,也有多个词汇组成的类型,比如CvPoint3D32f和CvMatND,到了C++版本,直接去掉“Cv”就行了。但是少有的像CvPoint3D32f进行了更进一步的精简从而改为了Point3f。