如何使用 Python OpenCV 定义阈值以仅检测图像中的绿色对象?

2024-04-12

我只想从自然环境中捕获的图像中检测绿色物体。我该如何定义它?

因为在这里我想通过阈值,所以我们说“x”。通过使用这个x,我只想将绿色对象变成一种颜色(白色),而其他对象必须以另一种颜色(黑色)出现。

我该怎么做?


One way

我制作了 HSV 颜色图。它是更简单、更准确使用此贴图比以前找到颜色范围。

也许我应该改变用途HSV 中的 (40, 40,40) ~ (70, 255,255)找到green.

其他方式

  1. 转换为 HSV 颜色空间,
  2. Use cv2.inRange(hsv, hsv_lower, hsv_higher)获得绿色面具。

We use 范围(HSV): (36,0,0) ~ (86,255,255)为了这向日葵.


源图像:

被遮蔽的绿色区域:

更多步骤:


核心源码:

import cv2
import numpy as np

## Read
img = cv2.imread("sunflower.jpg")

## Convert to HSV
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

## Mask of green (36,25,25) ~ (86, 255,255)
# mask = cv2.inRange(hsv, (36, 25, 25), (86, 255,255))
mask = cv2.inRange(hsv, (36, 25, 25), (70, 255,255))

## Slice the green
imask = mask>0
green = np.zeros_like(img, np.uint8)
green[imask] = img[imask]

## Save 
cv2.imwrite("green.png", green)

Similar:

  1. 使用“cv::inRange”(OpenCV) 选择正确的 HSV 上下边界进行颜色检测 https://stackoverflow.com/questions/10948589/choosing-the-correct-upper-and-lower-hsv-boundaries-for-color-detection-withcv/48367205#48367205
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Python OpenCV 定义阈值以仅检测图像中的绿色对象? 的相关文章

  • 从字典的元素创建 Pandas 数据框

    我正在尝试从字典创建一个 pandas 数据框 字典设置为 nvalues y1 1 2 3 4 y2 5 6 7 8 y3 a b c d 我希望数据框仅包含 y1 and y2 到目前为止我可以使用 df pd DataFrame fr
  • 指示电子邮件的类型

    我有以下自动化程序 它将电子邮件发送给我自己 并添加了特定的链接 import win32com client as win32 import easygui import tkinter as to from tkinter import
  • 数据框 - 平均列

    我在 pandas 中有以下数据框 Column 1 Column 2 Column3 Column 4 2 2 2 4 1 2 2 3 我正在创建一个数据框 其中包含第 1 列和第 2 列 第 3 列和第 4 列等的平均值 ColumnA
  • 检查 python 中命令行参数的数量

    我是蟒蛇新手 还是把脚弄湿了 我正在尝试做这样的事情 import sys if len sys argv lt 3 or lt len sys argv gt 3 print This script will compare two fi
  • 使用 Pytest 的参数化添加测试功能的描述

    当其中一个测试失败时 可以在测试正在测试的内容的参数化中添加描述 快速了解测试失败的原因 有时您不知道测试失败的原因 您必须查看代码 通过每个测试的描述 您就可以知道 例如 pytest mark parametrize num1 num2
  • numpy:高效执行数组的复杂重塑

    我正在将供应商提供的大型二进制数组读入 2D numpy 数组 tempfid M N load data data numpy fromfile file dirname fid dtype numpy dtype i4 convert
  • 是否有一个包可以维护所有带有符号的货币列表?

    是否有一个 python 包提供所有 或相当完整 货币的列表与符号 如美元的 有优秀的pycountry 贪财的 https github com limist py moneyed and ccy http code google com
  • 如何使用 Homebrew 在 Mac 上安装 Python 2 和 3?

    我需要能够在 Python 2 和 3 之间来回切换 我如何使用 Homebrew 来做到这一点 因为我不想弄乱路径并陷入麻烦 现在我已经通过 Homebrew 安装了 2 7 我会用pyenv https github com yyuu
  • Python MySQL 操作错误:1045,“用户 root@'localhost' 的访问被拒绝

    我试图通过以下方式从我的 python 程序访问数据库 db mysql connect host localhost user Max passwd maxkim db TESTDB cursor db cursor 但是 我在第一行代码
  • 更改QLineEdit的ClearButton图标

    我想在Windows 10 1909 64位 上的Python 3 8和PyQt5 5 15 0 上更改我的QLineEdit的ClearButton图标 稍后我想在Linux上运行代码 我尝试应用此处找到的代码 如何在 QLineEdit
  • Jupyter 笔记本中未显示绘图图表

    我已经尝试解决这个问题几个小时了 我按照上面的步骤操作情节网站 https plot ly python getting started start plotting online并且图表仍然没有显示在笔记本中 这是我的情节代码 color
  • 为什么这个 if 语句会导致语法错误

    我正在尝试设置一个 elif 语句 如果用户按下 Enter 键 代码将继续 但是我不断遇到语法错误 GTIN 0 while True try GTIN int input input your gtin 8 number if len
  • Flask 应用程序路由中的多个参数

    烧瓶怎么写app route如果我在 URL 调用中有多个参数 这是我从 AJax 调用的 URL http 0 0 0 0 8888 createcm summary VVV change Feauure 我试图写我的烧瓶app rout
  • pygame:使用 sprite.RenderPlain 绘制精灵组的顺序

    我有一个精灵组 需要按一定的顺序绘制 以便其精灵按应有的方式重叠 然而 即使使用运算符模块函数 sorted self sprites key attrgetter y x 对组进行排序 顺序也是错误的 我该如何解决这个问题 直截了当地说
  • 基于值而不是类型的单次调度

    我在 Django 上构建 SPA 并且有一个庞大的功能 其中包含许多功能if用于检查我的对象字段的状态名称的语句 像这样 if self state new do some logic if self state archive do s
  • numpy polyfit 中使用的权重值是多少以及拟合误差是多少

    我正在尝试对 numpy 中的某些数据进行线性拟合 Ex 其中 w 是该值的样本数 即对于点 x 0 y 0 我只有 1 个测量值 该测量值是2 2 但对于这一点 1 1 我有 2 个测量值 值为3 5 x np array 0 1 2 3
  • 寻找完美的正方形

    我有这个Python代码 def sqrt x ans 0 if x gt 0 while ans ans lt x ans ans 1 if ans ans x print x is not a perfect square return
  • PyQt5:如何使QThread返回数据到主线程

    I am a PyQt 5 4 1 1初学者 我的Python是3 4 3 这是我尝试遵循的many https mayaposch wordpress com 2011 11 01 how to really truly use qthr
  • 高效创建抗锯齿圆形蒙版

    我正在尝试创建抗锯齿 加权而不是布尔 圆形掩模 以制作用于卷积的圆形内核 radius 3 no of pixels to be 1 on either side of the center pixel shall be decimal a
  • 如何在 scikit 中加载 CSV 数据并将其用于朴素贝叶斯分类

    尝试加载自定义数据以在 Scikit 中执行 NB 分类 需要帮助将示例数据加载到 Scikit 中 然后执行 NB 如何加载目标的分类值 使用相同的数据进行训练和测试 或使用完整的数据集进行测试 Sl No Member ID Membe

