OpenCV之凸包检测基础
凸包
convecHull()函数
代码
生成若干个坐标值随机的彩色点, 用convexHull函数对点连接起来的图形球凸包
#include <opencv2\opencv.hpp>
#include <vector>
#include <algorithm> using namespace cv;
using namespace std;int main()
{//初始化变量和随机值Mat image(600, 600, CV_8UC3);RNG& rng = theRNG();//循环,按下ESC,Q,q键程序退出,否则有键按下便一直更新while (1){//参数初始化char key;//键值int count = (unsigned)rng % 100 + 3;//随机生成点的数量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);}//检测凸包vector<int> hull;convexHull((points), hull, true);//绘制出随机颜色的点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_8);}int hullcount = (int)hull.size(); // 凸包的边数Point point0 = points[hull[hullcount - 1]]; //连接凸包边的坐标点//绘制凸包的边for (int i = 0; i < hullcount; i++){Point point = points[hull[i]];line(image, point0, point, Scalar(255, 255, 255), 2, LINE_8);point0 = point;}//显示效果图imshow("凸包检测示例", image);//按下ESC,Q,或者q, 程序退出key = (char)waitKey();if (key == 27 || key == 'q' || key == 'Q'){break;}}waitKey(0);return 0;
}
效果
OpenCV之凸包检测基础相关推荐
- OpenCV图像处理—— 凸包检测
前言 凸包(Convex Hull)是一个计算几何(图形学)中的概念,在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包.通俗的讲就是把检测到一个平面的点以最大的外包多边形 ...
- Python+Opencv图像处理--基于OTSU+凸包检测的粘连大米分割
文章目录 前言 1.分割流程图 2.图像预处理 2.1 改进二值化算法 2.2 形态学运算 3.提取轮廓 4.凸包检测 5.标记大米 前言 转载请注明本文出处. 最近一段时间一直在看粘连分割,网上也有 ...
- 【零基础跑项目】20代码教你基于opencv的人脸检测
20代码教你基于opencv的人脸检测
- opencv 基础(6):基于OpenCV的轮廓检测
利用轮廓检测,我们可以检测出目标的边界,并容易地定位.它通常是许多有趣应用,如图像前景提取,简单图像分割,检测和识别. 轮廓线在计算机视觉中的应用 一些非常酷的应用程序已经建立,使用轮廓进行运动检测或 ...
- 【CV】基于OpenCV的手掌检测和手指计数
利用余弦定理使用OpenCV-Python实现手指计数与手掌检测. 手检测和手指计数 接下来让我们一起探索以下这个功能是如何实现的. OpenCV OpenCV(开源计算机视觉库)是一个开源计算机视觉 ...
- python目标检测与识别_Python 使用Opencv实现目标检测与识别的示例代码
在上章节讲述到图像特征检测与匹配 ,本章节是讲述目标检测与识别.后者是在前者的基础上进一步完善. 在本章中,我们使用HOG算法,HOG和SIFT.SURF同属一种类型的描述符.功能代码如下: impo ...
- 基于 OpenCV 的手掌检测和手指计数
作者 | 努比 来源 | 小白学视觉 利用余弦定理使用OpenCV-Python实现手指计数与手掌检测. 手检测和手指计数 接下来让我们一起探索以下这个功能是如何实现的. OpenCV OpenCV( ...
- pythonopencv目标检测_Python 使用Opencv实现目标检测与识别的示例代码
本章节是讲述目标检测与识别.后者是在前者的基础上进一步完善. 在本章中,我们使用HOG算法,HOG和SIFT.SURF同属一种类型的描述符.功能代码如下: import cv2 def is_insi ...
- 人脸检测进阶:使用 dlib、OpenCV 和 Python 检测面部标记
使用 dlib.OpenCV 和 Python 检测面部标记 今天,我们将使用dlib和OpenCV来检测图像中的面部标记.dlib的安装教程: https://wanghao.blog.csdn.n ...
- 毕业设计 - 题目:基于机器视觉opencv的手势检测 手势识别 算法 - 深度学习 卷积神经网络 opencv python
文章目录 1 简介 2 传统机器视觉的手势检测 2.1 轮廓检测法 2.2 算法结果 2.3 整体代码实现 2.3.1 算法流程 3 深度学习方法做手势识别 3.1 经典的卷积神经网络 3.2 YOL ...
最新文章
- pacman 查询_pacman包管理常用命令
- poj - 2356 Find a multiple
- Codeforces Round #725 (Div. 3) 题解
- linux 命令pg,linux下操作PostgreSQL的常用命令
- mysql授予权限和撤销权限的关系_MySQL数据库常用的授予权限和撤销权限的命令讲解...
- MFC操作多个安卓设备(发送指令)
- 2 万字长文盘点五种负载均衡策略
- 基于S7-200 PLC控制的小型自动化立体仓
- 【JAVA学习】六、设计模式
- 车辆管理系统无法连接服务器,智能通道人员车辆管理软件常见问题
- Revit SDK 介绍:ModelessForm_ExternalEvent ModelessForm_IdlingEvent
- 置剪辑板文本_实验背景剪辑:文本
- 给discuz x增加后台菜单管理功能
- 如何打造智能世界的数据底座?深耕华为云大数据,畅享价值最大化
- HDOJ 4069 Squiggly Sudoku 精确覆盖+搜索
- js字符串日期直接比较大小
- Android Google地图接入(一)
- 最简单的视频网站(JavaEE+FFmpeg) 转载自: Mr.Rico
- TreeSize Free
- Android之多个View同时动画