我怎样才能得到下面图片的黑白图像?

2024-01-30

我想将图片准确地转换为黑白图像,其中种子将由白色表示,背景为黑色。我想把它放在 python opencv 代码中。请帮帮我

I got good result for the above picture using the given code below. Now I have another picture for which thresholding doesn't seem to work. How can I tackle this problem. The output i got is in the following picture enter image description here

also, there are some dents in the seeds, which the program takes it as the boundary of the seed which is not a good results like in the picture below. How can i make the program ignore dents. Is masking the seeds a good option in this case. enter image description here


我将图像从 BGR 颜色空间转换为 HSV 颜色空间。

然后我提取了hue渠道:

然后我对其执行了阈值:

Note:

每当您在某些领域遇到困难时,请尝试在不同的色彩空间中工作,其中 HSV 色彩空间最为突出。

UPDATE:

这是代码:

import cv2
import numpy as np

filename = 'seed.jpg'
img = cv2.imread(filename)  #---Reading image file---

hsv_img = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)  #---Converting RGB image to HSV
hue, saturation, value, = cv2.split(hsv_img)   #---Splitting HSV image to 3 channels---

blur = cv2.GaussianBlur(hue,(3,3),0)   #---Blur to smooth the edges---

ret,th = cv2.threshold(blur, 38, 255, 0)   #---Binary threshold---
cv2.imshow('th.jpg',th)

现在您还可以执行轮廓操作来突出显示您感兴趣的区域。试试看!! :)

另一个更新:

