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:在这里插入图片描述

运行结果:

在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