OpenCV基本数据结构与示例

文章链接:https://blog.csdn.net/iracer/article/details/51292349

基本数据类型包括:

     Vec
    
     Scalar
    
     Point
    
     Size
     
     Rect

1、Vec向量

Vec是一个模板类,主要用于存储数值向量。

typedef Vec<uchar, 2> Vec2b;
typedef Vec<uchar, 3> Vec3b;
typedef Vec<uchar, 4> Vec4b;
typedef Vec<short, 2> Vec2s;
typedef Vec<short, 3> Vec3s;
typedef Vec<short, 4> Vec4s;
typedef Vec<int, 2> Vec2i;
typedef Vec<int, 3> Vec3i;
typedef Vec<int, 4> Vec4i;
typedef Vec<float, 2> Vec2f;
typedef Vec<float, 3> Vec3f;
typedef Vec<float, 4> Vec4f;
typedef Vec<float, 6> Vec6f;
typedef Vec<double, 2> Vec2d;
typedef Vec<double, 3> Vec3d;
typedef Vec<double, 4> Vec4d;
typedef Vec<double, 6> Vec6d;

2、 Point点类

常用于表示2维坐标(x,y)。

    CvPoint p = cvPoint(int x, int y);
    CvPoint2D32f p = cvPoint2D32f(float x, float y);
    CvPoint3D32f p = cvPoint3D32f(float x, float y, float z); //E.g.:
    p.x=5.0;
    p.y=5.0;

3、Scalar4元素向量类

Scalar()表示具有4个元素的数组,在OpenCV中被用来传递像素值,如果不使用第四个参数,则不需要写出来。需要注意的是,OpenCV中颜色值是BGR排列而不是传统上的RGB排列。

标量:
    CvScalar
        |-- double val[4];      //4D 向量
    初始化函数:
        // Example:
        CvScalar s = cvScalar(double val0, double val1=0, double val2=0, double val3=0); 
        CvScalar s = cvScalar(20.0);
        s.val[0]=20.0;

4、Size尺寸类

它包含宽、高2个成员:width , height还有一个有用的面积函数area()

矩形框大小(以像素为精度):
    CvSize r = cvSize(int width, int height);
    CvSize2D32f r = cvSize2D32f(float width, float height);

5、 Rect类

Rect是另一个用于定义2维矩形的模板类。它由两个参数定义:
矩形左上角坐标: (x,y)
矩形的宽和高: width, height
Rect可以用来定义图像的ROI区域。

矩形框的偏置和大小:
    CvRect r = cvRect(int x, int y, int width, int height);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值