首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python OpenCV:为什么fillPoly()只绘制灰色多边形,而不考虑它的颜色参数?

Python OpenCV是一个基于Python的开源计算机视觉库,提供了丰富的图像处理和计算机视觉算法。其中,fillPoly()函数用于绘制多边形,并填充指定的颜色。

然而,对于fillPoly()函数来说,它并不直接考虑多边形的颜色参数。原因是OpenCV中的绘图函数通常是针对单通道图像进行操作的,即灰度图像,其中每个像素的值表示了其灰度强度。

多边形的颜色是通过对绘制多边形所在的图像进行颜色填充来实现的。具体来说,首先需要创建一个与绘制多边形所在图像大小相同的单通道图像(灰度图像),然后使用fillPoly()函数在该图像上绘制多边形。最后,通过使用cv2.imshow()函数将填充后的图像显示出来。

虽然fillPoly()函数本身不直接考虑多边形的颜色参数,但可以通过在绘制多边形前,先将图像中要绘制的区域填充为指定的颜色,然后再使用fillPoly()函数绘制多边形。这样就可以实现填充指定颜色的多边形。

总结一下,fillPoly()函数只绘制灰色多边形而不考虑颜色参数的原因是OpenCV中的绘图函数通常是针对单通道图像进行操作的,所以需要先将要绘制的区域填充为指定的颜色,然后再使用fillPoly()函数绘制多边形。相应的,通过OpenCV提供的其他函数或方法可以实现对多边形的填充指定颜色。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

OpenCV - 绘图

大多数绘图函数都支持操作对象颜色、宽度、线型(与直线平滑度有关)和亚像素对齐等参数。 本文基于 《学习 OpenCV3 》中第六章内容整理 Python OpenCV 绘图函数。...) 4 cv2.ellipse2Poly() 计算一个近似椭圆多边形 5 cv2.fillConvexPoly() 画一个填充简单多边形 6 cv2.fillPoly() 画一个填充任意多边形 7...__doc__) lineType 是绘图常用参数之一,表示绘制时线条绘制方式,lineType 参数可选4 ,8和 cv2.LINE_AA,分别表示直线是“4邻域连接”或者“8邻域连接”或者是平滑处理...这个函数比 cv2.fi11Po1y() 速度快很多,因为使用了更简单算法。需要注意是cv2.fillConvexPoly() 使用算法在多边形有自交点时不能正确工作。...(使用一组参数不用实际将文字绘制到图上)。

