1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/usr/bin/env python
- '''
- MSER detector demo
- ==================
- Usage:
- ------
- mser.py [<video source>]
- Keys:
- -----
- ESC - exit
- '''
- # Python 2/3 compatibility
- from __future__ import print_function
- import numpy as np
- import cv2 as cv
- import video
- import sys
- def main():
- try:
- video_src = sys.argv[1]
- except:
- video_src = 0
- cam = video.create_capture(video_src)
- mser = cv.MSER_create()
- while True:
- ret, img = cam.read()
- if ret == 0:
- break
- gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
- vis = img.copy()
- regions, _ = mser.detectRegions(gray)
- hulls = [cv.convexHull(p.reshape(-1, 1, 2)) for p in regions]
- cv.polylines(vis, hulls, 1, (0, 255, 0))
- cv.imshow('img', vis)
- if cv.waitKey(5) == 27:
- break
- print('Done')
- if __name__ == '__main__':
- print(__doc__)
- main()
- cv.destroyAllWindows()
|