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ằngsetTo().
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 ]