前言

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

1.OpenCV的数据结构和函数

OpenCV的数据结构和函数

2.Mat类

Mat类不需要我们手动为其开辟空间,也不必在不需要时将空间释放。

  • 用法
Mat A,C;
A = imread("1.jpg");
Mat B(A);//拷贝构造函数
C = A;//赋值运算

Mat D(A,Rect(10,10,100,100));//使用矩形界定
Mat E = A(Range:all(),Range(1,3);//用行和列界定

//使用函数clone()或copyTo()复制一幅图像的矩阵
Mat F = A.clone();
Mat G;
A.copyTo(G);

2.常用数据结构和函数

  • Point类
    表示二维坐标系下的点,即由图像x、y坐标制定的2D点。
Point point;
point.x = 10;
point.y = 9;
//或者
Point point = Point(10,9);
//Point_<int>、Point2i、Point互相等价,Point_<float>、Point2f互相等价。

  • Scalar类
Scalar(R,G,B);

  • Size类
Size(5,5);//构造出的Size宽度高度都为5。

  • Rect类
//两个矩形的交集和并集
Rect rect = rect1 & rect2;
Rect rect = rect1 | rect2;
//平移和缩放操作
Reat reatShift = rect + point;
Reat reatScale = rect + size;

  • cvColor()函数
cvColor(srcImage,dstImage,COLOR_GRAY2BGR);

cvColor()函数标识符
参考书籍OpenCV3编程入门