解释Java OpenCV库中的Mat类


在OpenCV中,图像存储在Mat对象中。它只是一个n维数组,用于存储灰度或彩色图像、体素体积、矢量场、点云、张量、直方图等图像数据。

如果尝试使用OpenCV库读取图像,它将被读取到Mat对象中。

Mat matrix = Imgcodecs.imread(filePath);

可以使用以下构造函数之一手动实例化此类:

  • Mat() - 无参数构造函数,用于创建一个空矩阵并将其传递给其他OpenCV方法。

  • Mat(int rows, int cols, int type) - 此构造函数接受三个整型参数,分别表示二维数组的行数和列数以及数组的类型(用于存储数据)。

  • Mat(int rows, int cols, int type, Scalar s) - 除了前一个构造函数的参数外,此构造函数还额外接受一个Scalar类对象作为参数。

  • Mat(Size size, int type) - 此构造函数接受两个参数,一个表示矩阵大小的对象和一个表示用于存储数据的数组类型的整数。

  • Mat(Size size, int type, Scalar s) - 除了前一个构造函数的参数外,此构造函数还额外接受一个Scalar类对象作为参数。

以下是此类的主要方法:

  • Mat col(int x) - 此方法接受一个表示列索引的整型参数,并检索并返回该列。

  • Mat row(int y) - 此方法接受一个表示行索引的整型参数,并检索并返回该行。

  • int cols() - 此方法返回矩阵的列数。

  • int rows() - 此方法返回矩阵的行数。

  • Mat setTo(Mat value) - 此方法接受一个Mat类型对象,并将数组元素设置为指定的值。

  • Mat setTo(Scalar s) - 此方法接受一个Scalar类型对象,并将数组元素设置为指定的值。

更新于:2020年4月9日

2K+ 浏览量

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.