电脑基础 · 2023年3月31日

OpenCV画框函数rectangle的使用

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:OpenCV画框函数rectangle的使用

运行结果:

OpenCV画框函数rectangle的使用