【问题标题】:How do I find the positions of my blobs using pydip?如何使用 pydip 找到我的 blob 的位置?
【发布时间】:2023-03-25 20:32:02
【问题描述】:
import diplib as dip
from matplotlib import pyplot as plt
#reading video
vid = dip.ImageReadICS(r'C:\Users\mrtij\.spyder-py3\20211123_152822_capture.ics')
vid = vid[0:-1, 0:-1, 325:3149]
smvid = dip.Gauss(vid, [2,2,0])

for i in range(1000, 1001):
    img = smvid[0:-1, 0:-1, i]

    imgmask = dip.IsodataThreshold(img)
    imgmask = dip.Label(imgmask)

    measuremnt = dip.MeasurementTool.Measure(imgmask, img)
    print(measurment)

我正在尝试在分辨率相对较低的视频(20211123_152822_capture.ics 文件)上查找 blob 的位置和大小。首先我添加一个平滑过滤器,然后添加两个掩蔽过滤器。然而,MeasurementTool.Measure 函数只返回大小而不是我的 blob 的位置。我找不到如何解决这个问题,我想也许这里有人可以提供帮助。 编辑:我在这里只查看一个帧,我计划保存每个帧上每个 blob 的坐标,因此是 for 循环。

【问题讨论】:

  • 顺便说一句:如果您使用正确的标签,您更有可能在这里得到答案。标签是人们过滤他们可能能够回答的问题。

标签: python image-processing diplib


【解决方案1】:

想通了,需要使用MeasurementTool.Measure(imgmask, img, ['Size', 'Gravity'])

【讨论】:

  • “Size”为您提供二进制形状的大小,“Mass”为您提供灰度“大小”,即高斯斑点上的积分。同样,“Center”为您提供二进制形状的质心,“Gravity”为您提供灰度质心。在测量高斯斑点时,灰度测量通常更精确。您甚至可以稍微扩大标记图像以提高精度 (GrowRegions)。
猜你喜欢
  • 1970-01-01
  • 2012-06-15
  • 1970-01-01
  • 2011-11-19
  • 1970-01-01
  • 2020-07-18
  • 1970-01-01
  • 1970-01-01
  • 2011-04-01
相关资源
最近更新 更多