opencv开发笔记(十四):创建包围轮廓的矩形边界
来源:互联网 发布:js浏览器后退刷新页面 编辑:程序博客网 时间:2024/05/20 03:45
// 创建包围轮廓的矩形边界.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc.hpp>
using namespace cv;
using namespace std;
int main()
{//初始化变量和随机值
Mat image(600, 600, CV_8UC3);
RNG &rng = theRNG();
while (1) {
int count = rng.uniform(3, 103);
vector<Point>points;
for (int i = 0; i < count;i++) {
Point point;
point.x = rng.uniform(image.cols/4,image.cols*3/4);
point.y = rng.uniform(image.rows/4,image.rows*3/4);
points.push_back(point);
}
//生成随机离散点
image = Scalar::all(0);
for (int i = 0; i < count;i++) {
circle(image,points[i],3,Scalar(rng.uniform(0,255), rng.uniform(0, 255), rng.uniform(0, 255)),FILLED,LINE_AA);
}
//寻找最小矩形的包围面积
RotatedRect box = minAreaRect(Mat(points));
Point2f vec[4];
box.points(vec);
//绘制最小面积的包围面积
for (int i = 0; i < 4;i++) {
line(image,vec[i],vec[(i+1)%4],Scalar(100,200,211),2,LINE_AA);
}
imshow("矩形包围", image);
char key = (char)waitKey();
if (key == 27)break;
}
return 0;
}
#include "stdafx.h"
#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc.hpp>
using namespace cv;
using namespace std;
int main()
{//初始化变量和随机值
Mat image(600, 600, CV_8UC3);
RNG &rng = theRNG();
while (1) {
int count = rng.uniform(3, 103);
vector<Point>points;
for (int i = 0; i < count;i++) {
Point point;
point.x = rng.uniform(image.cols/4,image.cols*3/4);
point.y = rng.uniform(image.rows/4,image.rows*3/4);
points.push_back(point);
}
//生成随机离散点
image = Scalar::all(0);
for (int i = 0; i < count;i++) {
circle(image,points[i],3,Scalar(rng.uniform(0,255), rng.uniform(0, 255), rng.uniform(0, 255)),FILLED,LINE_AA);
}
//寻找最小矩形的包围面积
RotatedRect box = minAreaRect(Mat(points));
Point2f vec[4];
box.points(vec);
//绘制最小面积的包围面积
for (int i = 0; i < 4;i++) {
line(image,vec[i],vec[(i+1)%4],Scalar(100,200,211),2,LINE_AA);
}
imshow("矩形包围", image);
char key = (char)waitKey();
if (key == 27)break;
}
return 0;
}
阅读全文
0 0
- opencv开发笔记(十四):创建包围轮廓的矩形边界
- opencv c++函数 imgproc模块 22 创建包围轮廓的矩形和圆形边界框
- 创建包围轮廓的矩形和圆形边界框
- 创建包围轮廓的矩形和圆形边界框--boundingRect()、minEnclosingCircle()和approxPolyDP()
- 创建包围轮廓的矩形和圆形边界框--boundingRect()、minEnclosingCircle()和approxPolyDP()
- OpenCV之imgproc 模块. 图像处理(5)在图像中寻找轮廓 计算物体的凸包 创建包围轮廓的矩形和圆形边界框 为轮廓创建可倾斜的边界框和椭圆 轮廓矩 多边形测试
- 【opencv练习34 - 轮廓包围圆,矩形】
- OpenCV轮廓、边缘、边界的相关函数
- 【OpenCV笔记 15-2】OpenCV寻找物体最小包围矩形和最小包围圆
- 【opencv】轮廓外接矩形
- OpenCV 矩形轮廓检测
- opencv矩形轮廓提取
- opencv中使用形状包围轮廓
- 使用OpenCV提取图形轮廓的边界的代码!
- OpenCV轮廓、边缘、边界的相关函数cv::findContours()等
- 【OpenCV学习笔记】二十四、轮廓查找与绘制(一)
- 计算轮廓矩形边界与重心
- 给轮廓画出矩形和圆形边界
- Android 图片加载框架最全解析(五),Glide强大的图片变换功能
- ceph工作原理及安装
- jenkins自动部署tomcat脚本
- mybatis入门(二)——mybatis开发项目五部曲
- 浅谈数据库索引
- opencv开发笔记(十四):创建包围轮廓的矩形边界
- springmvc常用注解标签详解
- 【个人笔记重点,不作为参考】主题:provisional headers are shown 原因分析
- mui.fire传值首次无效
- java学习内容
- Java单例的由浅入深----懒汉式的升级(1 双重检查)
- Jzoj3223 Ede的新背包问题
- 使用zookeeper解决程序在不同集群之间运行的高可用
- (原创)Fragment详解(中)