如何用skimage python来区分圆形和方形?

时间:2015-08-11 21:18:11

标签: python scikit-image

我正在尝试检测某些表面内的圆圈,然后获得质心和区域。 我通过检查区域的偏心率和我想要的区域范围来做到这一点,并且它工作正常。如下图所示。 检测到小圆圈。 enter image description here

但有时候,由于它们的偏心,也可以检测出与正方形相似的结构。 例如这张图片: enter image description here

检测到蓝色区域。 所以我的问题是如何区分它们? 我不想检测广场。 这是代码:

    myimage = np.loadtxt("file_113.dat")
    #detecting edges
    edges = feature.canny(myimage, sigma=3, low_threshold=-0.2,high_threshold=0.2)
    labeled_image = label(edges)

    #Locating center of each region
    regions = regionprops(labeled_image)

       for region in regions:
           if  region.area < 100 and region.eccentricity <= 0.4:
               # eccentricity = 0 is a perfect circle
               y0, x0 = region.centroid
               print  ("region " +  str(counter)  + " center at (y,x): " + str(y0) + "," + str(x0))
               print "    region area = " + str(region.area)
               print "    region ecc  = " + str(region.eccentricity)

0 个答案:

没有答案