ใน OpenCV รูปภาพจะถูกเก็บไว้ในวัตถุโดยใช้ Mat มันไม่มีอะไรเลยนอกจากอาร์เรย์ n มิติ และใช้เพื่อเก็บข้อมูลภาพของระดับสีเทาหรือภาพสี วอกเซลวอกเซล สนามเวกเตอร์ เมฆจุด เทนเซอร์ ฮิสโตแกรม ฯลฯ
หากคุณพยายามอ่านรูปภาพโดยใช้ไลบรารี OpenCV ภาพนั้นจะถูกอ่านไปยังวัตถุ Mat
Mat matrix = Imgcodecs.imread(filePath);
คุณสามารถยกตัวอย่างคลาสนี้ด้วยตนเองโดยใช้หนึ่งในคอนสตรัคเตอร์ต่อไปนี้ -
-
แมท() − คอนสตรัคเตอร์ที่ไม่มีอาร์ก ใช้เพื่อสร้างเมทริกซ์ว่างและส่งผ่านไปยังเมธอด OpenCV อื่นๆ
-
Mat(แถว int, cols int, ประเภท int) − ตัวสร้างนี้ยอมรับพารามิเตอร์สามตัวของประเภทจำนวนเต็มซึ่งแสดงถึงจำนวนแถวและคอลัมน์ในอาร์เรย์ 2 มิติและประเภทของอาร์เรย์ (ที่จะใช้เก็บข้อมูล)
-
Mat(แถว int, cols int, ประเภท int, Scalar s) − เมื่อรวมพารามิเตอร์ของอันที่แล้ว คอนสตรัคเตอร์นี้ยังยอมรับอ็อบเจกต์ของคลาส Scalar เป็นพารามิเตอร์เพิ่มเติมด้วย
-
เสื่อ(ขนาด, ชนิด int) − ตัวสร้างนี้ยอมรับพารามิเตอร์สองตัว ได้แก่ วัตถุที่แสดงขนาดของเมทริกซ์และจำนวนเต็มแสดงประเภทของอาร์เรย์ที่ใช้เก็บข้อมูล
-
Mat(ขนาด, ชนิด int, สเกลาร์) − เมื่อรวมพารามิเตอร์ของอันที่แล้ว คอนสตรัคเตอร์นี้ยังยอมรับอ็อบเจกต์ของคลาส Scalar เป็นพารามิเตอร์เพิ่มเติมด้วย
ต่อไปนี้เป็นวิธีการที่โดดเด่นของคลาสนี้ -
-
Mat col(int x) - เมธอดนี้ยอมรับพารามิเตอร์จำนวนเต็มที่แสดงดัชนีของคอลัมน์และดึงข้อมูลและส่งคืนคอลัมน์นั้น
-
แถวเสื่อ(int y) - เมธอดนี้ยอมรับพารามิเตอร์จำนวนเต็มที่แสดงดัชนีของแถวและดึงข้อมูลและส่งคืนแถวนั้น
-
int cols() − วิธีนี้จะคืนค่าจำนวนคอลัมน์ในเมทริกซ์
-
แถว int() − วิธีนี้จะคืนค่าจำนวนแถวในเมทริกซ์
-
Mat setTo(ค่า Mat) − วิธีนี้จะรับวัตถุประเภท Mat และตั้งค่าองค์ประกอบอาร์เรย์ให้เป็นค่าที่ระบุ
-
Mat setTo(สเกลาร์) − วิธีนี้จะยอมรับวัตถุประเภท Scalar และตั้งค่าองค์ประกอบอาร์เรย์ให้เป็นค่าที่ระบุ