#include<opencv2/opencv.hpp>
#include<iostream> using namespace std;
using namespace cv; int main()
{
Mat image(, , CV_8UC3); //创建一个600*600 8位无符号字符型的3通道图像
RNG& rng = theRNG(); ////用其引用来接收theRNG函数返回的随机数生成器 while ()
{
char key; // 键值
int count = rng.uniform(,);//随机生成点的数量3-103
vector<Point>points; //二维点集存在这个向量里面 for (int i = ; i < count; i++) //点的坐标
{
Point point;
point.x = rng.uniform(image.cols / , image.cols * / );
point.y = rng.uniform(image.rows / , image.cols * / );
points.push_back(point); //生成的点放进points这个向量里面
}
//寻找最小面积的包围矩形
RotatedRect box = minAreaRect(Mat(points));
Point2f vertex[];
box.points(vertex); image = Scalar::all();//初始化图像为全黑色
//随机化点的颜色 并画出
for (int i = ; i < count; i++)
{
circle(image, points[i], , Scalar(rng.uniform(, ), rng.uniform(, ), rng.uniform(, )), FILLED, LINE_AA);
}
for (int i = ; i < ; i++)
{
line(image, vertex[i],vertex[(i+)%], Scalar(, , ), , LINE_AA);
}
//显示效果图
imshow("矩形包围示例", image);
//按下ESC退出程序
key = (char)waitKey();
if (key == )
break;
} return ;
}

包围轮廓的矩形边界 opencv的更多相关文章

  1. OpenCV探索之路(十一):轮廓查找和多边形包围轮廓

    Canny一类的边缘检测算法可以根据像素之间的差异,检测出轮廓边界的像素,但它没有将轮廓作为一个整体.所以要将轮廓提起出来,就必须将这些边缘像素组装成轮廓. OpenCV中有一个很强大的函数,它可以从 ...

  2. opencv轮廓外接矩形

    1.寻找轮廓 api void cv::findContours( InputOutputArray image, OutputArrayOfArrays contours, OutputArray ...

  3. opencv画出轮廓外接矩形

    Mat cannyImage; /// Detect edges using canny Canny(src, cannyImage, , , ); vector<vector<Point ...

  4. OpenCV——使用多边形包围轮廓

  5. hdu 5251 包围点集最小矩形 ***

    题意:小度熊有一个桌面,小度熊剪了很多矩形放在桌面上,小度熊想知道能把这些矩形包围起来的面积最小的矩形的面积是多少. 求个凸包,矩形的边一定在凸包上,枚举边,求最大值,即为所求,多年不拍几何,直接套了 ...

  6. 寻找最小矩形边框--OpenCv

    好久没有写博客了 今天写一下比较常用的寻找矩形边框 ////////////////////////////寻找最矩形边框/////////////////////////////////////// ...

  7. opencv 6 图像轮廓与图像分割修复 2 使用多边形将轮廓包围

    使用多边形将轮廓包围 返回外部矩阵边界(boundingRect()函数) 寻找最小包围矩形(minAreaRect()函数) 寻找最小包围圆形(minEnclosingCircle函数) 用椭圆拟合 ...

  8. OpenCV编程入门目录

    第一部分 快速上手OpenCV 第1 章 邂逅OpenCV 图像处理.计算机视觉与OpenCV OpenCV 概述 起源及发展 应用概述 .2OpenCV 基本架构分析 .3OpenCV3 带来了什么 ...

  9. 【浅墨著作】《OpenCV3编程入门》内容简单介绍&amp;勘误&amp;配套源码下载

    经过近一年的沉淀和总结,<OpenCV3编程入门>一书最终和大家见面了. 近期有为数不少的小伙伴们发邮件给浅墨建议最好在博客里面贴出这本书的文件夹,方便大家更好的了解这本书的内容.事实上近 ...

随机推荐

  1. C++ Knowledge series Layering

    Programming has its own methodology. Layering is everywhere in real life,this why the pruchase and s ...

  2. RAL调用

    [RPC的定义].RPC的全称为 Remote Procedure Call(远程过程调用).远程过程调用是一个计算机通信协议.该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额 ...

  3. JavaScript平台Platypi悄然登场

    几个月前,一个新的JavaScript平台Platypi悄然诞生.它为开发者提供的不仅仅是一套标准的MVC框架而已,由于它是基于TypeScript构建的,因此对开发者而言在熟悉之中透露出与众不同的感 ...

  4. zabbix web端有数据但是没有图形

    zabbix web端有数据但是没有图形 我遇到的情况是,在配置 zabbix 网站目录时,修改了zabbix 目录的所有者和所属组,以使得 zabbix/conf/zabbix.conf.php 文 ...

  5. [RDLC]心得整理(一)

    2014年在做项目的时候, 过用过RDLC, 之后便在没有使用过了. 最近又有项目使用rdlc, 感觉有些陌生,然后重新阅读了以前的笔记,想做一下整理. 常见问题: 1. 为什么rdlc报表出来的pd ...

  6. Description Resource Path Location Type Java compiler level does not match the version of the installed Java project facet Unknown Faceted Project Problem (Java Version Mismatch)

    project 编译问题,需要三处的jdk版本要保持一致,才能编译通过. 1.在项目上右键properties->project Facets->修改右侧的version  保持一致 2. ...

  7. C#或Net连接Oracle操作提示 Oracle 客户端 version 8.1.7 或更高版本报错

    异常问题 远程连接ORCALE 服务器,而本地未安装任何ORCALE 相关客户端及ODAC .using System.Data.OracleClient;当我们用程序操作Oracle库的时候,OPE ...

  8. vos套餐设置

    为实现对客户不同时段按不同费率计算,可以在vos里设置套餐, 具体案例: 1. 2.时段费率 套餐里没包含的时间段是不能打电话的 即:周一到周五       21:30—24:00    00:00- ...

  9. 微信的 rpx

    微信小程序新单位rpx与自适应布局   rpx是微信小程序新推出的一个单位,按官方的定义,rpx可以根据屏幕宽度进行自适应,在rpx出现之前,web页面的自适应布局已经有了多种解决方案,为什么微信还捣 ...

  10. mysql用一个表更新另一个表

    写法: UPDATE Document, ObservationRequestSET Document.CreateOrganizationName = ObservationRequest.Orga ...