随机推荐

  • 为什么 std::string_view 在三元表达式中创建悬挂视图?

    考虑一个返回 a 的方法std string view要么来自返回 a 的方法const std string 或来自空字符串 令我惊讶的是 以这种方式编写方法会导致悬空字符串视图 const std string otherMethod
  • 推荐的博客数据库后端

    问候 我正在使用 php 构建我的个人网站 我的标准方法是使用 MySQL 作为数据库后端 我听说过很多关于面向文档的数据库 我想知道这些 couchDB mongoDB 是否对我来说是更好的选择 我知道像我的个人主页这样的低流量网站不会因
  • PHP:特定代码行的 sleep()

    是否可以使用 sleep 或其他函数 在执行之前等待 我有例如 div bla bla div some divs and html 如何在页面加载后 5 秒执行第一个 php 脚本 但在页面加载时显示其他所有内容 如果我在第一个 php
  • Golang调用CUDA库

    我正在尝试从 Go 代码中调用 CUDA 函数 我有以下三个文件 test h int test add void test cu global void add int a int b int c c a b int test add v
  • 如何在 angularjs 中进行基本身份验证?

    如何在 AngularJs 中进行基本身份验证 我用谷歌搜索过 但资源对我不起作用 我是veryAngularJS 新手 假设你的 html 定义如下 h2 Todo h2 div div
  • connect-redis - 如何保护会话对象免受竞争条件影响

    我使用 nodejs 和 connect redis 来存储会话数据 我将用户数据保存在会话中 并在会话生命周期中使用它 我注意到两个更改会话数据的请求之间可能存在竞争条件 我尝试过使用 redis lock 来锁定会话 但这对我来说有点问
  • 有人可以澄清 Celery 任务中任务优先级的用法吗?

    该文档很少提及priority属性 一份罕见的文档参考资料如下 priority int The task priority a number between 0 and 9 Defaults to the attr priority at
  • Qt GUI 编译后没有改变

    我使用 Qt Designer 编译并运行创建了一个 GUI 然后我在 GUI 中做了一些更改并再次重新编译 但 GUI 保持不变 即使我删除小部件并重新编译它们也会出现 I tried Clean All and Clean Projec
  • Highcharts重绘不重绘数据

    我一直在玩Highcharts v3 0 10 在网页上呆了一周 打印页面时无法重新绘制图表 问题是我在图表中使用深色背景颜色 但在打印时 我想将其更改为白色 为了实现这一点 我需要redraw 更改后我的图表backgroundColor
  • 雪花错误:SQL 访问控制错误:没有足够的权限对​​帐户“”进行操作

    我有一个 Snowflake 的免费试用帐户 我正在尝试创建存储集成 但运行脚本后我收到以下错误 SQL访问控制错误 没有足够的权限来操作帐户 即使对于帐户管理员角色 也会出现上述错误 在 Snowflake 原始 Web UI 不是 Sn
  • 在编码 UI HtmlLogger 输出文件中写入消息

    我正在使用编码的 UI 进行自动化测试 我已经在 QTAgent32 exe config 文件中启用了 HtmlLogger 我正在获取 html 输出文件 但我正在考虑在该 html 输出文件中写入一些消息 我用了this TestCo
  • 使用 pymongo tailable 游标在空集合上消失

    希望有人能帮助我理解我是否遇到问题或者我只是不理解 mongodb tailable 游标行为 我正在运行 mongodb 2 0 4 和 pymongo 2 1 1 这是演示该问题的脚本 usr bin python import sys
  • obj.prototype = new ParentObj(); 之后的对象方法消失了在 JavaScript 中

    我正在尝试在 JavaScript 中继承对象 看一下这个例子 var BaseObject function var ChildObject function ChildObject prototype childMethod funct
  • 在幻灯片模式下运行 Jupyter 单元

    您可以通过运行以下命令在活动的 html 设置中显示 Jupyter 笔记本 jupyter nbconvert untitled ipynb to slides post serve 有没有什么方法可以以相同的幻灯片格式运行笔记本 以便实
  • 1 到 n 的整数之和

    我正在尝试编写一个程序来将 1 到 n 的数字相加 我已经设法让它多次打印数字 但不能将它们全部相加 它继续将两个数字相加 我的第一次尝试是 def problem1 3 n my sum 0 while my sum lt n my su
  • 手臂“版本”之间的差异? (仅限 ARMv7)

    基本上我想知道ARMv7l和ARMv7之间的区别hl 我有一个带有armv7l的arm处理器 并且有很多armv7的rpmhl 我完全不知道我必须搜索什么才能获得相关信息 这个 后缀 叫什么 还有其他类型吗 他们的做法有何不同 我假设它指示
  • 是否可以延长 Intellitrace 事件?

    具体来说 我想做的是从我的应用程序和库中引发新事件 类似于 ADO NET 公开的事件 现实生活场景 NHibernate 的补丁 即使查询已被缓存 因此不会到达 ADO NET 层 也会显示已执行的查询 我找到了很多关于usingInte
  • FragmentPagerAdapter 根据参数值在选项卡上重新加载处理后的片段

    我已经使用创建了我的项目this https github com tekinarslan AndroidMaterialDesignToolbar材料设计示例 我已经修改了代码 现在我有 5 个选项卡 现在我已经创建了 5 个片段类并将其
  • 无法更改 Django 管理模板

    刚刚开始官方 Django 教程 https docs djangoproject com en 1 7 intro tutorial02 customizing your project s templates并且已经遇到问题 无法在管理
  • 如何使用 Python OpenCV 定义阈值以仅检测图像中的绿色对象?

    我只想从自然环境中捕获的图像中检测绿色物体 我该如何定义它 因为在这里我想通过阈值 所以我们说 x 通过使用这个x 我只想将绿色对象变成一种颜色 白色 而其他对象必须以另一种颜色 黑色 出现 我该怎么做 One way 我制作了 HSV 颜