1.4K20
  • 【从零学习OpenCV 4】绘制几何图形

    color:圆形颜色。 thickness:轮廓宽度,如果数值为负,则绘制一个实心圆。...1 04 绘制多边形 在几何中多边形也是一个重要成员,多边形中矩形又是一个比较特殊类型,因此OpenCV 4中除了提供绘制多边形函数fillPoly()外,也提供了绘制矩形函数rectangle...函数中与前文参数含义一致参数不再重复介绍。在OpenCV 4中定义了两种函数原型,分别利用矩形对角线上两个顶点坐标或者利用左上角顶点坐标和矩形长和宽唯一确定一个矩形。...接下来介绍多边形绘制函数fillPoly()使用方法,其函数原型在代码清单3-45中给出。 代码清单3-45 fillPoly()函数原型 1....npts:每个多边形顶点数组中顶点个数。 ncontours:绘制多边形个数。 offset:所有顶点可选偏移。 该函数中与前文含义相同参数不再重复介绍。

    1.4K30

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

    很多人都问过我这个问题,OpenCV中是怎么绘制与填充多边形,特别是填充多边形。因为根据OpenCV多边形绘制函数,他们发现这是一个无解问题。...下面我们就来详细说一下,OpenCV多边形绘制与填充问题。...多边形绘制 OpenCV中支持常见点、线、圆、椭圆与矩形绘制与填充都是通过设置thickness这个参数来实现绘制与填充,当thickness是正数时就会绘制;当thickness为非正数时就会填充...填充多边形 OpenCV中可以完成多边形填充函数有两个,第一个填充多边形函数为: void cv::fillPoly( InputOutputArray img,...,本质上把每个多边形顶点集作为轮廓看待,可以很方便完成轮廓绘制与填充,跟点、线、圆、椭圆与矩形绘制与填充一样,都是通过设置thickness这个参数来实现绘制与填充。

    3.6K20

    OpenCV-Python学习(13)—— OpenCV 多边形填充与绘制(cv.fillPoly、cv.polylines)

    ]]]) → img 2.2 参数说明 参数 说明 img 表示要在其上绘制矩形图像img对象。...isClosed 表示标志,决定所绘制多边形是否闭合。若为 True ,则画若干个闭合多边形;若为 False ,则画一条连接所有点折线。 color 表示颜色。...参数说明 参数 说明 img 表示要在其上绘制矩形图像img对象。...与 cv.fillPoly 可以绘制或填充一个或多个多边形; pts 点集参数必须设置dtype=np.uint8。...总结 由于计算五角星各点坐标时,采用时数学四象限坐标,以重心为原点,创建坐标; opencv 绘制图形时,x轴和数学坐标轴一样,但是y是以向下为正轴,同时坐标原点在图像左上角[0,0]位置; 通过以上两点

    3.6K20

    机器视觉算法(第11期)----OpenCV绘图与注释

    一般情况下,绘图函数可以在任意深度图像上工作,但是通常情况下只对前前三个通道有作用,大多数绘图函数都支持操作对象颜色,宽度,线型和亚像素对齐等参数。...() 这个函数可以绘制任意数量填充多边形,和fillConvexPoly()不同是这个函数可以处理自交点情况。...注释 绘图另外一种形式就是画文字,OpenCV提供了两种文字绘制函数,如下: 2.1 cv::putText() 这是OpenCV中主要文字绘制方法,它可以简单在图像上绘制一些文字。...,不是实际将文字绘制出来。...结果以baseLine参数传递出来,该参数是和文字最低点相关文字基线y坐标值。

    1.3K20

    计算机视觉:2.6~4.5 颜色空间、数据结构与绘图

    Saturation:饱和度,表示颜色接近光谱色程度。一种颜色,可以看成是某种光谱色与白色混合结果。其中光谱色所占比例越大,颜色接近光谱色程度就越高,颜色饱和度也就越高,颜色则深艳。...为什么使用HSV? 方便OpenCV做图像处理,比如根据HUE值就可以判断背景颜色。...B 控制纯色中混入黑色量,值越大,黑色越少,明度越高; HSL 中 S 和黑白没有关系,饱和度控制颜色中混入黑白多与少; HSL 中 L 控制纯色中混入黑白两种颜色; YUV YUV,是一种颜色编码方法...YUV在对照片或视频编码时,考虑到人类感知能力,允许降低色度带宽。...,int32位; isClosed:是否闭合; fillPoly(img, pts, color[, lineType[, shift[, offset]]]):填充多边形; color:填充颜色

    94410

    万字长文,值得收藏参考OpenCV C++基础代码

    1是图片名称,参数2是矩形起始&末尾位置,参数3 Scalar表示将要绘制图像颜色参数4表示小于0表示填充,大于0表示绘制参数5表示四邻域或者八邻域绘制参数6表示中心坐标或者半径坐标的小数位数...", canvas); } } 16 多边形填充与绘制 这节课介绍了2种多边形绘制实现方式。...), 2, 8, 0);//绘制多边形 /* 参数1表示画布,参数2表示点集,参数3表示true,参数4颜色 参数5表示线宽,参数6表示渲染方式,参数7表示相对左上角(0,0)位置...; drawContours(canvas,contours,-1, Scalar(0, 0, 255),-1); //参数2表示容器名称,参数3为正表示多边形绘制,为负表示多边形填充...填充多边形调用fillPoly绘制多边形调用polylines。第二种方式,使用一个API接口绘制。通过一个容器中存储点组成另一个容器。 17 鼠标操作与响应 鼠标事件响应与绘制

    1.3K20

    OpenCV】Chapter10.色彩转换与图像绘制

    RGB图片实现颜色反转非常容易,一种简单思路就是对每个像素点用255-颜色值。但是这样处理效率不高。 OpenCV提供了一个查表函数cv.LUT可以快速实现像素值改变。...函数cv.polylines()用来绘制多边形曲线或多段线 函数cv.fillPoly()用来绘制一个或多个填充多边形区域 函数cv.fillConvexPoly()用来绘制一个填充多边形...True 表示闭合多边形,False 表示多边形闭合 示例程序: """ 绘制多段线和多边形 """ import cv2 as cv import matplotlib.pyplot as plt...255)) # pts1 是列表 cv.polylines(img1, [points2, points3], 1, 255, 2) # 可以绘制多个多边形 # 绘制多段线,曲线闭合 cv.polylines...# 绘制填充多边形,注意交叉重叠部分处理 cv.fillPoly(img3, [points1], (0, 0, 255)) cv.fillPoly(img3, [points2, points3],

    2.6K31

    万字长文,值得收藏参考OpenCV C++基础代码

    1是图片名称,参数2是矩形起始&末尾位置,参数3 Scalar表示将要绘制图像颜色参数4表示小于0表示填充,大于0表示绘制参数5表示四邻域或者八邻域绘制参数6表示中心坐标或者半径坐标的小数位数...", canvas); } } 16 多边形填充与绘制 这节课介绍了2种多边形绘制实现方式。...), 2, 8, 0);//绘制多边形 /* 参数1表示画布,参数2表示点集,参数3表示true,参数4颜色 参数5表示线宽,参数6表示渲染方式,参数7表示相对左上角(0,0)位置...; drawContours(canvas,contours,-1, Scalar(0, 0, 255),-1); //参数2表示容器名称,参数3为正表示多边形绘制,为负表示多边形填充...填充多边形调用fillPoly绘制多边形调用polylines。第二种方式,使用一个API接口绘制。通过一个容器中存储点组成另一个容器。 17 鼠标操作与响应 鼠标事件响应与绘制

    1.1K62

    无人驾驶之车道线检测简易版

    : 高斯模糊图片: Canny Edges: 多边形截取后图片: 生成左右两条线: 和原图结合最终图片: Gray 通常彩色图片是三通道,简便起见,对其做单通道处理...,转化为灰色图像。...对于确立好映射函数,我们总能找到RGB空间中不同点映射之后得到点却基本相同。理由也很简单,从3通道到1通道肯定伴随着信息损失。解决办法是固定映射函数,根据图片做动态映射函数。...edge,这些误标记edge可能来自噪音或者颜色变化。...去掉这些边缘办法是确定一个多边形可视域,保留可视域部分边缘信息。其依据是camera相对车是固定,车相对于车道相对位置也基本固定,所以车道在camera中基本保持在一个固定区域内。

    2.5K1711

    二.OpenCV和Numpy读取修改像素、几何图形绘制

    表示点坐标中小数位数 下面的代码是绘制一条直线,通过np.zeros()创建一幅黑色图像,接着调用cv2.line()绘制直线,参数包括起始坐标和颜色、粗细。...cv2.circle(img, (100,100), 50, (255,255,0), -1) ---- 4.绘制椭圆 在OpenCV中,绘制椭圆比较复杂,要多输入几个参数,如中心点位置坐标,长轴和短轴长度...---- 5.绘制多边形OpenCV中,调用cv2.polylines()函数绘制多边形需要指定每个顶点坐标,通过这些点构建多边形,其函数原型如下所示: img = polylines(img...表示绘制多边形是否闭合,False表示闭合 – color表示线条颜色 – thickness表示线条粗细 – lineType表示边界类型 – shift表示顶点坐标中小数位数 下面是绘制一个多边形代码...Python+OpenCV图像处理

    2.3K20

    OpenCV图像处理笔记(一):图片基本操作

    在多数图像处理相关应用程序中被采用,BSD许可,可以免费应用在商业和研究领域 最新版本是OpenCV 3.1.0,当前SDK支持语言包括了Java、Python、IOS和Android版本。...::imshow) namedWindos功能是创建一个OpenCV窗口,它是由OpenCV自动创建与释放,你无需取销毁。...,不会复制数据部分 c++ Mat A= imread(imgFilePath); Mat B(A) // 复制 完全复制:如果想把Mat对象头部和数据部分一起复制,可以通过如下两个API实现 c...++ Mat F = A.clone(); 或 Mat G; A.copyTo(G); 四个要点 输出图像内存是自动分配 使用OpenCVC++接口,不需要考虑内存分配问题 赋值操作和拷贝构造函数只会复制头部分...= Point(bgImage.cols / 2, bgImage.rows / 2); circle(bgImage, center, 150, color, 2, LINE_8); } //绘制多边形

    1.3K30

    一篇文章就梳理清楚了 Python OpenCV 知识体系

    这是一篇学习量很大文章 观前提醒,本篇文章涉及知识点巨大,建议先收藏,再慢慢学习。 本篇文章目的将为你详细罗列 Python OpenCV 学习路线与重要知识点。...OpenCV 常用数据结构和颜色空间 这部分要掌握类有 Point 类、Rect 类、Size 类、Scalar 类,除此之外,在 Python 中用 numpy 对图像进行操作,所以 numpy 相关知识点...OpenCV 中常用颜色空间有 BGR 颜色空间、HSV/HLS 颜色空间、Lab 颜色空间,这些都需要了解,优先掌握 BGR 颜色空间。 6....OpenCV 常用绘图函数 掌握如下函数用法,即可熟练Opencv绘制图形。...霍夫变换 霍夫变换(Hough Transform)是图像处理中一种特征提取技术,该过程在一个参数空间中,通过计算累计结果局部最大值,得到一个符合该特定形状集合,作为霍夫变换结果。

    1.6K30

    python ImageDraw类实现几何图形绘制与文字绘制

    python PIL图像处理模块中ImageDraw类支持各种几何图形绘制和文本绘制,如直线、椭圆、弧、弦、多边形以及文字等。...draw.polygon():绘制多边形,第一个参数多边形端点,形式为(x0, y0, x1, y1, x2, y2,……),第二、三两个参数分别指定填充颜色和线条颜色; draw.text(...):文字绘制,第一个参数指定绘制起始点(文本左上角所在位置),第二个参数指定文本内容,第三个参数指定文本颜色,第四个参数指定字体(通过ImageFont类来定义)。...绘制结果如下: ? 最后,补充一下python中所支持颜色,如下图所示: ?...PS:opencv+python 实现基本图形绘制及文本添加 import cv2 import numpy as np import os class Drawing(object): """ 使用

    2.8K30

    OpenCV实现手指识别:空中移动手指就可以弹钢琴!

    技术说明 Air Piano 是一个融合计算机视觉和人机交互项目。为了制作 Air Piano,我使用了 Python 语言和 OpenCV 库。它是一个开源计算机视觉和机器学习软件库。...项目的流程: 第一步是捕获用户视频流输入。在我们逐帧读取输入后,我们现在需要将 BGR 比例转换为 HSV 比例,以便我们可以更好地处理颜色为什么要转换为 HSV 色彩空间?...然后我们绘制一个凸包,以找到周围多边形。从这个多边形中,我们使用凸度缺陷函数提取指尖。 什么是凸包?凸包,完全包围对象最小 n 边凸多边形。 什么是凸面缺陷?...最后一部分包括使用 PyAutoGUI 库,允许您根据手部运动坐标(准确地说是指尖)进行键盘操作。现在当这个程序运行时,它会跟踪指尖在框架中位置并自动按下键盘上提到键。...作者:Umar Masud 原文地址:https://towardsdatascience.com/air-piano-using-opencv-and-python-298cb22097d9

    90151

    VC++中使用OpenCV进行形状和轮廓检测

    ,结果放到vector> contours数组中 3、遍历每一个轮廓多边形,首选计算轮廓面积,过滤那些面积特别小轮廓(比如面积小于1000则处理,例如上图中那个黑色圆点...判断轮廓多边形形状类型,特别注意矩形和正方形区别,我们根据轮廓宽高比来区分,当轮廓宽高比大于0.95或者小于1.05时我们可以认定轮廓为正方形 4、最后我们在第三步基础上,绘制轮廓或填充轮廓,颜色为粉色...;绘制边界包围盒,颜色为绿色;在边界包围盒左上方往上5像素位置,绘制其形状描述文字 C++示例代码 示例代码如下: #include #include...,颜色为粉色 rectangle(img, boundRect[i].tl(), boundRect[i].br(), Scalar(0, 255, 0), 5); // 绘制边界包围盒,颜色为绿色...3 HOURS with Python | Including 3xProjects | Computer Vision Learn-OpenCV-in-3-hours

    33700
    领券