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

อธิบายคลาส Mat ในไลบรารี Java OpenCV


ใน 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 และตั้งค่าองค์ประกอบอาร์เรย์ให้เป็นค่าที่ระบุ