OpenCV 基础数据类型

发布时间 2023-11-04 11:33:53作者: harrychinese

常用基础数据类型

  • Rect/Rect2d/Rect2f 定义一个矩形区域, 带大小和位置
  • Size/Size2d/Size2f 定义一个矩形大小, 不带位置
  • Point/Point2d/Point3i 定义一个二维或三维的点坐标
  • Range/Rangef, 定义一个带有下上限的范围
  • Vec3b/Vec3d/Vec4b, 定义一个三维或四维的向量, Mat的每个点的取值可以用Vec表示
  • Scalar, 这个类支持定义一维/二维/三维/四维的向量, 元素都是double类型, Mat的每个点的取值可以用Scalar表示; 颜色也经常使用Scalar表示

示例代码

   private void dataTypeTest()
  {
      //Rect/Rect2d/Rect2f 定义一个矩形区域, 带大小和位置
      Rect rect = new Rect(10, 10, 20, 20);
      Rect2d rect2d = new Rect2d(10.0, 10.1, 20.2, 20.2);
      Rect2f rect2f = new Rect2f((float)10.0, (float)10.1, (float)20.2, (float)20.2);

      //Size/Size2d/Size2f 定义一个矩形大小, 不带位置
      var mySize = new OpenCvSharp.Size(10, 10);
      Size2d size2d = new Size2d(10.1, 10.1);

      //Point/Point2d/Point3i 定义一个二维或三维的点坐标
      var myPoint = new OpenCvSharp.Point(10, 10);
      var point2d = new Point2d(10.0, 10.2);
      var point3i = new OpenCvSharp.Point3i(10, 10, 10);

      //Range/Rangef, 定义一个带有下上限的范围
      var myRange = new OpenCvSharp.Range(start: 10, end: 100);
      var rangef = new Rangef((float)10.1, (float)20.1);

      //Vec3b/Vec3d/Vec4b, 定义一个三维或四维的向量
      //Mat的每个点的取值可以用Scalar表示
      var vec3b = new Vec3b(0, 0, 0);
      var vec3d = new Vec3d(10.0, 0, 0);
      var vec4b = new Vec4b(10, 10, 10, 10);
      var vec4d = new Vec4d(10.0, 0, 0, 0);

      //Scalar, 这个类支持定义一维/二维/三维/四维的向量, 元素都是double类型
      //Mat的每个点的取值可以用Scalar表示
      //颜色也经常使用Scalar表示
      var scalar = new Scalar(1.0);
      var scalar2 = new Scalar(1.0, 1);
      var scalar3 = new Scalar(1.0, 1, 1);
      var scalar4 = new Scalar(1.0, 1, 1, 1);
  }

参考

https://blog.csdn.net/qq_41253960/article/details/122087012