两遍连接组件,组件数量问题

2024-03-28

两遍连通分量算法正在检测一幅图像中的单独分量,每次检测后我都会保存每个component作为不同的图像。要显示每个component在单独的图像上,我使用多个 if 条件,但是这些if conditions每当图像中每个组件都有很多形状时,它就会增加,到目前为止我已经使用了 7 个 if 条件,但它正在增加。任何关于如何使用循环或如何处理它的想法。

 for (x, y) in labels:
            component = uf.find(labels[(x, y)])
            labels[(x, y)] = component
            ############################################################
            if labels[(x, y)]==0:
                Zero[y][x]=int(255)
                count=count+1
                if count<=43:
                    continue
                elif count>43:
                    Zeroth = Image.fromarray(Zero)
                    Zeroth.save(os.path.join(dirs, 'Zero.png'), 'png')
            #############################################################
            if labels[(x, y)]==1:
                One[y][x]=int(255)
                count1=count1+1
                if count1<=43:
                    continue
                elif count1>43:
                    First = Image.fromarray(One)
                    First.save(os.path.join(dirs, 'First.png'),'png')

我不确定我完全理解你的代码,但我认为可能有一个简单的方法可以解决你的变量过多和if声明。您不应使用单独的变量和代码来保存每个图像,而应将它们放入列表中并为这些列表建立索引以获取要更新和保存的值。

以下是您的代码的查找方式:

