diff --git a/samples/python2/mser.py b/samples/python2/mser.py
new file mode 100644
index 0000000000000000000000000000000000000000..dcdebc6eb42d8d01e17f891e0a0e66d9b1bcc5a4
--- /dev/null
+++ b/samples/python2/mser.py
@@ -0,0 +1,37 @@
+'''
+MSER detector demo
+==================
+
+Usage:
+------
+    mser.py [<video source>]
+  
+Keys:
+-----
+    ESC   - exit
+
+'''
+
+import numpy as np
+import cv2
+import video
+
+if __name__ == '__main__':
+    import sys
+    try: video_src = sys.argv[1]
+    except: video_src = 0
+
+    cam = video.create_capture(video_src)
+    mser = cv2.MSER()
+    while True:
+        ret, img = cam.read()
+        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
+        vis = img.copy()
+        
+        regions = mser.detect(gray, None)
+        hulls = [cv2.convexHull(p.reshape(-1, 1, 2)) for p in regions]
+        cv2.polylines(vis, hulls, 1, (0, 255, 0))
+
+        cv2.imshow('img', vis)
+        if cv2.waitKey(5) == 27:
+            break
\ No newline at end of file