【问题标题】:How to determine number of distinct shapes on a picture? [closed]如何确定图片上不同形状的数量? [关闭]
【发布时间】:2019-02-01 03:53:03
【问题描述】:

这里我有两个物体/星星的图像: 我有数百张这样的图像,来自 NASA MAST 档案。 (角不是星星,只是错误,一颗星在顶部,另一颗在底部)。 我应该使用什么算法来确定一张图片中的物体数量(在这种情况下是星星)?对于人类来说,很明显有两个对象,但我想在 Python 中实现这种检测。 仅供参考,这是一张只有一颗星的图片:

(图片是用 PyKE 的 FITS 文件生成的。)

【问题讨论】:

    标签: python-3.x image-processing neural-network astropy


    【解决方案1】:

    您可以应用阈值并使用 open cv 来分析连接组件(组)的数量。 例如:

    import cv2
    src = cv2.imread('/path/to/your/image')
    ret, thresh = cv2.threshold(src,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
    connectivity = 8 #also diagonal neighbors, choose 4 if you want just horizontal and vertical neighbors. 
    # Analysis of the binary image
    output = cv2.connectedComponentsWithStats(thresh, connectivity, cv2.CV_32S)
    n_groups=output[2].max()
    

    要消除噪音,您可以决定不考虑连接像素数少于 TH 的组(例如,从您上传的图像中,我会选择 TH=4 之类的东西)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-23
      • 1970-01-01
      • 2013-10-21
      • 1970-01-01
      • 2012-08-23
      • 2017-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多