Browse Source

Adicionando verificacao

lego 6 years ago
parent
commit
240971a599
1 changed files with 3 additions and 8 deletions
  1. 3 8
      cmarkers.py

+ 3 - 8
cmarkers.py

@@ -89,8 +89,7 @@ def getCMarkers (img):
                     continue
                 u = np.array([p1[0]-p[0], p1[1]-p[1]])
                 v = np.array([p2[0]-p[0], p2[1]-p[1]])
-                c = np.dot(u,v)/norm(u)/norm(v)
-                angle = np.arccos(c)
+                angle = np.math.atan2(np.linalg.det([u,v]),np.dot(u,v))
                 if abs(angle-math.pi/2.0) < math.pi/10.0:
                     bottom = p1
                     rigth = p2
@@ -107,11 +106,7 @@ def getCMarkers (img):
                     number = getNumber(code, 150)
                     if number == False:
                         continue
-                    uvalid, vvalid = u >= 0, v > 0
-                    valid = [uvalid[0], uvalid[1], vvalid[0], vvalid[1]]
 
-                    if valid not in validcheck:
-                        continue
                     #cv2.imshow("m2", code)
 
                     uu = np.array([0, 1])
@@ -121,8 +116,8 @@ def getCMarkers (img):
                     if number != 0:
                         markers.append([number, mid, angle])
     
-    img2 = cv2.drawKeypoints(img2, kk, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
-    cv2.imshow("m3", img2)
+    #img2 = cv2.drawKeypoints(img2, kk, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
+    #cv2.imshow("m3", img2)
     return markers
 
 def getNumber(img, threshold):