Python找到tubeshape结构,填充空洞,并生成二进制掩码用于下游图像处理

2024-05-17 07:35:18 发布

您现在位置:Python中文网/ 问答频道 /正文

第一次张贴在这里。在

我正在为一个生物工程项目进行图像处理,我正在使用Python(主要是Skimage包)对我们拍摄的图像进行批处理。每个图像中有6-8个试管,细胞在其中流动。在每个时间点,我们捕捉到正常的明亮场图像,以及荧光图像。我试图根据明亮的场图像来识别管子,把管子从背景中分离出来,并给它们贴上标签。掩蔽/标记后的图像将用于荧光图像的下游处理,在那里我们识别细胞并得到它们的形状度量。在

太长了,读不下去了,不能用EP>THL;Prthon;SkI象;图像处理;在亮场图像中从背景中分离出管状结构。在

我将用一个例子来说明我所做的。我想包括所有的中间图像,但我没有任何声誉点张贴超过两个图像。所以我将展示第一张和最后一张图片。在

  1. 我首先裁剪了比例尺,得到了一个灰度图像,这是得到的图像。bf_image

  2. 我用sobel_h过滤器来找到水平边。在

    bf_sobel = sobel_h(bf_cropped)
    io.imshow(bf_sobel)
    
  3. 然后我尝试了所有的阈值,并选择了一个我觉得不错的阈值算法(otsu)

    fig, ax = try_all_threshold(bf_sobel, figsize=(25,20), verbose=False)
    plt.show()
    bf_threshold = threshold_otsu(bf_sobel)
    bf_thresholded = bf_sobel > bf_threshold
    io.imshow(bf_thresholded)
    
  4. 然后,我应用了关闭函数并删除了小的峎对象。在

    ^{3}$

    bf_small_removed

这就是我被困的地方。我正在尝试填充管边之间的间隙,并为各个管创建遮罩以将它们与背景分开。有什么建议吗?谢谢!!!在


Tags: io图像threshold生物阈值图像处理细胞背景