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

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

  • 加载OpenCV本机库-使用OpenCV库编写Java代码时,第一步是使用加载OpenCV本机库loadLibrary()

  • 实例化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) {
      //加载核心库
      System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
      //创建矩阵
      Mat matrix = new Mat(5, 5, CvType.CV_8UC1, new Scalar(0));
      //添加值
      Mat row0 = matrix.row(0);
      row0.setTo(new Scalar(1));
      Mat col3 = matrix.col(3);
      col3.setTo(new Scalar(3));
      //打印矩阵
      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
]