# at some point above, create an "images" list instead of separate Zero, One, etc variables
# also create a "counts" list instead of count, count1, etc

    for (x, y) in labels:
        component = uf.find(labels[(x, y)])
        labels[(x, y)] = component

        # optionally, add code here to create a new image if needed

        images[component][y][x] = 255   # update image
        counts[component] += 1          # update count

        if counts[component] > 43:      # if count is high enough, save out image
            img = images[component] = Image.fromarray(Zero)
            img.save(os.path.join(dirs, 'image{:02d}.png'.format(component), 'png')

请注意,您需要以编程方式生成图像文件名,因此而不是Zero.png and One.png等等,我去了image00.png and image01.png。如果您想保持相同的名称系统,您可能可以创建从数字到英文名称的映射,但我怀疑使用数字无论如何都会更方便您以后的使用。

如果您不知道提前需要多少图像和计数,您可以向循环添加一些额外的逻辑,根据需要创建新的图像,并将它们附加到images and counts列表。我在上面的代码中添加了一条注释,显示了您想要该逻辑的位置。

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

两遍连接组件,组件数量问题 的相关文章

  • Python 3.6.1 安装位置

    我在 Ubuntu 16 服务器上安装了 Python 3 6 1 但找不到安装位置 我查看了 usr bin 其中提到了除 3 6 1 之外的所有其他版本 在哪里可以找到该版本的可执行文件 使用命令 whereis python3 6 1
  • NumPy 和 memmap:[Errno 24] 打开文件太多

    我正在处理大型矩阵 因此我使用 NumPy memmap 但是 我收到错误 因为显然 memmap 使用的文件描述符没有关闭 import numpy import tempfile counter 0 while True temp fd
  • 如何将字典和列表安全转储到 YAML 中?

    我想要输出为下面的 YAML item Food eat Food itemId 42536216 category fruit moreInfo organic 我已使用以下代码按照与上面相同的顺序进行打印 但输出未按预期进行 Code
  • 在循环中使用 if 语句? - 加工

    假设我必须在 for 循环中使用 if 语句 并且 for 循环在特定条件下触发 而 if 语句仅在 for 循环达到特定阶段时触发 例如 条件是一个计数器 当发生特定事件 例如球从屏幕上掉下来 时 该计数器会进行计数 每次球穿过屏幕时 都
  • 使用 pandas/beautiful soup 抓取表数据(而不是慢的 Selenium?),BS 实现不起作用

    我正在尝试抓取该网站上的网络数据 而我能够访问数据的唯一方法是迭代表的行 将它们添加到列表中 然后将它们添加到 pandas 数据框 写入csv 然后单击下一页并重复该过程 每次搜索大约 50 页 我的程序执行 100 多个搜索 它非常慢
  • 忽略稀疏矩阵中的重复条目

    我尝试过初始化csc matrix and csr matrix从列表中 data rows cols 值如文档所示 sparse csc matrix data rows cols shape n n 问题是 我实际上拥有的生成方法dat
  • 从嵌套列表创建数组时抑制 Numpy 中的科学记数法

    我有一个嵌套的 Python 列表 如下所示 my list 3 74 5162 13683628846 64 12783387559 86 1 81 9 55 116 189688622 37 260332262 0 1 97 2 2 7
  • python 排列有问题

    我在排列方面遇到一些问题 当谈到Python时 我真的是一个大菜鸟 所以任何帮助将不胜感激 假设我在文本文件中有一个范围为 1 6 的列表 例如 它看起来像 1 2 3 4 5 6 我想打开所述 txt 文件并计算这 6 个数字中 N 的所
  • 数字之和 C++

    我应该编写一个程序 要求用户提供正整数值 该程序应该使用循环来获取总和 从 1 到输入数字的所有整数 例如 如果用户输入 50 循环将求出 1 2 3 4 50 但由于某种原因它不起作用 我的 for 循环遇到了麻烦 但这就是我到目前为止所
  • pyCUDA无法打印结果

    最近 我使用 pip 为我的 python3 4 3 安装 pyCUDA 但我在测试示例代码时发现 https documen tician de pycuda tutorial html getting started https doc
  • multiprocessing.Queue 中的 ctx 参数

    我正在尝试使用 multiprocessing Queue 模块中的队列 实施 https docs python org 3 4 library multiprocessing html exchang objects Between p
  • 批处理文件 FOR/f 扩展

    我有一个文件 directories txt 与目录名称 每个在一行上 我喜欢扩展该行 C Documents and Settings USERNAME My Documents 在我的脚本中以真实用户名运行脚本 然而 回声与线路完全相同
  • JavaScript 中最长的通用前缀

    我正在尝试解决 Leet Code 挑战14 最长公共前缀 https leetcode com problems longest common prefix 编写一个函数来查找字符串数组中最长的公共前缀字符串 如果没有公共前缀 则返回空字
  • 如何构建 if 语句并与各种值进行比较?

    我该怎么写这个if以更好的方式声明条件 if data in 8 downto 1 x 70 or data in 8 downto 1 x 69 or data in 8 downto 1 x 72 or data in 8 downto
  • 将二进制图像划分为像素数据“块”

    我使用 Python 和 PIL 作为在二进制图像中嵌入数据的工作的一部分 并且需要分析像素组以确定要操作的适当像素 以便嵌入数据 图像需要被分割成相等的像素数据 块 以供分析 但我正在努力想出一种适当的方法来做到这一点 我尝试过使用 Py
  • Python 3 中 int() 和 Floor() 有什么区别?

    在Python 2中 floor 返回一个浮点值 虽然对我来说并不明显 但我发现了一些解释来澄清为什么它可能有用floor 返回浮点数 对于类似的情况float inf and float nan 然而 在Python 3中 floor 返
  • python 中的高效外积

    当我们必须处理 10k 维的向量时 Python 中的外积看起来相当慢 有人可以告诉我如何在 python 中加速这个操作吗 代码如下 In 8 a shape Out 8 128 In 9 b shape Out 9 32000 In 1
  • 如何在 __init__ 中使用await设置类属性

    我如何定义一个类await在构造函数或类体中 例如我想要的 import asyncio some code class Foo object async def init self settings self settings setti
  • 使用 python/numpy 重塑数组

    我想重塑以下数组 gt gt gt test array 11 12 13 14 21 22 23 24 31 32 33 34 41 42 43 44 为了得到 gt gt gt test2 array 11 12 21 22 13 14
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这

随机推荐

  • 如何在javascript中从大数中计算位?

    我有大量的数字存储在字符串中 let txt 10000000000000041 那么我如何计算二进制格式中呈现的位呢 例如 9的二进制格式是1001 没有1的二进制格式是2 到目前为止我做了什么 const countOne num gt
  • Ember.js REST Ajax 成功和错误

    我想知道是什么success and error在 Ember js RESTAdapter 中做ajax函数 https github com emberjs data blob 761412849a56ad086c44659faafa5
  • text-plain 的内容类型导致浏览器下载文件

    我正在编写一个 Web 应用程序 API 当有人访问 URL 时 它会返回文本数据 我将内容类型设置为 text plain 但是当我使用 Chrome 访问它时 它会下载包含该信息的文件 而不是显示它 当我使用 IE 访问它时 它显示正确
  • Python 递归返回 None

    这真的会很有趣 给出以下python codes def getBinary binaryInput kSize beginBit if int binaryInput beginBit kSize 1 1 print entered sh
  • 由于 dpkg 被中断,无法在 Linux 中安装软件错误 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我试图使用以下命令安装单声道 sudo apt get install mono 不幸的是 我在安装时关闭了终端 我再次开始重新安装 但显
  • MongoDB 从两个数组计算值、排序和限制

    我有一个存储浮点数组的 MongoDB 数据库 假设以下格式的文档集合 id 0 vals 0 8 0 2 0 5 有一个查询数组 例如 带有值 0 1 0 3 0 4 我想计算集合中所有元素的距离 例如 差异之和 对于给定的文档和查询 它
  • 具有匿名访问的 Spring Boot Security 预身份验证场景

    我有一个 Spring Boot 1 5 6 应用程序正在使用 预认证 https docs spring io spring security site docs current reference html preauth html来自
  • this.props.navigation.dispatch 与 this.props.navigation.navigate 之间的区别?

    我在反应导航问题部分看到很多人使用this props navigation dispatch以编程方式导航 是否有任何特定的原因或用例可以使用它this props navigation navigate 看来你可以向调度函数传递更多选项
  • Paypal 定期付款交易错误:11502:令牌无效

    我是贝宝新手 我需要为我的客户实施订阅 定期付款 我正在使用贝宝沙箱来实施 我遵循贝宝坚持创建定期付款资料的方式 从 SetExpressCheckout GetExpressCheckOut 和 DoExpressCheckOut 获得
  • Pyspark:如果列包含来自另一列的字符串(SQL LIKE 语句),则过滤数据框

    我正在尝试按以下方式过滤我的 pyspark 数据框 我有一列包含long text和一列包含数字 如果长文本包含number我想保留这个专栏 我正在尝试使用 SQLLIKE声明 但似乎我无法将其应用到另一列 此处number 我的代码如下
  • 为什么我不能使用“名称”作为变量/对象名称? [复制]

    这个问题在这里已经有答案了 当像这样声明一个对象时 var name firsName nur lastName jaman fullName function return this firsName this lastName cons
  • Akeneo:克隆产品

    我们需要在 Akeneo 1 4 中克隆产品 仅 SKU 应更改 我发现了类似的问题 1 http www akeneo com forums topic easy way to clone product 2 http www akene
  • 当应用程序进入后台时关闭 modalviewcontroller

    当应用程序进入后台时 我需要自动关闭我的 uiimagepicker 模态视图控制器 我尝试将代码放入 viewdiddissappear 方法中的解雇模态视图控制器代码 但它没有被调用 所以我在 appdelegate 中引用了视图控制器
  • 在 Bootstrap 模态中滚动到 DIV

    我有 3 个按钮 它们将触发相同的模式 但需要滚动到不同的部分 我正在努力实现这一目标 请帮忙 a class btn goto section 1 Launch modal a a class btn goto section 2 Lau
  • 如何优化 Express.js 路线?

    我正在开发一个保留区域 其中包含以下几页 dashboard dashboard profile dashboard user dashboard view 这是一个简单的用户控制面板 目前我有四种路线 app all dashboard
  • 复制文件名中带有方括号 [ ] 的文件并使用 * 通配符

    我在 Windows 7 上使用 PowerShell 并编写一个脚本将一堆文件从一个文件夹结构复制到另一个文件夹结构 有点像编译 PowerShellCopy Itemcmdlet 认为方括号 是某种通配符 并且由于某种原因我无法转义它们
  • 超正方错误 - 图像太大

    对于大小为 5 MB 的图像 我从 tesseract 收到以下错误 Tesseract 开源 OCR 引擎 v3 01 与 Leptonica 第0页 图片太大 39667 56133 处理过程中出错 文件大小是否有限制 或者是否有参数可
  • 使用 CSS 渐变时添加图像?

    我正在尝试使用 CSS 渐变以及渐变顶部的图标创建一个按钮 我尝试了两种方法 但都失败了 First btn background webkit gradient linear 0 0 0 89 from 3171CA to 15396F
  • Wavesurfer.js 工作正常,但react-wavesurfer 有问题

    我在使用 Wavesurfer 的网络项目中遇到了障碍 我已经在我的项目中安装了wavesurfer js 和react wavesurfer 作为节点模块 Wavesurfer js 似乎工作正常 但 React wavesurfer 似
  • 两遍连接组件,组件数量问题

    两遍连通分量算法正在检测一幅图像中的单独分量 每次检测后我都会保存每个component作为不同的图像 要显示每个component在单独的图像上 我使用多个 if 条件 但是这些if conditions每当图像中每个组件都有很多形状时