ใน OpenCV คลาส Mat แทนออบเจ็กต์เมทริกซ์ซึ่งใช้เก็บภาพ คุณสามารถประกาศออบเจ็กต์ Mat ด้วยตนเองได้:
โหลดไลบรารีเนทีฟของ OpenCV - ขณะเขียนโค้ด Java ด้วยไลบรารี OpenCV ขั้นตอนแรกคือโหลดไลบรารีเนทีฟของ OpenCV โดยใช้ loadLibrary()
สร้างอินสแตนซ์ของคลาส Mat - สร้างอินสแตนซ์ของคลาส Mat โดยใช้ฟังก์ชันใดๆ ที่กล่าวถึงในบทนี้ก่อนหน้านี้
เติมค่าเมทริกซ์โดยใช้เมธอด - คุณสามารถดึงแถว/คอลัมน์เฉพาะของเมทริกซ์ได้โดยส่งค่า index ให้เมธอด 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
]