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

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(使用前将#替换为@)

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

随机推荐

  • 如何在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每当图像中每个组件都有很多形状时