|
@@ -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
|
|
|
|
|
|
|
|
|
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)
|
|
|
+
|
|
|
+
|
|
|
return markers
|
|
|
|
|
|
def getNumber(img, threshold):
|