在opencv中当我们使用一些基于连通域或者基于边沿信息的时候,往往会对contour进行处理除了利用findContours函数寻找连通域之外,也需要对连通域进行填充等操作这里介绍下drawContours函数,自己也是不断摸索和查阅了opencv相关手册

drawContours    在图像中绘制外部和内部的轮廓。
drawContours(InputOutputArray image, InputArrayOfArrays contours, int contourIdx, const Scalar& color, int thickness=1, int lineType=8, InputArray hierarchy=noArray(),int maxLevel=INT_MAX, Point offset=Point())
image: 是最终需要被填充的图像;
contours:是得到的一系列点的集合;
contourIdx:是指定某个contours的点集;
color:被填充的颜色,单色可以设置为Scalar(255)等;
thickness: 所画Contour的线条宽度,如果为负或CV_FILLED则绘制所有的Contours;
lineType: 线的连通性;
hierarchy:可选层次信息结构,这里面是findContours所的到的基于Contours的层级信息;
maxLevel: 绘制轮廓的最大等级。如果等级为0,绘制单独的轮廓。如果为1,绘制轮廓及在其后的相同的级别下轮廓。如果值为2,所有的轮廓。如果等级为2,绘制所有同级轮廓及所有低一级轮廓,诸此种种。如果值为负数,函数不绘制同级轮廓,但会升序绘制直到级别为abs(max_level)-1的子轮廓
offset:照给出的偏移量移动每一个轮廓点坐标.当轮廓是从某些感兴趣区域(ROI)中提取的然后需要在运算中考虑ROI偏移量时,将会用到这个参数。

比如我通过findContours函数得到了相应的vector<vector<cv::Point> > vecContours点集信息,要把这些点集信息画出来
binImage为要画的图片,binImage事先已经声明好了,例子如下:

  1. binImage.setTo(0);

  2. for ( size_t i = 0; i < vecContours.size(); i++ ){

  3. cv::drawContours( binImage, vecContours, i, Scalar(255), CV_FILLED, 8, vector<Vec4i>(), 0, Point() );

  4. }

Opencv drawContours函数用于绘制和填充相关推荐

  1. 技巧 | OpenCV中如何绘制与填充多边形

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 很多人都问过我这个问题,OpenCV中 ...

  2. OpenCV技巧 | 二值图孔洞填充方法与实现(附Python/C++源码)

    点击上方"OpenCV与AI深度学习",选择加"星标"或"置顶" 重磅干货,第一时间送达 导读 本文主要介绍使用OpenCV对二值图做孔洞填 ...

  3. 使用OpenCV进行多边形绘制和填充

    OpenCV中在图像上进行多边形绘制和填充的函数分别为polylines和fillPoly,在图像分割任务中午中,可用于将预测结果绘制到目标图像. 简单的实现: import cv2 import n ...

  4. OpenCV——line、circle、rectangle、ellipse、polylines函数的使用和绘制文本putText函数以及绘制中文的方法。

    学习OpenCV的过程中,画图是不可避免的,本篇文章旨在介绍OpenCV中与画图相关的基础函数. 1.画线条--line()函数 介绍: cv2.line(image, start_point, en ...

  5. 使用Python,OpenCV进行涂鸦(绘制文字、线、圆、矩形、椭圆、多边形轮廓、多边形填充、箭头~)

    使用Python,OpenCV进行涂鸦(绘制文字.线.圆.矩形.椭圆.多边形轮廓.多边形填充.箭头) 1. 效果图 2. 原理 2.1 绘制线:cv2.line(canvas, (300, 0), ( ...

  6. Opencv convertScaleAbs函数 和灰度图上进行透明彩色绘制

    在将RealSense提取的深度图片进行显示时,由于是16位图片,想将图片转化成为8位图形进行显示 Opencv中有一个函数convertScaleAbs可以实现这种功能 C++: void conv ...

  7. OPENCV回调函数

    OPENCV回调函数 回调函数 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该 ...

  8. opencv ellipse函数_13、OpenCV绘图和文本显示

    我们经常想要绘制各种形状,为此,OpenCV提供了一系列功能,可以绘制直线,矩形,圆等.OpenCV的绘图功能适用于图像,但其中大多数仅影响前三个通道,在单通道图像的情况下仅默认第一个通道.大多数绘图 ...

  9. OpenCV 常用函数汇总(normalize、getStructuringElement、erode、dilate)

    简单认知 Mat 认知 取值类型和范围 CV_8U 8位无符号整数 0~255 CV_8S 8位符号整数 -128~127 CV_16U 16位无符号整数 0~65535 CV_16S 16位符号整数 ...

  10. OpenCV findContours函数参数

    目录 OpenCV findContours函数参数 python检测外轮廓: c++轮廓检测: 一.mode取值"CV_RETR_EXTERNAL",method取值" ...

最新文章

  1. 没学过python、但是还是有公司要-扎心!“我学了半年 Python,还是找不到工作”...
  2. sql int 转string_SQL智能代码补全引擎【sql-code-intelligence】介绍
  3. zoj 3747 (DP)(连续至多,连续至少)
  4. 【208天】黑马程序员27天视频学习笔记【Day21-中】
  5. setSignVisible的修改
  6. 如何将两个DateTimePicker的日期和时间组合成一个值
  7. JAVA入门级教学之(super的内存示意)
  8. 推荐几本编程启蒙书籍
  9. 李国庆俞渝撕破脸,当当喊话:冲动是魔鬼 冷静下来吧
  10. Android开发笔记(二十五)assets目录下的文件读取
  11. android ListView 九大重要属性详细分析
  12. WSUS 3.0 SP2 部署安装
  13. vs2019添加opencv目录和dlib目录
  14. 技术书籍也香艳-时隔12年《Head First设计模式》第二版要来了
  15. Windows 10上不使用MicroSoft Store下载安装MicroSoft Todo
  16. 12 经络的走向图和说明
  17. app上架应用宝流程
  18. 计算机solidwork实训报告,solid works学习心得范文
  19. [VN2020 公开赛]内存取证
  20. 第10章 物理安全要求

热门文章

  1. MySQL时区问题(与北京时间相差13小时)-- mybatisplus使用LocalDateTime.now()获取系统当前时间问题
  2. P2882 [USACO07MAR]Face The Right Way G 【贪心 + 差分】
  3. 计算机对齐方式在哪里,word文档中默认的对齐方式是什么
  4. Groovy 快速入门
  5. ssh远程安全访问路由器
  6. win8计算机无法安装打印机驱动,如果Win8计算机打印机驱动程序安装失败,该怎么办...
  7. 作为史上最疯狂的科学家,特斯拉提出过哪些惊世骇俗的设想
  8. Kotlin是如何帮助你避免内存泄漏的?
  9. 高斯分布的概率密度函数
  10. 冰点还原8.53破解版