From 6d48185771526a8bf91175f8018ddcc11121f9d9 Mon Sep 17 00:00:00 2001 From: Cole Deck Date: Sun, 8 Dec 2019 15:17:40 -0600 Subject: [PATCH] better drawing, faster text --- main.py | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/main.py b/main.py index bee7732..b152093 100644 --- a/main.py +++ b/main.py @@ -101,7 +101,7 @@ cnts = imutils.grab_contours(cnts) # sort the contours from left-to-right and initialize the # 'pixels per metric' calibration variable -(cnts, _) = contours.sort_contours(cnts) +#(cnts, _) = contours.sort_contours(cnts) pixelsPerMetric = None num = 0 @@ -220,7 +220,7 @@ for c in cnts: #cv2.drawContours(orig, [box.astype("int")], -1, (0, 255, 0), 2) else: circular = True - cv2.circle(orig,(int(x),int(y)),int(radius),(0,255,0),2) + cv2.circle(orig,(int(x),int(y)),int(radius),(0,255,0),1) objtype = "Unknown" @@ -246,8 +246,8 @@ for c in cnts: hull2 = cv2.convexHull(c) defects = cv2.convexityDefects(c,hull) #print(str(defects.size) + " match") - cv2.drawContours(orig, (hull2), -1, (0, 0, 255), 8) - cv2.drawContours(orig, (approx), -1, (255, 0, 0), 6) + cv2.drawContours(orig, (hull2), -1, (0, 0, 255), 3) + cv2.drawContours(orig, (approx), -1, (255, 0, 0), 3) convexness = area_contour / cv2.contourArea(hull2) #print(str(convexness) + " % fill") #if not cv2.isContourConvex(approx): @@ -282,7 +282,7 @@ for c in cnts: swap(xpos, xpos2) swap(ypos, ypos2) if rectangular: - cv2.line(orig,(int(xpos),int(ypos)),(int(xpos2), int(ypos2)),(0,255,0),2) + cv2.line(orig,(int(xpos),int(ypos)),(int(xpos2), int(ypos2)),(0,255,0),1) #print(str(iteml)) # draw the object sizes on the image if args2.show: @@ -292,25 +292,19 @@ for c in cnts: cv2.putText(orig, str(objtype), (int(xpos2 + 10), int(ypos2 + 20)), cv2.FONT_HERSHEY_SIMPLEX, 0.65, (255, 255, 255), 2) + output = "" if objtype == "Unknown": - cv2.putText(orig, "{:.2f}in".format(itemw) + " x {:.2f}in".format(itemh), # print axle length - (int(xpos2 + 10), int(ypos2 + 40)), cv2.FONT_HERSHEY_SIMPLEX, - 0.65, (255, 255, 255), 2) - if objtype == "Screw": - cv2.putText(orig, str(iteml) + "in", # print screw length - (int(xpos2 + 10), int(ypos2 + 40)), cv2.FONT_HERSHEY_SIMPLEX, - 0.65, (255, 255, 255), 2) - if objtype == "Standoff": - cv2.putText(orig, str(iteml) + "in", # print standoff length - (int(xpos2 + 10), int(ypos2 + 40)), cv2.FONT_HERSHEY_SIMPLEX, - 0.65, (255, 255, 255), 2) + output = "{:.2f}in".format(itemw) + " x {:.2f}in".format(itemh) + if objtype == "Screw" or objtype == "Standoff": + output = str(iteml) + "in" if objtype == "Axle": - cv2.putText(orig, "{:.2f}in".format(iteml), # print axle length - (int(xpos2 + 10), int(ypos2 + 40)), cv2.FONT_HERSHEY_SIMPLEX, - 0.65, (255, 255, 255), 2) + output = "{:.2f}in".format(iteml) + cv2.putText(orig, output, # print data + (int(xpos2 + 10), int(ypos2 + 40)), cv2.FONT_HERSHEY_SIMPLEX, + 0.65, (255, 255, 255), 2) # show the output image cv2.imshow("Item Sorter", orig) - cv2.waitKey(100) + cv2.waitKey(25) cv2.waitKey(0) \ No newline at end of file