#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. Redis数据类型(字符串)

    Redis存放的字符串为二进制是安全的.字符串长度支持到512M. incr 递增数字INCR key 当存储的字符串是整数时,redis提供了一个实用的命令INCR,其作用是让当前键值递增,并返回递 ...

  2. 从零开始的全栈工程师——js篇2.20(事件对象 冒泡与捕获)

    一.复习 面向对象 1)单例模式 2)工厂模式 3)构造函数 ①类js天生自带的类 基类object function array number math boolean date regexp st ...

  3. form提交

    方法一:利用form的onsubmit()函数(经常使用) <script type="text/javascript"> function validateForm( ...

  4. Active Sync与IIS7 Classic&Integrated模式,Exchange 2007&2010的关系

    上周开始一项工作,起因是因为QA同事发现我们开发的EAS hook不能在Exchange 2007 server上工作,而在Exchange 2010上可以正常工作. 环境对比如下: 1. Windo ...

  5. u-boot分析(八)----串口初始化

    u-boot分析(八) 上篇博文我们按照210的启动流程,分析到了内存初始化,今天我们继续按照u-boot的启动流程对串口的初始化进行分析. 今天我们会用到的文档: 1.        2440芯片手 ...

  6. 如何找到Android app启动activity和页面元素信息

    在实施app自动化的时候,我们需要知道app 的启动activity和页面元素信息,以此启动app和定位页面元素,那么如何在没有源码的情况下找打他们呢?当然是有好的工具啦,有Android sdk自带 ...

  7. python3绘图示例1(基于matplotlib)

    #!/usr/bin/env python# -*- coding:utf-8 -*- import numpy as npimport matplotlib.pyplot as pltimport ...

  8. 关于 no device found for connection ‘ System eth0′问题

    在Vmware上面安装CentOS,开机后,使用:service network restart时,会提示一下错误: Shutting down loopback interface:         ...

  9. Linux终端(terminal)清屏命令

    windows CMD终端的清屏命令是cls Linux终端中的清屏命令有 1) clear 2) reset

  10. April 11 2017 Week 15 Tuesday

    Love is hard to get into, but harder to get out of. 相爱不易,相忘更难. The past are hurt, but I think we can ...