我发现轮廓高于某个约束来得到这个:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我怎样才能得到下面图片的黑白图像? 的相关文章

  • Python Popen 与 psexec 挂起 - 不良结果

    我对 subprocess Popen 和我认为是管道的问题有疑问 我有以下代码块 从 cli 运行时 100 都不会出现问题 p subprocess Popen psexec serverName get cmd c ver echo
  • 图像梯度角计算

    我实际上是按照论文的说明进行操作的 输入应该是二进制 边缘 图像 输出应该是一个新图像 并根据论文中的说明进行了修改 我对指令的理解是 获取边缘图像的梯度图像并对其进行修改 并使用修改后的梯度创建一个新图像 因此 在 MATLAB Open
  • 如何在 AWS CDK 创建的 Python Lambda 函数中安装外部模块?

    我在 Cloud9 中使用 Python AWS CDK 并且我部署简单的 Lambda 函数那应该是发送 API 请求到 Atlassian 的 API当对象上传到 S3 存储桶时 也是由 CDK 创建的 这是我的 CDK 堆栈代码 fr
  • Python - 将宽字符字符串从二进制文件转换为 Python unicode 字符串

    这是漫长的一天 我有点困惑 我正在读取一个包含大量宽字符字符串的二进制文件 我想将它们转储为 Python unicode 字符串 为了解压非字符串数据 我使用 struct 模块 但我不知道如何对字符串执行相同的操作 例如 阅读 系列 一
  • 使用 python 进行串行数据记录

    Intro 我需要编写一个小程序来实时读取串行数据并将其写入文本文件 我在读取数据方面取得了一些进展 但尚未成功地将这些信息存储在新文件中 这是我的代码 from future import print function import se
  • Python模块可以访问英语词典,包括单词的定义[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 python 模块 它可以帮助我从英语词典中获取单词的定义 当然有enchant 这可以帮助我检查该单词是否存在于英语中
  • Python逻辑运算符优先级[重复]

    这个问题在这里已经有答案了 哪个运算符优先4 gt 5 or 3 lt 4 and 9 gt 8 这会被评估为真还是假 我知道该声明3 gt 4 or 2 lt 3 and 9 gt 10 显然应该评估为 false 但我不太确定 pyth
  • 如何使用 Plotly 中的直方图将所有离群值分入一个分箱?

    所以问题是 我可以在 Plotly 中绘制直方图 其中所有大于某个阈值的值都将被分组到一个箱中吗 所需的输出 但使用标准情节Histogram类我只能得到这个输出 import pandas as pd from plotly import
  • 如何创建一个语句来打印以特定单词开头的单词? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在 python 中打印从特定字母开始的单词 而不使用函数 而是使用方法或循环 1 我有一个字符串 想要打印以 m 开头的单词 S
  • 如何计算numpy数组中元素的频率?

    我有一个 3 D numpy 数组 其中包含重复的元素 counterTraj shape 13530 1 1 例如 counterTraj 包含这样的元素 我只显示了几个元素 array 136 129 130 103 102 101 我
  • 切片 Dataframe 时出现 KeyError

    我的代码如下所示 d pd read csv Collector Output csv df pd DataFrame data d dfa df copy dfa dfa rename columns OBJECTID Object ID
  • 使用 Python pandas 计算调整后的成本基础(股票买入/卖出的投资组合分析)

    我正在尝试对我的交易进行投资组合分析 并尝试计算调整后的成本基础价格 我几乎尝试了一切 但似乎没有任何效果 我能够计算调整后的数量 但无法获得调整后的购买价格有人可以帮忙吗 这是示例交易日志原始数据 import pandas as pd
  • 使用 OLS 回归预测未来值(Python、StatsModels、Pandas)

    我目前正在尝试在 Python 中实现 MLR 但不确定如何将我找到的系数应用于未来值 import pandas as pd import statsmodels formula api as sm import statsmodels
  • TensorFlow的./configure在哪里以及如何启用GPU支持?

    在我的 Ubuntu 上安装 TensorFlow 时 我想将 GPU 与 CUDA 结合使用 但我却停在了这一步官方教程 http www tensorflow org get started os setup md 这到底是哪里 con
  • Python 将日志滚动到变量

    我有一个使用多线程并在服务器后台运行的应用程序 为了无需登录服务器即可监控应用程序 我决定包括Bottle http bottlepy org为了响应一些HTTP端点并报告状态 执行远程关闭等 我还想添加一种查阅日志文件的方法 我可以使用以
  • 创建嵌套字典单行

    您好 我有三个列表 我想使用一行创建一个三级嵌套字典 i e l1 a b l2 1 2 3 l3 d e 我想创建以下嵌套字典 nd a 1 d 0 e 0 2 d 0 e 0 3 d 0 e 0 b a 1 d 0 e 0 2 d 0
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • 当鼠标悬停在上面时,intellisense vscode 不显示参数或文档

    我正在尝试将整个工作流程从 Eclipse 和 Jupyter Notebook 迁移到 VS Code 我安装了 python 扩展 它应该带有 Intellisense 但它只是部分更糟糕 我在输入句点后收到建议 但当将鼠标悬停在其上方
  • BRISK 特征检测器检测零个关键点

    下面显示的 Brisk 探测器没有给我任何关键点 有人可以提出一个问题吗 我将尝试用一些代码解释我在下面所做的事情 include opencv2 features2d features2d hpp using namespace cv u
  • 字典和数组作为类变量与实例变量

    这是赚取积分的简单方法 请解释以下内容 class C a b 0 c def init self self x def d self k v self x k v self a k v self b v self c append v d

随机推荐

  • PHP默认参数[重复]

    这个问题在这里已经有答案了 在 PHP 中 如果我有一个这样写的函数 function example argument1 argument2 argument3 我可以像这样在其他地方调用这个函数 example argument1 但如
  • preg_match() 与 strpos() 进行匹配查找?

    For 单值检查 两者中哪一个是首选 为什么 string The quick brown fox jumps over the lazy dog if strpos string fox false do the routine vers
  • 根据换行符将命令输出行存储到数组中

    我有一个如下变量 并且我执行某些操作来一一打印输出 如下所述 a My name is A Her Name is B His Name is C echo a awk F nN ame for i 2 i lt NF i 2 print
  • Delphi中如何识别发送者的Tobject类型?

    我正在为带有无线电组的对话框创建代码 作为首选项表单的一部分 我们代码的一部分是 当打开首选项表单时 单击单选按钮组 这会配置一堆内容 即 如果单选按钮处于 关闭 状态 则隐藏一堆配置内容 我想要知道用户何时实际单击单选按钮组 而不是在首选
  • 仅在反应本机 MapView 上设置初始区域

    使用案例 使用react native MapView 组件将注释显示在地图上 设置初始地图区域 以便所有注释都可见 注释正在移动 这会触发重新渲染 此外 用户应该能够平移 缩放地图 所以onRegionChange and onRegio
  • 使用 Leiningen 在 Raspberry Pi 上改进 Clojure REPL 的启动时间

    我获得了 Raspberry Pi 512MB 版本 2012 年末 并安装了适用于 ARM 的 Java SE 8 开发者预览版 https blogs oracle com java entry developer preview of
  • 无限循环 - 顶部还是底部? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 本着这样的问题的精神您的循环是在顶部还是底部进行测试 https stackoverflow com questions 224059 do y
  • 当你是 git 中的原始仓库时,你如何进行本地拉取?

    我有一台服务器 我在其中设置了 Git 存储库 从我的客户那里 我可以执行 git拉原点 and git 推送原点 我的更改已正确推送 拉取到远程 Git 服务器 我还需要能够在服务器本身上签出项目 我没有使用初始化 裸露当我设置它时 因为
  • 如何在 Spark 2.0+ 中编写单元测试?

    我一直在尝试寻找一种合理的测试方法SparkSession使用 JUnit 测试框架 虽然似乎有很好的例子SparkContext 我不知道如何获得相应的示例SparkSession 即使它在内部的多个地方使用火花测试基地 https gi
  • AXIS-JAXB Unmarshal 不适用于除 jdk 1.8.077 之外的任何 JDK

    我已遵循以下程序 使用 WSDL Apache Axis 1 在 eclipse 中生成客户端文件 使用 JAXB 解组请求 XML 然后调用 Web 服务 如果我使用 JDK 1 8 077 则 XML 会成功解析 如果我使用任何其他 J
  • 在基于phonegap的应用程序上使用jspdf生成客户端pdf

    我尝试从本地数据生成pdf 我在使用 ArrayBuffer 和 Uint8Array 对象时遇到问题 解决方案是添加我在互联网上找到的 js 实现 现在这一行有一个错误 E Web Console 21515 Uncaught TypeE
  • 导入错误:没有名为 argparse 的模块

    我正在尝试运行 Python 程序 但出现错误 ImportError No module named argparse 我找到了问题 argparse cli 中的 Python 模块 https stackoverflow com qu
  • 在任何页面上设计注册表单

    我试图允许用户在我的主页 登陆页面上注册该网站 我已将设备注册表复制到我的登陆页面视图中 div br div div br div div div
  • Ruby,exec、system 和 %x() 或反引号之间的区别

    以下 Ruby 方法有什么区别 exec system and x or 反引号 我知道它们用于通过 Ruby 以编程方式执行终端命令 但我想知道为什么有三种不同的方法来执行此操作 system The system http www ru
  • dropzone.js 在没有 dropzone 的页面上给出错误“无效的 dropzone 元素”

    我正在使用 dropzone js 它在我需要 dropzone 的页面上运行得很好 在任何其他页面上 虽然它给了我一个 Invalid dropzone element 错误消息并导致我的其他 javascript 出现问题 我有一个自定
  • 区分 False 和 0

    假设我有一个包含不同值的列表 如下所示 1 2 3 b None False True 7 0 我想迭代它并检查每个元素是否不在某些禁止值列表中 例如 这个列表是 0 0 0 当我检查是否为 False 时 0 0 0 I get True
  • 为什么必须使用函数指针?

    什么情况下需要函数指针 标准答案似乎是回调 但为什么我们不能只传递一个函数呢 我正在阅读的关于 C 的书演示了将函数作为参数传递 并承认实际上编译器会将其转换为函数指针并传递它 因为函数不是实际对象 它显示了使用函数指针的等效代码 这稍微复
  • Ruby on Rails:默认情况下阻止选择列

    I have entries表与一个content可能包含大量文本的字段 在大多数情况下 我不需要访问该字段 因此每次从数据库加载大量未使用的数据 从 id 1 的条目中选择 似乎是对资源的巨大浪费 我如何指定default scope 除
  • 从 bash 输出中排除一个字符串

    我现在正在做一个项目 在这个项目中 由于某些原因 我需要从与模式匹配的输出 或文件 中排除第一个字符串 困难在于我只需要排除一个字符串 即流中的第一个字符串 例如 如果我有 1 abc 2 qwerty 3 open 4 abc 5 tal
  • 我怎样才能得到下面图片的黑白图像?

    我想将图片准确地转换为黑白图像 其中种子将由白色表示 背景为黑色 我想把它放在 python opencv 代码中 请帮帮我 I got good result for the above picture using the given c