OpenCV常用数据结构和函数

发布 : 2020-01-22 分类 : 计算机视觉 浏览 :

点的表示:Point 类

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

1
2
3
4
5
6
Point point;
point.x = 10;
point.y = 8;

或者
Point point = Point(10, 8);

Point、Point2i、Point 互相等价。Point、Point2f 互相等价。

颜色的表示:Scalar 类

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

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

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

尺寸的表示:Size 类

Size_、Size2i、Size 等价
用法如下

1
2
// 可以用 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()返回右下角点的坐标;

求交集并集

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

平移和缩放

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

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

原型如下:

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

用法如下

1
cvtColor(srcImage, dstImage, COLOR_GRAY2BGR);
本文作者 : HeoLis
原文链接 : https://ishero.net/OpenCV%E5%B8%B8%E7%94%A8%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%92%8C%E5%87%BD%E6%95%B0.html
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!

学习、记录、分享、获得

微信扫一扫, 向我投食

微信扫一扫, 向我投食