Guest User

Untitled

a guest
Jan 17th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.62 KB | None | 0 0
  1. import cv2
  2. import numpy as np
  3. from PIL import ImageGrab
  4.  
  5. kernelOpen=np.ones((5,5))
  6. kernelClose=np.ones((20,20))
  7.  
  8.  
  9. while(True):
  10. #Get current window
  11. frames = np.array(ImageGrab.grab(bbox =(0,40,1280,720)))
  12. #Convert window to RGB format
  13. framess = cv2.cvtColor(frames, cv2.COLOR_BGR2RGB)
  14. frame = cv2.GaussianBlur(framess, (17, 17), 0)
  15. #Convert window to HSV format
  16. hsvs = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
  17. hsv= cv2.GaussianBlur(hsvs, (17, 17), 0)
  18.  
  19. lower_red = np.array([20, 100, 100])
  20. upper_red = np.array([30, 255, 255])
  21.  
  22. mask = cv2.inRange(hsv, lower_red, upper_red)
  23. maskOpen=cv2.morphologyEx(mask,cv2.MORPH_OPEN,kernelOpen)
  24. maskClose=cv2.morphologyEx(maskOpen,cv2.MORPH_CLOSE,kernelClose)
  25. maskFinal=maskClose
  26. im, conts, h = cv2.findContours(maskFinal.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
  27. center =None
  28. c=max(conts, key=cv2.contourArea)
  29. ((x, y), radius) = cv2.minEnclosingCircle(c)
  30. M = cv2.moments(c)
  31. center = (int(M["m10"] / M["m00"]), int(M["m01"] / M["m00"]))
  32. cv2.putText(frame,"Distance", (center[0]+10,center[1]), cv2.FONT_HERSHEY_SIMPLEX, 0.4,(0, 0, 255),1)
  33. cv2.putText(frame,"("+str(center[0])+","+str(center[1])+")", (center[0]+10,center[1]+15), cv2.FONT_HERSHEY_SIMPLEX, 0.4,(0, 0, 255),1)
  34. cv2.drawContours(hsv,conts,-1,(255,0,0),3)
  35. for i in range(len(conts)):
  36. x,y,w,h=cv2.boundingRect(conts[i])
  37. cv2.rectangle(frame,(x,y),(x+w,y+h),(0,0,255), 2)
  38. res = cv2.bitwise_and(frame,frame, mask= mask)
  39.  
  40. cv2.imshow('original', frame)
  41.  
  42.  
  43. if cv2.waitKey(1) & 0xFF == ord('q'):
  44. break
  45.  
  46. cv2.destroyAllWindows()
Add Comment
Please, Sign In to add comment