gpt4 book ai didi

algorithm - 如何计算该图像中的 Blob 数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:15:19 24 4
gpt4 key购买 nike

我试图在下图中计算移植的头发数。因此,实际上,我必须计算在图像中心可以找到的 Blob 数量。
(我上传了一个秃头皮的倒影,上面已经移植了新的头发,因为原始的图像很血腥,绝对令人作呕!要查看原始的非倒置图像,请单击here。要查看更大版本的倒置图像,只需点击它)。有没有已知的图像处理算法来检测这些 Blob ?我发现Circle Hough Transform算法可用于在图像中查找圆,但是我不确定这是否是可用于在下图像中查找小 Blob 的最佳算法。

enter image description here

P.S. 根据答案之一,我尝试使用ImageJ提取 Blob ,但结果不够令人满意:

  • 我打开了original不变的图像(警告!看到它很血腥,令人作呕!)。
  • 拆分通道(“图像”>“颜色”>“拆分通道”)。并选择蓝色通道继续。
  • 已应用的Closing过滤器(插件>快速形态>形态过滤器)具有以下值:操作:关闭,元素:正方形,半径:2像素
  • 应用的White Top Hat过滤器(插件>快速形态>形态过滤器),它们具有以下值:操作:White Top Hat,元素:Square,半径:17px
    enter image description here

  • 但是,我不知道在此步骤之后究竟要怎么做才能尽可能准确地计数移植点。我尝试使用(过程>查找最大值),但结果对我来说似乎不够准确(使用以下设置:噪声容限:10,输出:单点,不包括边缘最大值,浅色背景):

    enter image description here

    如您所见,一些白色 Blob 已被忽略,而某些实际上不是毛发移植 Blob 的白色区域已被标记。

    您建议使用哪一组过滤器来准确找到 Blob ?使用 ImageJ似乎是一个不错的选择,因为它提供了我们需要的大多数过滤器。不过,随时建议使用其他工具,库(例如OpenCV等)可以做什么。任何帮助将不胜感激!

    最佳答案

    我确实认为您正在尝试以某种错误的方式解决问题。听起来似乎没有根据,所以最好先显示一下结果。

    在下面,我的左边有几张你的照片,右边是发现的移植物。绿色用于突出显示具有多个移植的区域。

    enter image description here

    总体方法非常基础(稍后将进行描述),但是仍然可以提供接近准确的结果。请注意,这是第一次尝试,因此有很多改进的空间。

    无论如何,让我们回到最初的说法,说您的方法是错误的。有几个主要问题:

  • 您的图像质量很差
  • 您说您想找到 Blob ,但实际上您正在寻找毛发移植objects
  • 您完全忽略了平均头远不是平坦的事实
  • 看起来确实像您认为过滤器会在初始图像中添加一些重要的细节
  • 您期望算法为您做魔术

  • 让我们逐一回顾所有这些项目。

    1.图像质量

    这可能是很明显的陈述,但是在进行实际处理之前,您需要确保拥有最佳的初始数据。您可能需要花费数周的时间来尝试找到一种方法来处理您所拥有的照片而没有任何重大成就。以下是一些问题区域:

    enter image description here

    我敢打赌,尽管您大脑中拥有最先进的对象识别算法,但您很难“阅读”这些农作物。

    同样,您的时间很昂贵,并且您仍然需要尽可能的准确性和稳定性。因此,以任何合理的价格尝试获得:适当的对比度,清晰的边缘,更好的色彩和分色效果。

    2.更好地理解要识别的对象

    一般来说,您具有要识别的3D对象。因此,您可以分析阴影以提高准确性。顺便说一句,这几乎就像是火星表面分析:)

    enter image description here

    3.头部的形式不应忽略

    由于头部的形状,您会变形。同样,为了获得适当的精度,应该在实际分析之前纠正那些失真。基本上,您需要展平分析区域。

    enter image description here

    3D model source

    4.过滤器可能对没有帮助

    过滤器不会添加信息,但是可以轻松删除一些重要的细节。您已经提到了霍夫变换,所以这是一个有趣的问题: Find lines in shape

    我将以这个问题为例。基本上,您需要从给定图片中提取几何图形。形状的线条看起来有点复杂,因此您可以决定使用 skeletonization
    enter image description here

    令人难过的是,您需要处理更复杂的几何图形,几乎没有机会了解原始图片的真实含义。

    5.抱歉,这里没有魔法

    请注意以下几点:

    enter image description here

    您必须尝试获取更好的数据,以便获得更好的准确性和稳定性。模型本身也非常重要。

    结果解释

    就像我说的那样,我的方法非常简单:对图像进行海报处理,然后使用非常基本的算法来识别具有特定颜色的区域。

    enter image description here

    可以通过更巧妙的方式来进行后期制作,可以改善区域检测等。对于此PoC,我只有一条简单的规则即可突出显示具有多个植入物的区域。确定区域后,可以执行更高级的分析。

    无论如何,更好的图像质量将使您甚至可以使用简单的方法并获得正确的结果。

    最后

    诊所如何获得 Yondu作为客户? :)

    enter image description here

    更新(工具和技术)
  • 海报化-GIMP(默认设置,最小颜色)
  • 移植物识别和可视化-Java程序,无库或其他依赖项
  • 确定了区域很容易找到平均大小,然后将其与其他区域进行比较,并将明显较大的区域标记为多次移植。

  • 基本上,所有事情都是“手工”完成的。水平和垂直扫描,相交处给出区域。垂直线被排序并用于恢复实际形状。解决方案是自产的,代码有点丑陋,所以不想共享它,对不起。

    这个想法很明显并且得到了很好的解释(至少我是这样认为的)。这是另一个使用不同扫描步骤的示例:

    enter image description here

    另一个更新

    为了验证一个基本概念而开发的一小段代码进行了一些改进,因此现在它可以实时处理4K视频分段。想法是相同的:水平和垂直扫描,由相交的线定义的区域等。仍然没有外部库,只是很多乐趣和更优化的代码。

    enter image description here

    enter image description here

    可以在YouTube上找到其他示例: RobotsCanSee

    或关注Telegram中的进度: RobotsCanSee

    关于algorithm - 如何计算该图像中的 Blob 数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32925169/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com