首页
学习
活动
专区
圈层
工具
发布

基于OpenCV的特定区域提取

今天我们将一起探究如何使用OpenCV和Python从图像中提取感兴趣区域(ROI)。 在之间的文章中,我们完成了图像边缘提取,例如从台球桌中提取桌边。...现在,我们可以使用OpenCV函数“ findContours()”提取该图像中的轮廓,并仅选择具有以下属性的轮廓: 1. 几何形状是圆形或椭圆形 2....我们将使用OpenCV函数“ drawContours()”,将颜色用作白色(R,G,B = 255,2555,255),将厚度用作FILLED(-1)在黑色背景上绘制所有四个线段轮廓。...对于白色背景,我们首先创建一个白色画布,然后通过使用OpenCV函数“ drawContours()”绘制轮廓为黑色(R,G,B = 0,0,0)且厚度为FILLED的轮廓,如下所示创建颜色反转的蒙版(...然后,我们使用OpenCV “ add()”函数将此反向蒙版添加到先前获得的黑色背景中,并获得相同的结果,但使用白色背景。 ? 到此为止,我们总结了几种方法,可以轻松地从图像中提取感兴趣区域。

3.9K30

总结 | 基于OpenCV提取特定区域方法汇总

今天我们将一起探究如何使用OpenCV和Python从图像中提取感兴趣区域(ROI)。 在之间的文章中,我们完成了图像边缘提取,例如从台球桌中提取桌边。...现在,我们可以使用OpenCV函数“ findContours()”提取该图像中的轮廓,并仅选择具有以下属性的轮廓: 1. 几何形状是圆形或椭圆形 2....我们将使用OpenCV函数“ drawContours()”,将颜色用作白色(R,G,B = 255,2555,255),将厚度用作FILLED(-1)在黑色背景上绘制所有四个线段轮廓。...在黑色背景上提取的ROI 对于白色背景,我们首先创建一个白色画布,然后通过使用OpenCV函数“ drawContours()”绘制轮廓为黑色(R,G,B = 0,0,0)且厚度为FILLED的轮廓,如下所示创建颜色反转的蒙版...用于ROI提取的备用倒置掩模(图像源作者) 然后,我们使用OpenCV “ add()”函数将此反向蒙版添加到先前获得的黑色背景中,并获得相同的结果,但使用白色背景。 ?

5.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用OpenCV做个简单的颜色提取器

    ——《微卡智享》 本文长度为1035字,预计阅读4分钟 前言 做UI界面时,常常会遇到配色的问题,有专业美工还好,没有的话,你想要什么颜色,需要自己进行提取,如果没有PS,那我们就用OpenCV做个简单的颜色提取功能...实现效果 实现OpenCV获取颜色提取需要什么? A 从上面的GIF动图中可以看出来,每点击图像中的位置直接显示出当前的RGB色和转换为16进制的字符。.../opencv.hpp> #include "../.....,一定要记录第一个参数是y,第二个参数是x,在OpenCV中参数一般说是row和col的概念,row是行代表是y轴,col是列代表是x轴。...这样一个OpenCV的颜色提取小Demo就完成了。 源码地址 https://github.com/Vaccae/OpenCVDemoCpp.git

    1.4K20

    Halcon转OpenCV实例--利用颜色信息提取与背景相似字符

    有时候遇到待提取的目标与背景颜色很接近,我们无法直接用阈值处理将其分割,只能尝试其他方法,今天介绍的实例就是如此。 ?...如上图所示,我们的目标是提取图中的字符,然后做识别,但是字符的颜色和背景很接近,如果直接用二值化处理,效果不佳。...通过观察分析,发现字符颜色虽然与背景接近,但是饱和度(颜色深度)明显与背景不同,所以我们可以将原图转到HSV空间,然后在S(饱和度)通道进行阈值处理,最后进行形态学去除杂讯,得到最后的目标。...下面用OpenCV实现并显示中间步骤结果: import cv2 import numpy as np img = cv2.imread("test.jpg") hsv_img = cv2.cvtColor

    2.3K20

    OpenCV HSV颜色格式

    前言 在使用OpenCV进行颜色识别和追踪时,我们通常会将图片格式转为HSV格式。在转换为HSV格式过程中,吃到过一些教训。 在这里总结一下自己的教训。 同时,帮助我们加深理解一下HSV颜色格式。...HSV 使用OpenCV将图片的颜色转换为HSV格式,可以方便我们进行颜色追踪。而转换方法很简单。...而在OpenCV中取值范围是不一样的。openCV在取值转换中进行了变换。具体的转换可以通过下面的颜色计算进行了解。...255 255 vmin 0 221 221 46 46 46 46 46 46 46 vmax 46 220 255 255 255 255 255 255 255 255 我们如果想使用该颜色卡进行提取图片中的红色区域...Scalar 在OpenCV中我们针对颜色进行配置的时候,不是使用Color对象。都是通过Scalar对象进行处理的。 而该对象存储的其实就是一个double val[]数组。

    1.3K10

    特征提取——颜色特征

    特征提取——颜色特征 颜色直方图 OpenCV之颜色空间: 颜色空间RGB(Red 红色,Green 绿色,Blue 蓝色) R的取值范围:0-255 G的取值范围:0-255 B的取值范围:0-255...颜色空间HSV (Hue 色相,Saturation 饱和度,intensity 亮度) H的取值范围:0-179 S的取值范围:0-255 V的取值范围:0-255 颜色空间HLS (Hue 色相,...此外,由于颜色分布信息主要集中在低阶矩中,因此仅采用颜色的一阶矩(mean)、二阶矩(variance)和三阶矩(skewness)就足以表达图像的颜色分布。...与颜色直方图相比,该方法的另一个好处在于无需对特征进行向量化。...图像的颜色矩一共只需要9个分量(3个颜色分量,每个分量上3个低阶矩) 颜色矩常和其它特征结合使用,而且一般在使用其它特征前起到过滤缩小范围(narrow down)的作用。

    74920

    Android OpenCV 4.6.0 颜色追踪

    介绍 通过OpenCV实现,实时识别摄像头中的固定颜色块的坐标位置,并进行标注。 简而言之,追踪摄像头中纯色物体的运动轨迹。 我们可以通过OpenCV来识别视频中的纯色物体的移动轨迹。...使用Core.inRange() 将指定颜色范围内的色块从图片中分割出来。 进行膨胀处理,可以使用morphologyEx 也可以使用dilate。 针对膨胀完毕的数据,执行轮廓提取。...2.3 inRange 色块提取 我们转换完毕的HSV格式的Mat对象,可以直接进行色块提取。...然后openCV就会在这两个颜色范围内进行分割。将属于该颜色范围的地方设置为白色。 不属于的就设置为黑色。 而具体里面的参数应该写多少,就根据大家实际需要采集的颜色进行判断了。...PS:实在没办法,也可以通过openCV的 samples工程中的 color-blob-detection 示例代码。实现点击触摸获取当前图片的HSV颜色值。

    2.2K20

    使用OpenCV进行颜色分割

    在OpenCV和Darknet上进行YOLOv3培训时CPU性能 颜色分割可用于检测身体肿瘤、从森林或海洋背景中提取野生动物的图像,或者从单一的背景图像中提取其他彩色物体。...颜色分割示例 从以上示例中可以看出,尽管OpenCV是一种更快的方法,但是它对于图像的分割结果并不是非常的理想,有时会出现分割误差或者错误分割的情况 接下来我们将介绍如何通过OpenCV对图像进行颜色的分割...这里我们有一张含有鸟的图片,我们的目标是通过颜色分割尝试从图片中提取这只鸟。 ?...接下来是“颜色分割”的最重要一步,即“阈值分割”。这里我们将确定要提取的所有像素的阈值。使用OpenCV进行颜色分割中最重要步骤——阈值分割,这可能是一个相当繁琐的任务。...从颜色分割中提取图像 那么通过上面的方式,我们就实现了基于颜色的图像分割,感兴趣的小伙伴们可以通过上面的代码和步骤进行尝试,看看能否满足自己的图像分割需求。

    3.3K20

    OpenCV 的颜色空间转换

    ,光谱色占的比例愈大,颜色接近光谱色的程度 16 越高,颜色饱和度就越高。...范围为0%(黑)~100%(白) 19 RGB面向硬件,HSV面向用户 20 在Opencv中 21 H色度取值范围是[0,179] 22 S饱和度的取值范围是[0,255] 23 V明度的取值范围是[...0,255] 24 拿opencv的HSV值与其他软件的HSV值进行对比时,要归一化 25 ''' 26 27 #获取颜色转换中所有可以使用的flag 28 def getColorConvertFlag...i in dir(cv2) if i.startswith("COLOR_") ] 31 print(flags) 32 33 ''' 34 物体跟踪,可以将图像从BGR转换到HSV后,提取某个特定颜色的物体...35 提取蓝色物体步骤: 36 1从视频中获取每一帧图像 37 2将图像转换到HSV空间 38 3设置HSV阈值到蓝色范围 39 4获取蓝色物体 40 ''' 41 def trackObject()

    79520

    OpenCV 的颜色空间转换

    ,光谱色占的比例愈大,颜色接近光谱色的程度 16 越高,颜色饱和度就越高。...范围为0%(黑)~100%(白) 19 RGB面向硬件,HSV面向用户 20 在Opencv中 21 H色度取值范围是[0,179] 22 S饱和度的取值范围是[0,255] 23 V明度的取值范围是[...0,255] 24 拿opencv的HSV值与其他软件的HSV值进行对比时,要归一化 25 ''' 26 27 #获取颜色转换中所有可以使用的flag 28 def getColorConvertFlag...i in dir(cv2) if i.startswith("COLOR_") ] 31 print(flags) 32 33 ''' 34 物体跟踪,可以将图像从BGR转换到HSV后,提取某个特定颜色的物体...35 提取蓝色物体步骤: 36 1从视频中获取每一帧图像 37 2将图像转换到HSV空间 38 3设置HSV阈值到蓝色范围 39 4获取蓝色物体 40 ''' 41 def trackObject()

    1.4K10

    使用OpenCV进行颜色分割

    在OpenCV和Darknet上进行YOLOv3培训时CPU性能 颜色分割可用于检测身体肿瘤、从森林或海洋背景中提取野生动物的图像,或者从单一的背景图像中提取其他彩色物体。...颜色分割示例 从以上示例中可以看出,尽管OpenCV是一种更快的方法,但是它对于图像的分割结果并不是非常的理想,有时会出现分割误差或者错误分割的情况 接下来我们将介绍如何通过OpenCV对图像进行颜色的分割...这里我们有一张含有鸟的图片,我们的目标是通过颜色分割尝试从图片中提取这只鸟。 ?...接下来是“颜色分割”的最重要一步,即“阈值分割”。这里我们将确定要提取的所有像素的阈值。使用OpenCV进行颜色分割中最重要步骤——阈值分割,这可能是一个相当繁琐的任务。...从颜色分割中提取图像 那么通过上面的方式,我们就实现了基于颜色的图像分割,感兴趣的小伙伴们可以通过上面的代码和步骤进行尝试,看看能否满足自己的图像分割需求。

    2.9K21

    【OpenCV】HSV颜色识别-HSV基本颜色分量范围

    HSV颜色空间  HSV(hue,saturation,value)颜色空间的模型对应于圆柱坐标系中的一个圆锥形子集,圆锥的顶面对应于V=1....在HSV颜色模型中,每一种颜色和它的补色相差180° 。 饱和度S取值从0到1,所以圆锥顶面的半径为1。...HSV颜色模型所代表的颜色域是CIE色度图的一个子集,这个 模型中饱和度为百分之百的颜色,其纯度一般小于百分之百。在圆锥的顶点(即原点)处,V=0,H和S无定义, 代表黑色。...可以说,HSV模型中的V轴对应于RGB颜色空间中的主对角线。 在圆锥顶面的圆周上的颜色,V=1,S=1,这种颜色是纯色。HSV模型对应于画家配色的方法。...HSV 以人类更熟悉的方式封装了关于颜色的信息:“这是什么颜色?深浅如何?明暗如何?”。HSL 颜色空间类似于 HSV,在某些方面甚至比它还好。HSL的模型为双圆锥形状。

    9.1K20

    OpenCV视频分析背景提取与前景提取

    阅读本文,用时3~5mins 基本思想 OpenCV中支持的两种背景提取算法都是基于模型密度评估,然后在像素级对图像进行前景与背景分类的方法,它们具有相同的假设前提 – 各个像素之间是没有相关性的,跟它们算法思想不同的方法主要是基于马尔可夫随机场理论...所以OpenCV中没有实现。...基于像素分类的背景分析方法 自适应的背景提取(无参数化/ KNN) 基于GMM的背景提取 基于模糊积分的背景提取 这些背景建模的方法一般都可以分为如下三步完成 背景初始化阶段(背景建模提取) 前景检测阶段...基于GMM的核密度估算需要考虑初始输入componet数目参数、OpenCV中实现的另外一种方法是基于简单的核密度估算方法,然后通过KNN对输出的每个像素进行前景与背景分类,实现了更加快速的背景分析。...其中颜色相似性度量如下: ?

    5.4K45

    OpenCV视频分析背景提取与前景提取

    基本思想 OpenCV中支持的两种背景提取算法都是基于模型密度评估,然后在像素级对图像进行前景与背景分类的方法,它们具有相同的假设前提 – 各个像素之间是没有相关性的,跟它们算法思想不同的方法主要是基于马尔可夫随机场理论...所以OpenCV中没有实现。...基于像素分类的背景分析方法 自适应的背景提取(无参数化/ KNN) 基于GMM的背景提取 基于模糊积分的背景提取 这些背景建模的方法一般都可以分为如下三步完成 背景初始化阶段(背景建模提取) 前景检测阶段...帧进行建模生成背景模型 高斯混合模型(GMM)方式正好满足这种方式,对高斯混合模型中的每个componet进行建模,计算表达如下: 基于GMM的核密度估算需要考虑初始输入componet数目参数、OpenCV...所以还有一种相似度进行模糊积分决策方法,它的算法流程如下: 其中颜色相似性度量如下: 代码与演示 OpenCV在release模块中相关API Ptr<BackgroundSubtractorMOG2

    1.9K10

    【python-opencv】转换颜色空间

    1、改变颜色空间 OpenCV中有超过150种颜色空间转换方法。但是我们将研究只有两个最广泛使用的,BGR↔灰色和BGR↔HSV。 对于颜色转换,我们使用cv函数。...2、对象跟踪 现在我们知道了如何将BGR图像转换成HSV,我们可以使用它来提取一个有颜色的对象。在HSV中比在BGR颜色空间中更容易表示颜色。在我们的应用程序中,我们将尝试提取一个蓝色的对象。...方法如下: - 取视频的每一帧 - 转换从BGR到HSV颜色空间 - 我们对HSV图像设置蓝色范围的阈值 - 现在单独提取蓝色对象,我们可以对图像做任何我们想做的事情。...cv import numpy as np cap = cv.VideoCapture(0) while(1): # 读取帧 _, frame = cap.read() # 转换颜色空间

    1.5K10
    领券