OpenCV(五) Opencv中 core 核心模块详解—— 常见的数据结构

来源:互联网 发布:金融行业seo 编辑:程序博客网 时间:2024/06/05 20:10

      今天,虽然是周六,但是仍然要学习啊,,我这个菜鸟啥时候才能变大神啊,哎~~下面开始介绍 OpenCV 中常见的类和函数。

      1、点类 Point

      Point 类定义的是二维坐标系下的点,所以,它有两个成员:x 和 y。程序如下:

int main(){// 点的表示Point point_A;    //是整型的point_A.x = 5;    //如果是5.2,输出也是 5point_A.y = 2;cout << point_A << endl;  //输出的是 [5,2]}
      此外,Opencv 还有这样的定义:

typedef Point <int> Point2itypedef Point2i Pointtypedef Point<float> Point2f
     所以,以后碰到 Point,Point2i,Point <int> 是完全等价的,都是表示二维坐标系下的整型点。

      2、矩形类 Rect

      Rect类的成员变量有四个:x,y 表示矩形左上角的坐标。width 和 height 分别表示矩形的宽和高。Rect 常见的成员函数有 :

      Size() 的返回值为尺寸Size :返回的是 [宽 × 高]

      area() 返回的是矩形的面积;

      contains(Point) 判断点是是否在矩形内部;rect.contains(point),如果在,返回1,如果不在,返回0

      tl() 和 br() 分别表示矩形的左上角和右下角的坐标值。。

int main(){Mat img = imread("test.jpg", 1);//矩形类的表示        Rect rect1(2,5,10,10);        cout << rect1 << endl;   //输出的是 [10 × 10 from (2,5)]        cout << rect1.area() << endl;  //输出的是100        cout << rect1.tl() << "\t" << rect1.br() << endl;  //输出的是[2,5],[12,15]        cout << rect1.size() << endl;  //输出的是 [10 × 10]        Point point1(3,7),point2(0,0);        cout << rect1.contains(point1) << endl;  //返回的是1        cout << rect1.contains(point2) << endl;  //返回的是0                //求两个矩形的交集和并集        Rect rect2(1,3,8,8);        Rect rect3 = rect1 & rect2;        cout << rect3 << endl;  //输出的是 [7 x 6 from (2, 5)]        Rect rect4 = rect1 | rect2;        cout << rect4 << endl;   //输出的是 [11 x 12 from (1, 3)]               //对矩形进行平移和放缩        Point point3(1,2);        Size size(100,100);                Rect rect5 = rect1 + point1;        Rect rect6 = rect2 + size;        cout << rect5 << endl;    //输出结果是[10 x 10 from (5, 12)],,进行平移        cout << rect6 << endl;  //输出结果为 [108 x 108 from (1, 3)],进行了扩大 }
 

       3、颜色的表示:Scalar类

       Scalar()有四个元素:R,G,B,A,如果第四个参数用不到,直接不写即可。

      4、颜色空间转换函数 cvtColor()函数

       这个函数是将颜色空间进行转换的函数,能够实现 RGB 图像向 HSI、灰度图、HSV转换。函数的使用方法如下。

       cvtColor(srcImage, dstImage,转换标示符号);

       转换标示符号如下


 

阅读全文
2 0
原创粉丝点击