凸包

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之凸包检测基础相关推荐

  1. OpenCV图像处理—— 凸包检测

    前言 凸包(Convex Hull)是一个计算几何(图形学)中的概念,在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包.通俗的讲就是把检测到一个平面的点以最大的外包多边形 ...

  2. Python+Opencv图像处理--基于OTSU+凸包检测的粘连大米分割

    文章目录 前言 1.分割流程图 2.图像预处理 2.1 改进二值化算法 2.2 形态学运算 3.提取轮廓 4.凸包检测 5.标记大米 前言 转载请注明本文出处. 最近一段时间一直在看粘连分割,网上也有 ...

  3. 【零基础跑项目】20代码教你基于opencv的人脸检测

    20代码教你基于opencv的人脸检测

  4. opencv 基础(6):基于OpenCV的轮廓检测

    利用轮廓检测,我们可以检测出目标的边界,并容易地定位.它通常是许多有趣应用,如图像前景提取,简单图像分割,检测和识别. 轮廓线在计算机视觉中的应用 一些非常酷的应用程序已经建立,使用轮廓进行运动检测或 ...

  5. 【CV】基于OpenCV的手掌检测和手指计数

    利用余弦定理使用OpenCV-Python实现手指计数与手掌检测. 手检测和手指计数 接下来让我们一起探索以下这个功能是如何实现的. OpenCV OpenCV(开源计算机视觉库)是一个开源计算机视觉 ...

  6. python目标检测与识别_Python 使用Opencv实现目标检测与识别的示例代码

    在上章节讲述到图像特征检测与匹配 ,本章节是讲述目标检测与识别.后者是在前者的基础上进一步完善. 在本章中,我们使用HOG算法,HOG和SIFT.SURF同属一种类型的描述符.功能代码如下: impo ...

  7. 基于 OpenCV 的手掌检测和手指计数

    作者 | 努比 来源 | 小白学视觉 利用余弦定理使用OpenCV-Python实现手指计数与手掌检测. 手检测和手指计数 接下来让我们一起探索以下这个功能是如何实现的. OpenCV OpenCV( ...

  8. pythonopencv目标检测_Python 使用Opencv实现目标检测与识别的示例代码

    本章节是讲述目标检测与识别.后者是在前者的基础上进一步完善. 在本章中,我们使用HOG算法,HOG和SIFT.SURF同属一种类型的描述符.功能代码如下: import cv2 def is_insi ...

  9. 人脸检测进阶:使用 dlib、OpenCV 和 Python 检测面部标记

    使用 dlib.OpenCV 和 Python 检测面部标记 今天,我们将使用dlib和OpenCV来检测图像中的面部标记.dlib的安装教程: https://wanghao.blog.csdn.n ...

  10. 毕业设计 - 题目:基于机器视觉opencv的手势检测 手势识别 算法 - 深度学习 卷积神经网络 opencv python

    文章目录 1 简介 2 传统机器视觉的手势检测 2.1 轮廓检测法 2.2 算法结果 2.3 整体代码实现 2.3.1 算法流程 3 深度学习方法做手势识别 3.1 经典的卷积神经网络 3.2 YOL ...

最新文章

  1. pacman 查询_pacman包管理常用命令
  2. poj - 2356 Find a multiple
  3. Codeforces Round #725 (Div. 3) 题解
  4. linux 命令pg,linux下操作PostgreSQL的常用命令
  5. mysql授予权限和撤销权限的关系_MySQL数据库常用的授予权限和撤销权限的命令讲解...
  6. MFC操作多个安卓设备(发送指令)
  7. 2 万字长文盘点五种负载均衡策略
  8. 基于S7-200 PLC控制的小型自动化立体仓
  9. 【JAVA学习】六、设计模式
  10. 车辆管理系统无法连接服务器,智能通道人员车辆管理软件常见问题
  11. Revit SDK 介绍:ModelessForm_ExternalEvent ModelessForm_IdlingEvent
  12. 置剪辑板文本_实验背景剪辑:文本
  13. 给discuz x增加后台菜单管理功能
  14. 如何打造智能世界的数据底座?深耕华为云大数据,畅享价值最大化
  15. HDOJ 4069 Squiggly Sudoku 精确覆盖+搜索
  16. js字符串日期直接比较大小
  17. Android Google地图接入(一)
  18. 最简单的视频网站(JavaEE+FFmpeg) 转载自: Mr.Rico
  19. TreeSize Free
  20. Android之多个View同时动画

热门文章

  1. 一个名牌大学毕业生心酸经历
  2. 算法学习之投票算法以及对应leetcode题目
  3. 对比stm32,arm9研究方向
  4. 计算机上e盘拒绝访问,E盘拒绝访问怎么办?Win7系统E盘拒绝访问的方法
  5. 以天下之力成天下之事,菜鸟成物流抗疫主力军
  6. wireshark:时区
  7. JS怎么获取当月最后一天
  8. 代理服务器搭建socks5环境的方法
  9. 2017php最新版本,2017php受权验证系统2.6.8受权系统,真正完整可用,全新界面受权源码...
  10. 基于Arduino的吉他调音器