mser.py 791 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/usr/bin/env python
  2. '''
  3. MSER detector demo
  4. ==================
  5. Usage:
  6. ------
  7. mser.py [<video source>]
  8. Keys:
  9. -----
  10. ESC - exit
  11. '''
  12. import numpy as np
  13. import cv2
  14. import video
  15. if __name__ == '__main__':
  16. import sys
  17. try:
  18. video_src = sys.argv[1]
  19. except:
  20. video_src = 0
  21. cam = video.create_capture(video_src)
  22. mser = cv2.MSER_create()
  23. while True:
  24. ret, img = cam.read()
  25. gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  26. vis = img.copy()
  27. regions = mser.detectRegions(gray, None)
  28. hulls = [cv2.convexHull(p.reshape(-1, 1, 2)) for p in regions]
  29. cv2.polylines(vis, hulls, 1, (0, 255, 0))
  30. cv2.imshow('img', vis)
  31. if 0xFF & cv2.waitKey(5) == 27:
  32. break
  33. cv2.destroyAllWindows()