OpenCV常用数据结构和函数

作者: HeoLis | 来源:发表于2018-01-28 17:51 被阅读5次

    点的表示:Point类

    Point类数据结构表示二维坐标系下的点,即由其图像坐标x,y指定的2D点。
    用法如下

    Point point;
    point.x = 10;
    point.y = 8;
    
    或者
    Point point = Point(10, 8);
    
    

    Point_<int>、Point2i、Point互相等价。Point_<float>、Point2f互相等价。

    颜色的表示:Scalar类

    ==注意OpenCV默认的图片通道存储顺序是BGR,即蓝绿红,而不是RGB。==

    Scalar()表示具有4个元素的数组,在OpenCV中被大量用于传递像素值,如RGB。如果用不到四个参数,则多余的参数不用写出。
    用法如下

    Scalar( a, b, c);
    // 定义的RGB颜色值:红色分量为c,绿色分量为b,蓝色分量为a。
    

    尺寸的表示:Size类

    Size_<int>、Size2i、Size等价
    用法如下

    // 可以用 xxx.width 和 xxx.height 获取 宽 和 高
    Size(5 ,5); // 构造出的Size宽度和高度都为5,即xxx.width和xxx.height都为5
    

    矩形的表示:Rect类

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

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

    求交集并集

    Rect rect = rect1 & rect2;  // 交集
    Rect rect = rect1 | rect2;  // 并集
    

    平移和缩放

    Rect rectShift = rect + point;  // 平移
    Rect rectScale = rect + size;   // 缩放
    

    颜色空间转换:cvtColor()函数

    原型如下:

    void cvtColor(InputArray src, OutputArray dst, int code, int dstCn=0);
    
    • 参数一:输入图像
    • 参数二:输出图像
    • 参数三:颜色空间转换标识符(参表)
    • 参数四:目标图像的通道数,若参数为0,表示目标图像取源图像的通道数。
      用法如下
    cvtColor(srcImage, dstImage, COLOR_GRAY2BGR);
    

    相关文章

      网友评论

        本文标题:OpenCV常用数据结构和函数

        本文链接:https://www.haomeiwen.com/subject/bdjzaxtx.html