Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีประกาศ OpenCV Mat object โดยใช้ Java


ใน 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
]