作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

函数原型

cv::Rect boundingRect( InputArray array );

参数说明

输入:InputArray类型的array,输入灰度图像或二维点集。

输出:Rect类型的矩形信息,包括矩形尺寸和位置。

测试代码

#include <iostream>
#include <time.h>
#include <opencv2/opencv.hpp>using namespace std;
using namespace cv;int main()
{cv::Mat src = imread("test.png",0);cv::Mat result = src.clone();cv::Mat th1;// 最大类间差法,也称大津算法threshold(result, th1, 0, 255, THRESH_OTSU);// 反相th1 = 255 - th1;// 确定连通区轮廓std::vector<std::vector<cv::Point> > contours;  // 创建轮廓容器std::vector<cv::Vec4i>   hierarchy;cv::findContours(th1, contours, hierarchy, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_NONE, cv::Point());// 遍历轮廓显示矩形框for (int i = 0; i < contours.size(); ++i){cv::Rect rect = cv::boundingRect(cv::Mat(contours[i]));cv::rectangle(result, rect, Scalar(255), 1);}imshow("original", src);imshow("thresh", th1);imshow("result", result);waitKey(0);return 0;
}

测试效果

图1 灰度原图

图2 阈值图

图3 连通区矩形框效果图

这个函数得到的矩形框都是方正的,还有一个函数minAreaRect也可以得到最小包围矩形框,那个是带倾斜角度的,后面我会再写一篇文章介绍。

如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!

OpenCV-矩形边框cv::boundingRect相关推荐

  1. OpenCV 学习笔记03 boundingRect、minAreaRect、minEnclosingCircle、boxPoints、int0、circle、rectangle函数的用法...

    函数中的代码是部分代码,详细代码在最后 1 cv2.boundingRect 作用:矩形边框(boundingRect),用于计算图像一系列点的外部矩形边界. cv2.boundingRect(arr ...

  2. 【OpenCV3】旋转矩形(cv::RotateRect)的绘制

    在OpenCV3中的绘图详解中,我们详细地介绍了opencv3中所支持的各种几何形状的绘制,其中矩形的绘制接口为cv::rectangle(),但是这个接口只能用于绘制正常矩形(即cv::Rect定义 ...

  3. python打出由边框包围的_python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)...

    图像边框的实现 图像边框设计的主要函数 cv.copyMakeBorder()--实现边框填充 主要参数如下: 参数一:源图像--如:读取的img 参数二--参数五分别是:上下左右边的宽度--单位:像 ...

  4. OpenCV入门系列 —— cv::minEnclosingCircle 随机生成点坐标并计算最小包围圆

    OpenCV入门系列 -- cv::minEnclosingCircle 随机生成点坐标并计算最小包围圆 前言 程序说明 输出结果 代码示例 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3 ...

  5. 定制圆角带背景色的矩形边框

    Android系统本身提供的TextView组件并没有边框,我们可以为TextView设置一个9-patch格式的背景图来提供边框.AndroidSDK提供了一个Draw-9-patch工具,专门用于 ...

  6. Viso画流程图在文本边框、矩形边框线上添加文字、写文字

    Viso画流程图在文本边.框矩形边框线上添加文字.写文字 最终要实现的效果如下: 1.一开始画好如下图: 具体查看如下步骤: OK了!!

  7. css 矩形边框加粗

    css矩形边框加粗的方法 第一种 before after 第二种 通过背景图片 第三种 通过子元素定位实现 第四种 通过background 渐变 第一种 before after 长度可调,具体的 ...

  8. OpenCV入门系列 —— cv::dilate 图像膨胀

    OpenCV入门系列 -- cv::dilate 图像膨胀 前言 程序说明 输出结果 代码示例 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3D)在工业领域的应用和重要程度也同步激增(识别 ...

  9. OpenCV入门系列 —— cv::erode、cv::dilate 图像腐蚀和膨胀

    OpenCV入门系列 -- cv::erode.cv::dilate 图像腐蚀和膨胀 前言 程序说明 输出结果 代码示例 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3D)在工业领域的应用 ...

最新文章

  1. Linux服务器信息检测Shell脚本
  2. Coursera课程Python for everyone:Quiz: REST, JSON, and APIs
  3. centos7花里胡哨之终端美化
  4. kubernetes实战篇之创建密钥自动拉取私服镜像
  5. Spring-tx-TransactionAnnotationParser接口
  6. 简书留言频率限制机制
  7. 在使用Git提交代码的时候犯了个低级错误
  8. property自己实现
  9. structs 中过滤器问题
  10. Github风格头像生成器
  11. linux 实现监听热插拔事件
  12. 阿里云 Redis 报出You can't read against a non-read redis.解决方案
  13. 计算机网络ping作用是什么,ping是什么意思?ping测试网络的步骤【详解】
  14. 不得不服!java面试初试和复试的区别
  15. 公有继承,私有继承,保护继承的区别
  16. Windows补丁查找及安装
  17. html文字左右两边有居中的直线,css怎么实现文字居中两边横线效果
  18. 11月钓鱼网站:.COM域名超56% 新网数码占比37%
  19. JavaScript-制作日历
  20. oracle stat=30,使用Solaris上的filestat工具

热门文章

  1. Android开机自动运行APP——BroadcastReceiver
  2. 新生赛3 1003 字符串最小表示法题目
  3. centos最小化安装后部署中文输入法
  4. android thread线程通讯
  5. ubuntu 11.10 下network proxy 的设置问题
  6. 209. 长度最小的子数组
  7. 29muduo_net库源码分析(五)
  8. protoc 命令 java_用proto命令生成java文件
  9. isp串口下载 stm32_快速入门STM32单片机
  10. transactionscope 中的异步 处理 异常_PLC编程中的异常处理