Opencv中求点集的最小外结矩使用方法minAreaRect,求点集的最小外接圆使用方法minEnclosingCircle。

minAreaRect方法原型:

RotatedRect minAreaRect( InputArray points );

输入参数points是所要求最小外结矩的点集数组或向量;

minEnclosingCircle方法原型:

void minEnclosingCircle( InputArray points,

CV_OUT Point2f& center, CV_OUT float& radius );

第一个参数points是所要求最小外结圆的点集数组或向量;

第二个参数Point2f类型的center是求得的最小外接圆的中心坐标;

第三个参数float类型的radius是求得的最小外接圆的半径;

使用minAreaRect和minEnclosingCircle方法分别求最小外接矩和圆:

#include "core/core.hpp"

#include "highgui/highgui.hpp"

#include "imgproc/imgproc.hpp"

#include "iostream"

using namespace std;

using namespace cv;

int main(int argc,char *argv[])

{

Mat imageSource=imread(argv[1],0);

imshow("Source Image",imageSource);

Mat image;

blur(imageSource,image,Size(3,3));

threshold(image,image,0,255,CV_THRESH_OTSU);

imshow("Threshold Image",image);

//寻找最外层轮廓

vector> contours;

vector hierarchy;

findContours(image,contours,hierarchy,RETR_EXTERNAL,CHAIN_APPROX_NONE,Point());

Mat imageContours=Mat::zeros(image.size(),CV_8UC1); //最小外接矩形画布

Mat imageContours1=Mat::zeros(image.size(),CV_8UC1); //最小外结圆画布

for(int i=0;i

{

//绘制轮廓

drawContours(imageContours,contours,i,Scalar(255),1,8,hierarchy);

drawContours(imageContours1,contours,i,Scalar(255),1,8,hierarchy);

//绘制轮廓的最小外结矩形

RotatedRect rect=minAreaRect(contours[i]);

Point2f P[4];

rect.points(P);

for(int j=0;j<=3;j++)

{

line(imageContours,P[j],P[(j+1)%4],Scalar(255),2);

}

//绘制轮廓的最小外结圆

Point2f center; float radius;

minEnclosingCircle(contours[i],center,radius);

circle(imageContours1,center,radius,Scalar(255),2);

}

imshow("MinAreaRect",imageContours);

imshow("MinAreaCircle",imageContours1);

waitKey(0);

return 0;

作图步骤:

1. 对原始图像均值滤波并二值化;

2. 求图像的最外层轮廓;

3. 使用minAreaRect方法求轮廓的最小外接矩形,转化求得矩形的四个顶点坐标,并绘制矩形;

4. 使用minEnclosingCircle方法求轮廓的最小外接圆,获取圆心和半径信息,并绘制圆;

原始图像:

最小外接矩:

最小外接圆:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

python opencv最小外接矩形中心点_Opencv绘制最小外接矩形、最小外接圆相关推荐

  1. python opencv pdf脚本之家_OpenCV 3和Qt5计算机视觉应用开发 PDF 影印含源码版

    给大家带来的一篇关于计算机视觉相关的电子书资源,介绍了关于OpenCV3.Qt5.计算机视觉.应用开发方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小117.2 MB,阿敏·艾哈迈迪·泰 ...

  2. Python+OpenCV 图像处理系列(3)—— 画线、矩形、画圆、画椭圆、画多边形

    OpenCV 中的绘图函数 使用 OpenCV 绘制不同几何图形,其中包括的函数有 cv2.line() cv2.circle() cv2.rectangle() cv2.ellipse() cv2. ...

  3. 【Python+OpenCV】基于Harris角点的边缘提取以及矩形四角点检测

    目录 开始之前必须要说的一些事 一.参考文章 二.实验目标 三.局限性声明 开始说正事了,所以标题一定要比第一个一级标题长 一.思路 (一)基于Harris角点检测[本文思路] (二)基于Hough变 ...

  4. python+OpenCv笔记(二):绘制几何图形

    一.绘制直线 cv.line(img,pt1,pt2,color,thickness,lineType) 参数: img:要绘制的图像 pt1 pt2:绘制的起点与终点 color:颜色 thickn ...

  5. python opencv显示图片 窗口调节_opencv python全屏显示、置窗口大小和位置

    opencv python全屏显示.设置窗口大小和位置 文章目录: 一.全屏显示图片或视频 二.设置窗口的大小和位置 1.设置窗口的大小 2.设置窗口的位置 一.全屏显示图片或视频 有时我们需要显示图 ...

  6. 使用Python+OpenCV+dlib为人脸生成口罩

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达推荐阅读 42个pycharm使用技巧,瞬间从黑铁变王者Google ...

  7. 面部表情识别java_使用Python+OpenCV+dlib为人脸生成口罩

    来源:深度学习与计算机视觉 本文约4800字,建议阅读6分钟本文试图用OpenCV和dlib库来实现这个过程,在这里我们综合生成5种类型的口罩来绘制人脸图像. 本文使用OpenCV dlib库生成口罩 ...

  8. python opencv最小外接矩形_Opencv绘制最小外接矩形、最小外接圆

    Opencv中求点集的最小外结矩使用方法minAreaRect,求点集的最小外接圆使用方法minEnclosingCircle. minAreaRect方法原型: RotatedRect minAre ...

  9. python+opencv获取最小外接矩形

    python+opencv获取最小外接矩形 环境 代码 效果 环境 python版本:3.8 opencv版本:4.3.0.36 代码 from PIL import Image from pylab ...

最新文章

  1. 加速100倍,性能媲美SOTA,浙大知识蒸馏新方法FastDFKD
  2. iconv 文件编码转换
  3. UVa1062 - Containers贪心算法
  4. Python-OpenCV 处理视频(三): 标记运动轨迹
  5. 看《超级演说家》有感
  6. 210224阶段三信号量、互斥锁
  7. QT每日一练day27:绘制不规则窗体
  8. [工具类]DataTable与泛型集合List互转
  9. 微软删除最大的公开人脸识别数据集,只因员工离职?!
  10. CAD转GIS工具软件下载
  11. 使用jsBridge实现H5与原生App交互
  12. NI CompactRIO、labview在车载数据采集中的应用
  13. WMS仓库管理系统---(12)货位库存管理
  14. Linux 动、静态库原理深剖
  15. iPhone全部设备分辨率速查
  16. 又修改了winxp_blue皮肤的一些字体和颜色的小细节
  17. 2023计算机毕业设计SSM最新选题之java亚健康人群健康管理系统c4cyz
  18. 计算机散热程序,电脑的散热方法_百度经验
  19. dota攻略(dota全部英雄装备合成和英雄打法)
  20. 两年经验斩获蚂蚁/头条/PingCAP Offer,牛逼了

热门文章

  1. linux中sed或awk,Linux中sed和awk命令比较实例
  2. linux 转码软件,分享|Linux 桌面中 4 个开源媒体转换工具
  3. dart调用python_Dart - Isolate 并发
  4. enum python_python 枚举Enum
  5. python调研报告总结体会_调研报告心得体会
  6. android自动化测试录制,(二)屏幕录制在android自动化测试中应用2015.06.29
  7. wamp xampp mysql端口冲突,xampp安装后apache 80端口被占用的解决方法
  8. 预充电电路工作原理_变频冰箱开关电源电路工作原理及检修思路
  9. 计算机硬件数据处理过程,统计数据处理
  10. html5输入框增加语音,为任意输入框添加语音输入功能