opencv用于绘制矩形的函数
the christmas songOpenCV是一个开源计算机视觉库,可用于图像处理、计算机视觉和机器学习等领域。绘制矩形是OpenCV中的一个常用操作,下面我们就来介绍一下OpenCV中用于绘制矩形的函数。
在OpenCV中,绘制矩形的函数是cv::rectangle。cv::rectangle函数的声明如下:
void cv::rectangle(InputOutputArray img, Point pt1, Point pt2, const Scalar& color, int thickness = 1, int lineType = LINE_8, int shift = 0)
其中,参数img是要绘制矩形的图像,pt1和pt2是矩形的对角线端点,color是矩形的颜色,thickness是矩形边框的粗细,lineType是线条的类型,shift是坐标点的小数位数。
下面我们来看一个简单的例子,演示如何使用cv::rectangle函数绘制矩形。
#include <opencv2/opencv.hpp>
using namespace cv;
int main()
mua是什么意思{
Mat img = imread("lena.jpg");
thead Point pt1(100, 100);
Point pt2(200, 200);
Scalar color(0, 0, 255);
int thickness = 2;
int lineType = LINE_8;
int shift = 0;
rectangle(img, pt1, pt2, color, thickness, lineType, shift);
imshow("image", img);
waitKey(0);
return 0;
}
在上面的例子中,我们首先读入了一张lena.jpg的图片,然后定义了矩形的两个对角线端点pt1和pt2,颜色color为红色,边框粗细thickness为2,线条类型lineType为8邻接线条,小数位数shift为0。最后我们使用rectangle函数在图片上绘制了一个矩形,并显示了绘制后的图片。
除了绘制矩形,cv::rectangle函数还可以用于绘制圆角矩形、带圆弧的矩形和带旋转角度的矩形。下面我们分别来介绍一下这几种特殊的矩形绘制方式。
1. 绘制圆角矩形
专四作文模板要绘制圆角矩形,我们需要在cv::rectangle函数中指定圆角矩形的圆角半径。圆角半径的指定方式是,在pt1和pt2之间画一个内切矩形,然后指定矩形四个角的半径。具体实现如下:
#include <opencv2/opencv.hpp>
英语ppt
using namespace cv;
int main()
如何学日语{
Mat img = imread("lena.jpg");
Point pt1(100, 100);
Point pt2(200, 200);
fallen
Scalar color(0, 0, 255);
int thickness = 2;
int lineType = LINE_8;
int shift = 0;
int radius = 30;
rectangle(img, pt1, pt2, color, thickness, lineType, shift);
rectangle(img, pt1 + Point(radius, radius), pt2 - Point(radius, radius), color, -1, lineType, shift);
andis Rect rect(pt1 + Point(radius, 0), pt2 - Point(radius, 0));
ellip(img(rect), Point(rect.width / 2, rect.height / 2), Size(radius, radius), 180, 0, 90, color, -1, lineType);
rect.x = pt1.x;
rect.width = 2 * radius;
ellip(img(rect), Point(radius, radius), Size(radius, radius), 180, 90, 180, color, -1, lineType);
rect.x = pt2.x - 2 * radius;
ellip(img(rect), Point(rect.width - radius, radius), Size(radius, radius), 0, 0, 90, color, -1, lineType);
rect.x = pt1.x;
rect.y = pt2.y - 2 * radius;
ellip(img(rect), Point(radius, rect.height - radius), Size(radius, radius), 90, 0, 90, color, -1, lineType);yingyihan
rect.x = pt2.x - 2 * radius;
信件英文 ellip(img(rect), Point(rect.width - radius, rect.height - radius), Size(radius, radius), 0, 90, 180, color, -1, lineType);
imshow("image", img);
waitKey(0);
return 0;
}
在上面的例子中,我们首先绘制了内切矩形,然后绘制了四个圆角。绘制圆角的方法是:在内切矩形的四个角上绘制四个圆弧,然后填充圆弧内部的区域。其中,第一个ellip函数绘制左上角的圆弧,第二个ellip函数绘制右上角的圆弧,第三个ellip函数绘制左下角的圆弧,第四个ellip函数绘制右下角的圆弧。
2. 绘制带圆弧的矩形
要绘制带圆弧的矩形,我们需要在cv::rectangle函数中指定矩形的弧度。弧度的指定方式是,在pt1和pt2之间画一个内切矩形,然后指定矩形的四个边的弧度。具体实现如下: