当前位置: 首页 > article >正文

OpenCV绘图函数(15)图像上绘制矩形函数 rectangle()的使用

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

绘制一个简单的、粗的或填充的直立矩形。
这个函数 cv::rectangle 绘制一个矩形轮廓或一个填充的矩形,其两个相对的顶点分别是 pt1 和 pt2。

函数原型1

void cv::rectangle
(
	InputOutputArray 	img,
	Rect 	rec,
	const Scalar & 	color,
	int 	thickness = 1,
	int 	lineType = LINE_8,
	int 	shift = 0 
)		

参数1

  • 参数img 图像.
  • 参数pt1 矩形的一个顶点。
  • 参数pt2 与 pt1 相对的矩形的另一个顶点。
  • 参数color 矩形的颜色或亮度(灰度图像)。
  • 参数thickness 构成矩形的线条的厚度。负值,比如 FILLED,意味着函数需要绘制一个填充的矩形。
  • 参数lineType 线条的类型。参见 LineTypes。
  • 参数shift 点坐标中的小数位数。

函数原型2

这是一个重载成员函数,为了方便而提供。它与上述函数的不同之处仅在于它接受的参数。

使用 rec 参数作为绘制矩形的另一种规格说明:r.tl() 和 r.br()-Point(1,1) 是相对的角落。

void cv::rectangle
(
	InputOutputArray 	img,
	Rect 	rec,
	const Scalar & 	color,
	int 	thickness = 1,
	int 	lineType = LINE_8,
	int 	shift = 0 
)		

代码示例


#include <opencv2/opencv.hpp>
#include <iostream>

int main(int argc, char** argv)
{
    // 加载一个图像文件,如果未提供,则使用默认的图像
    cv::Mat image = cv::imread("/media/dingxin/data/study/OpenCV/sources/images/qiu.jpg");
    
    if (image.empty())
    {
        std::cerr << "Error: Image cannot be loaded!" << std::endl;
        return -1;
    }

    // 创建一个窗口来显示图像
    cv::namedWindow("Image with Rectangle", cv::WINDOW_AUTOSIZE);

    // 定义矩形的两个对角点
    cv::Point pt1(50, 50);  // 矩形左上角坐标
    cv::Point pt2(200, 200);  // 矩形右下角坐标

    // 定义线条的颜色(BGR)和厚度
    cv::Scalar color(0, 0, 255);  // 红色
    int thickness = 2;  // 线条厚度

    // 使用 cv::rectangle 绘制矩形
    cv::rectangle(image, pt1, pt2, color, thickness);

    // 显示带有矩形的图像
    cv::imshow("Image with Rectangle", image);
    cv::waitKey(0);  // 等待按键按下

    return 0;
}

运行结果

在这里插入图片描述


http://www.kler.cn/a/288234.html

相关文章:

  • 「AI Infra 软件开源不是一个选项,而是必然」丨云边端架构和 AI Infra专场回顾@RTE2024
  • 动态规划-背包问题——[模版]完全背包问题
  • sql在按照当前表查询返回
  • Vue3 -- 项目配置之stylelint【企业级项目配置保姆级教程3】
  • 两种鼠标hover切换对应图片方法对比
  • java基础入门学习09-迭代器
  • 【学习笔记】卫星通信NTN 3GPP标准化进展分析(二)- 3GPP Release16 内容
  • opencv计算机视觉识别图像处理c++项目实战python网课程视频教程
  • STM32开发资料
  • 探索 Spring Boot 的自动配置类:简化开发的利器
  • easyExcel的使用
  • 国外服务器单独ip多少钱
  • 【Day07】
  • Mybatis面试题(四)
  • x264 编码器 AArch64汇编系列:quant 量化相关汇编函数
  • m-bus电能表最大的优点是什么?
  • echarts graphChart关系图简单逻辑实现
  • linux-squid代理服务器
  • 微信小程序垃圾回收的前景方向
  • 09-02 周一 Ubuntu上使用docker-compose部署elasticsearch和kibana服务
  • k8s-pod 实战七 (PreStop 和 PostStart 详细分析)
  • .NET 一款具备签名用于绕过防护的工具
  • Git之2.35版本重要特性及用法实例(六十三)
  • 【前端面试】挖掘做过的nextJS项目4——全栈性案例
  • CNN在处理文本和图像时有什么共同点和不同点
  • Clobotics 计算机视觉场景存储实践:多云架构、 POSIX 全兼容、低运维的统一存储