ใน OpenCV ภาพถูกเก็บไว้โดยใช้ออบเจ็กต์ Mat มันคืออาร์เรย์ n-มิติ และใช้เก็บข้อมูลภาพของภาพเกรสเกลหรือสี ปริมาตรวอกเซล (voxel volumes) สนามเวกเตอร์ (vector fields) จุดเมฆ (point clouds) เทนเซอร์ (tensors) สถิติ (histograms) ฯลฯ
หากคุณลองอ่านภาพโดยใช้ไลบรารี OpenCV มันจะถูกอ่านเข้าไปในออบเจ็กต์ Mat
Mat matrix = Imgcodecs.imread(filePath);
คุณสามารถสร้างอินสแตนซ์ของคลาสนี้ด้วยตนเองได้โดยใช้คอนสตรัคเตอร์ใดคอนสตรัคเตอร์หนึ่งต่อไปนี้:
Mat() - คอนสตรัคเตอร์ไม่มีอาร์กิวเมนต์ ใช้สร้างเมทริกซ์ว่างและส่งให้เมธอด OpenCV อื่นๆ
Mat(int rows, int cols, int type) - คอนสตรัคเตอร์นี้รับพารามิเตอร์ 3 ตัวแบบจำนวนเต็ม แทนจำนวนแถวและคอลัมน์ในอาร์เรย์ 2D และประเภทของอาร์เรย์ (ที่ใช้เก็บข้อมูล)
Mat(int rows, int cols, int type, Scalar s) - รวมพารามิเตอร์ของตัวก่อนหน้า และเพิ่มรับออบเจ็กต์ของคลาส Scalar เป็นพารามิเตอร์
Mat(Size size, int type) - คอนสตรัคเตอร์นี้รับพารามิเตอร์ 2 ตัว ออบเจ็กต์แทนขนาดของเมทริกซ์ และจำนวนเต็มแทนประเภทของอาร์เรย์ที่ใช้เก็บข้อมูล
Mat(Size size, int type, Scalar s) - รวมพารามิเตอร์ของตัวก่อนหน้า และเพิ่มรับออบเจ็กต์ของคลาส Scalar เป็นพารามิเตอร์
เมธอดสำคัญของคลาสนี้มีดังนี้:
Mat col(int x) - เมธอดนี้รับพารามิเตอร์จำนวนเต็มแทนดัชนีของคอลัมน์ และดึงคืนคอลัมน์นั้น
Mat row(int y) - เมธอดนี้รับพารามิเตอร์จำนวนเต็มแทนดัชนีของแถว และดึงคืนแถวนั้น
int cols() - เมธอดนี้คืนค่าจำนวนคอลัมน์ในเมทริกซ์
int rows() - เมธอดนี้คืนค่าจำนวนแถวในเมทริกซ์
Mat setTo(Mat value) - เมธอดนี้รับออบเจ็กต์ประเภท Mat และตั้งค่าองค์ประกอบของอาร์เรย์เป็นค่าที่ระบุ
Mat setTo(Scalar s) - เมธอดนี้รับออบเจ็กต์ประเภท Scalar และตั้งค่าองค์ประกอบของอาร์เรย์เป็นค่าที่ระบุ