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 #include #include 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 #include #include 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:

运行结果: