opencv之几种常用的类型

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内

猜你喜欢

转载自www.cnblogs.com/ChrisCoder/p/10260343.html