首页 > 代码库 > 数据结构类型

数据结构类型

点:Point类

Point、Point2i、Point_<int>等价

Point2f、Point_<float>等价

用法:

//二维点
    Point2f p(6,2);
    cout<<"p="<<endl<<p<<";"<<endl;
    //三维点
    Point3f p3(8,2,0);
    cout<<"p3="<<endl<<p3<<";"<<endl;
//定义输出存放着点的vector容器,以二维点为例
    vector<Point2f> points(5);//5个点
    for(size_t i=0;i<points.size();i++)
        points[i]=Point2f((float)(i*5),(float)(i%3));//横坐标5的倍数,纵坐标3的余数
    cout<<"points="<<endl<<" "<<points<<";";

技术分享

颜色:Scalar

Scalar(b,g,r,alpha); 第四个参数不需要时可以不写

Scalar类的源头是Scalar_类,我们常用的Scalar其实就是Scalar_<double>,所以很多函数的参数输入可以是Mat也可以是Scalar。

尺寸:Size

Size、Size2i、Size_<int>等价;Size_<float> 、Size2f等价

用法:Size(1,2) 宽1高2

矩形:Rect

成员变量有x,y,width,height,即左上角坐标,矩形宽高

成员函数:Size(),area(),contains(Point)判断点是否在矩形内,inside(Rect)判断矩形是否在矩形内,tl()返回左上角坐标,br()返回右下角坐标

Rect r=r1&r2; 两矩形交集

Rect r=r1|r2; 两矩形并集

Rect rShift=r+point; 平移

Rect rScale=r+size;  缩放

数据结构类型