เท่าที่อ่านในข้อมูล OpenCV มีประเภทข้อมูลอยู่หลักอยู่ไม่เยอะ จริงๆ จะข้ามไปก็ได้เพราะน่าจะเดาได้กัน
เป็นส่วนใหญ่อยู่แล้ว เลยมาสรุปกันคร่าวๆ ดังนี้
- CvPoint, CvPoint2D32f, CvPoint3D32f ใช้ระบุจุดในระนาบ สองมิติ, สามมิติ
- CvSize ระบุขนาดของรูป
- CvRect ระบุพื้นที่สี่เหลี่ยม
- CvScalar
สำหรับข้อมูลที่น่าจะใช้บ่อยจริงๆ ใน OpenCV ก็ได้แก่
- CvArr แทน array
- CvMat แทน matrix
- IplImage แทน image
สามตัวนี้จริงๆ คงจะเหมือนจะ inherit กัน โดย IplImage มาจาก CvMat, CvMat มากจาก CvArr (แต่ว่า C ไม่มี inherit นะ) การเข้าใจถึงความสัมพันธ์ของตัวแปรสามตัวนี้จะสามารถทำให้เข้าใจวิธีการส่งผ่านพารามิเตอร์ในหลายๆ ฟังก์ชันได้ เช่นการส่งผ่านพารามิเตอร์ที่เป็น CvArr สามารถรับข้อมูล CvMat หรือ IplImage ได้ (จริงๆ แล้ว CvArr ก็คือ void นั่นเอง ดังนั้นส่งอะไรมาก็ได้) ในที่นี้ใข้แทน abstract class ของ array ซึ่งใน C ไม่มี class เดี๋ยวมาว่ากันต่อเรื่อง CvMat กับ IplImage
กำลังใช้ตัวนี้ทำโปรเจคอยู่เรยค้ะ อ่านแล้วไพด้ความรู้มาช่วยเยอะเรย อัพบ่อยๆน้ะค้ะ จะติดตาม
ReplyDeleteคอมพิวเตอร์วิชั่นเมืองไทยจะพัฒนามากขึ้นอย่างมากถ้ามีคนอย่างคุณอยู่ในสังคม
ReplyDeleteขอบคุณครับ มีประโยชน์มากเลยครับ
ReplyDelete