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

OPenCV结构分析与形状描述符(3)计算一个点集的最小外接矩形的函数boundingRect()的使用

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

算法描述

计算一个点集的最小右上边界矩形或灰度图像中的非零像素。
该函数计算并返回指定点集或灰度图像中非零像素的最小右上边界矩形。

在OpenCV中,boundingRect函数用于找到一个点集的最小外接矩形。这个矩形是最小的能够完全包含给定点集的轴对齐矩形。该函数常用于图像处理和计算机视觉应用中,例如物体检测和识别中的边界框计算。

函数原型


Rect cv::boundingRect	
(
	InputArray 	array
)	

参数

  • 参数array 输入的灰度图像或二维点集,存储在 std::vector 或 Mat 中。

代码示例


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

int main()
{
    // 创建一些点
    std::vector< cv::Point > points = { cv::Point( 10, 10 ), cv::Point( 20, 20 ), cv::Point( 30, 30 ), cv::Point( 40, 40 ) };

    // 获取这些点的最小外接矩形
    cv::Rect boundRect = cv::boundingRect( points );

    // 打印出矩形的信息
    std::cout << "Bounding Rectangle: (" << boundRect.x << ", " << boundRect.y << ", " << boundRect.width << ", " << boundRect.height << ")" << std::endl;

    // 如果你想在图像上绘制这个矩形,你可以这样做
    cv::Mat img( 100, 100, CV_8UC3, cv::Scalar( 255, 255, 255 ) );  // 创建一个空白图像
    cv::rectangle( img, boundRect, cv::Scalar( 0, 0, 255 ), 2 );    // 绘制红色矩形

    // 显示图像
    cv::imshow( "Bounding Rectangle", img );
    cv::waitKey( 0 );

    return 0;
}

运行结果

在这里插入图片描述


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

相关文章:

  • SpringBoot中实现拦截器和过滤器
  • ELK 使用教程采集系统日志 Elasticsearch、Logstash、Kibana
  • 如何使用SparkSql
  • ESP32-C3环境搭建
  • 部署项目添加工程名的步骤
  • 登录的几种方式
  • react购物车Redux
  • 交叉编译概念
  • 秒杀商品实时热点发现及如何进行测试
  • sqlite3 db.configure方法详解:设置项与默认值
  • [STM32]从零开始的STM32标准库环境搭建(小白向)
  • Java项目服务器CPU飙升问题排查
  • 1998-2023年上市公司金融/信贷/资本资源错配程度数据(含原始数据+计算代码+结果)
  • 每日OJ_牛客_Emacs计算器(逆波兰表达式)
  • 图论(1)
  • Day11_0.1基础学习MATLAB学习小技巧总结(11)——程序流程控制2
  • 50ETF期权和股指期权有什么区别?ETF期权应该怎么做?
  • 2018CCPC网络赛 C - Dream
  • windows上的MySql的安装与配置
  • C语言:刷题笔记
  • 鸿蒙界面开发——组件(3):视频组件video
  • 能源交通行业ITSM案例分析报告
  • python学习14:如何读取yaml文件?
  • 跟我一起写 SIPp XML scenario file
  • 【区块链 + 人才服务】教育区域初中综合素质评价系统 | FISCO BCOS应用案例
  • 使用python对股票市场进行数据挖掘的书籍资料有哪些