opencv之几种常用的类型
cv::Point类
表示二维点,三维点
cv::Point p(10, 8);
// p.x = 10; p.y = 8;
// cv::Point == cv::Point2i
cv::Point2f p_2f(1.0, 2.0);
cv::Point3f p_3f(1.0, 2.0, 3.0);
std::vector<cv::Point2f> v_p(10);
cv::Scalar类
cv::Scalar可以用于表示初始化的值,也可以用于表示颜色。
cv::Mat image(100, 200, cv::8UC3, cv::Scalar(0, 0, 0));
cv::Scalar color(a, b, c); // red, green, blue
cv::Size类
表示尺寸。
int width = image.width;
int height = image.height;
cv::Size size(width, height);
cv::Rect类
表示矩形。
cv::Rect rect(x, y, width, height); // 左上角点的坐标,矩形的宽和高
cv::Rect rect = rect1 & rect2; //交集
cv::Rect rect = rect1 | rect2; //并集
cv::Rect rect_shift = rect + point; //平移
cv::Rect rect_scale = rect + size; //缩放
rect.size();
rect.area();
rect.contains(point); //判断点是否在矩形内
rect.inside(rect1); //判断rect是否在rect1内