用Python中的OpenCV检测半圆的方向

时间:2015-12-05 16:13:14

标签: python opencv

我想出了如何检测半圆的方向。当我的程序获得轮廓时,我希望它从左到右检索它们,但是,OpenCV将底部的半圆识别为单独的行,并首先计算顶部的半圆,然后计算底部的半圆(如图所示)图片)。

修改

lower = np.array([0, 0, 0])
upper = np.array([15, 15, 15])
shapeMask = cv2.inRange(img, lower, upper)

_, contours, _ = cv2.findContours(shapeMask.copy(), cv2.RETR_EXTERNAL,    cv2.CHAIN_APPROX_SIMPLE)

contours.reverse()

for cnt in contours:
    if len(approx)== 4 or len(approx) == 8:
          if(np.array_equal(img[midpoint[1],midpoint[0]],[0, 0, 0])):
              #unshaded square
          elif(np.array_equal(img[midpoint[1],midpoint[0]],[0, 255, 255])):
              #shaded square
      elif len(approx) == 3 or (len(approx) >= 14 and len(approx) <= 17):
          if(np.array_equal(img[midpoint[1],midpoint[0]],[0, 0, 0])):
              #unshaded triangle
          elif(np.array_equal(img[midpoint[1],midpoint[0]],[0, 255, 255])):
              #shaded triangle
      elif len(approx) >= 9 and len(approx) <= 13:
          #semicircle
      elif len(approx) > 18:
          if(np.array_equal(img[midpoint[1],midpoint[0]],[0, 0, 0])):
              #shaded circle
          elif(np.array_equal(img[midpoint[1],midpoint[0]],[0, 255, 255])):
              #unshaded circle

Here is the image 我希望能够区分顶部的半圆和底部的半圆,并首先计算底部,因为它位于顶部的顶部之前

0 个答案:

没有答案