Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách khai báo đối tượng Mat trong OpenCV Java

Trong OpenCV, lớp Mat đại diện cho ma trận dùng lưu trữ ảnh. Bạn có thể khai báo thủ công:

  • Tải thư viện native – gọi System.loadLibrary(Core.NATIVE_LIBRARY_NAME).
  • Khởi tạo Mat – dùng các constructor.
  • Điền giá trị – lấy hàng/cột bằng row()/col(), gán giá trị bằng setTo().

Ví dụ

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);
        // Tạo ma trận 5x5, loại CV_8UC1 (1 kênh 8-bit), giá trị mặc định 0
        Mat matrix = new Mat(5, 5, CvType.CV_8UC1, new Scalar(0));
        // Gán hàng 0 = 1
        Mat row0 = matrix.row(0);
        row0.setTo(new Scalar(1));
        // Gán cột 3 = 3
        Mat col3 = matrix.col(3);
        col3.setTo(new Scalar(3));
        // In ma trận
        System.out.println("Matrix data:\n" + matrix.dump());
    }
}

Kết quả

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 ]