OPenCV版本:4.4
IDE:VS2019
功能描述
绘制一个简单的、粗的或填充边界的矩形。
函数cv::rectangle绘制一个矩形轮廓或一个填充矩形,其两个相对的角是pt1和pt2。
函数原型1
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 对应pt1的矩形的顶点。
- @参数color 矩形颜色或亮度(灰度图像)。
- @参数thickness 构成矩形的线条的厚度。负值,比如FILLED,意味着函数必须绘制一个填充矩形。
- @参数lineType 线的类型. 参见 LineTypes
- @参数shift 点坐标中的小数位数
示例代码
#include <iostream>
#include <opencv2/opencv.hpp>
#include <vector>
int main()
{
cv::Mat image = cv::imread("d:\\opencvtest\\images\\juice.png");
cv::rectangle(image, cv::Point(100, 150), cv::Point(250, 300), cv::Scalar(0, 0, 255),4);
cv::imshow("rectangle", image);
cv::waitKey(0);
return 0;
}
函数原型2
void cv::rectangle ( InputOutputArray img,
Rect rec,
const Scalar & color,
int thickness = 1,
int lineType = LINE_8,
int shift = 0
)
参数描述
- @参数 img 输入图像。
- @参数 rec 绘制矩形的规格。
- @参数color 矩形颜色或亮度(灰度图像)。
- @参数thickness 构成矩形的线条的厚度。负值,比如FILLED,意味着函数必须绘制一个填充矩形。
- @参数lineType 线的类型. 参见 LineTypes
- @参数shift 点坐标中的小数位数
示例代码
#include <iostream>
#include <opencv2/opencv.hpp>
#include <vector>
int main()
{
cv::Mat image = cv::imread("d:\\opencvtest\\images\\juice.png");
cv::Rect rect;
rect.x = 100;
rect.y = 150;
rect.width = 150;
rect.height = 150;
cv::rectangle(image, rect, cv::Scalar(0, 0, 255),4);
cv::imshow("rectangle", image);
cv::waitKey(0);
return 0;
}
原图1: