如何使用 Java 声明 OpenCV Mat 对象?


在 OpenCV Mat 类中,表示用于存储图像的矩阵对象。你还可以手动声明一个 Mat 对象 −

  • 加载 OpenCV 原生库 − 在使用 OpenCV 库编写 Java 代码时,你需要做的第一步是使用 loadLibrary() 加载 OpenCV 的原生库。

  • 实例化 Mat 类 − 使用本章前面提到的任何函数实例化 Mat 类。

  • 使用这些方法填充矩阵 − 您可以通过将索引值传递给 row()/col() 方法来检索矩阵的特定行/列。

  • 你可以使用 setTo() 方法的任何变体为其设置值。

示例

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.CvType;
import org.opencv.core.Scalar;
public class CreatingMat {
   public static void main(String[] args) {
      //Loading the core library
      System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
      //Creating a matrix
      Mat matrix = new Mat(5, 5, CvType.CV_8UC1, new Scalar(0));
      //Adding values
      Mat row0 = matrix.row(0);
      row0.setTo(new Scalar(1));
      Mat col3 = matrix.col(3);
      col3.setTo(new Scalar(3));
      //Printing the matrix
      System.out.println("Matrix data:\n" + matrix.dump());
   }
}

输出

Matrix data:
[
   1, 1, 1, 3, 1;
   0, 0, 0, 3, 0;
   0, 0, 0, 3, 0;
   0, 0, 0, 3, 0;
   0, 0, 0, 3, 0
]

更新于: 09-04-2020

631 次浏览

开启你的 职业生涯

完成课程,获得认证

开始学习
广告