opencv其他常用数据结构

定义和输出二维点

Point2f p(6,2);
cout<<"[二维点]p="<<p<<";\n"<<endl;
//[二维点]p=[6,2]

定义和输出三维点

Point3f p3f(8,20);
cout<<"[二维点]p3f="<<p3f<<";\n"<<endl;
//[二维点]p=[8,2,0];

定义和输出基于Mat的std::vector

vector<float> v;
v.push_back(3);
v.push_back(5);
v.push_back(7);

cout<<"[基于Mat的vector]shortvec="<<p3f<<";\n"<<endl;
//[基于Mat的vector]p=[3;5;7];
定义和输出std::vector点

vector存放二维点Point2f为例:

vector<Point2f> points(20);
for(size_t i=0;i<points.size();++i)
points[i]=Point2f((float)(i*5),float(i%7));
cout<<"[二维点向量]points="<<points<<";";

点:Point类

    1.Point point;
        point.x=10;
        point.y=8;
    2.Point point=Point(10,8);
在opencv中:
    typedef Point_<int> Point2i;
    typedef  Point2i Point;
    typedef Point_<float> Point2f;

颜色类:Scalar

Scalar()表示具有4个元素的数组。在OpenCV中被大量用于传递像素值,如RGB颜色值。而RGB颜色值为3个参数值,其实对于Scalar函数来说,如果用不到第四个参数,不需要写出来。若只写三个参数,OpenCV会认为我们就想表示三个参数。
Scalar(a,b,c);

尺寸表示:Size类

typedef Size_<int> Size2i;
typedef Size2i Size;

Size(5,5); //构造出来的宽高都为5

矩形的表示:Rect类

Rect类成员变量有x y width height,左上角、右下角、矩形的宽、高。

  • Size()返回值为Size;
  • area()返回值为面积;
  • contains(Point)判断点是否在矩形内;
  • inside(Rect)判断矩形是否在该矩形内;
  • tl()左上角坐标;
  • br()右下角坐标
  • 颜色空间变换:cvtColor()函数

    可以实现RGB颜色向HSV、HSI等颜色空间的转换,也可以转换为灰度图像。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值