cv::Matx ساختاریه برای نگهداری ماتریس هایی که کوچبک هستن و سایزشون زمان کامپایله مشخصه . و چون از آرایه برای ساختشون استفاده شده از Mat سریعتر هستن .
بیشتر برای ذخیره سازی kernel ازشون استفاده می کنن .
برای ساخت :
Matx<float, 3, 3> mat;
Matx<double, 1, 3> mat;
از typedef هایی هم که هست میشه استفاده کرد cv::Matx{1,2,…}{1,2,…}{f,d
یعنی مثلا
Matx33f
معادل کد زیره
Matx<float,3,3>
cv::Vec هم مثل Matx برای ساختن وکتوری که سایزش زمان کامپایل مشخصه استفاده میشه vector هم همون طور که میدونید ماتریسی هست که فقط یک ستون داره .
برای ساخت Vec هم میشه از typedef هایی که پیش فرض وجود داره استفاده کرد cv::Vec{2,3,4,6}{b,s,w,i,f,d},
مثلا :
Vec3i v; //Vec<int, 3> v;
Vec4b v; // Vec<uchar, 4> v;
cv::Mat ساختاریه برای ذخیره ماتریس های بزرگ با سایز نامشخص .