a few minor fixes in Python samples
authorVadim Pisarevsky <no@email>
Wed, 13 Jul 2011 06:19:21 +0000 (06:19 +0000)
committerVadim Pisarevsky <no@email>
Wed, 13 Jul 2011 06:19:21 +0000 (06:19 +0000)
samples/python2/find_obj.py
samples/python2/gaussian_mix.py
samples/python2/inpaint.py
samples/python2/opt_flow.py
samples/python2/watershed.py

index 9881d00..2a36ddb 100644 (file)
@@ -37,10 +37,17 @@ def draw_match(img1, img2, p1, p2, status = None, H = None):
     red = (0, 0, 255)\r
     for (x1, y1), (x2, y2), inlier in zip(np.int32(p1), np.int32(p2), status):\r
         col = [red, green][inlier]\r
-        if not inlier:\r
+        if inlier:\r
             cv2.line(vis, (x1, y1), (x2+w1, y2), col)\r
-        cv2.circle(vis, (x1, y1), 2, col, -1)\r
-        cv2.circle(vis, (x2+w1, y2), 2, col, -1)\r
+            cv2.circle(vis, (x1, y1), 2, col, -1)\r
+            cv2.circle(vis, (x2+w1, y2), 2, col, -1)\r
+        else:\r
+            r = 2\r
+            thickness = 3\r
+            cv2.line(vis, (x1-r, y1-r), (x1+r, y1+r), col, thickness)\r
+            cv2.line(vis, (x1-r, y1+r), (x1+r, y1-r), col, thickness)\r
+            cv2.line(vis, (x2+w1-r, y2-r), (x2+w1+r, y2+r), col, thickness)\r
+            cv2.line(vis, (x2+w1-r, y2+r), (x2+w1+r, y2-r), col, thickness)\r
     return vis\r
 \r
 if __name__ == '__main__':\r
index d7aaa21..1c06771 100644 (file)
@@ -1,8 +1,8 @@
 import numpy as np\r
+import math\r
 from numpy import random\r
 import cv2\r
 \r
-\r
 def make_gaussians(cluster_n, img_size):\r
     points = []\r
     ref_distrs = []\r
@@ -20,7 +20,7 @@ def make_gaussians(cluster_n, img_size):
 def draw_gaussain(img, mean, cov, color):\r
     x, y = np.int32(mean)\r
     w, u, vt = cv2.SVDecomp(cov)\r
-    ang = np.rad2deg( np.arctan2(u[1, 0], u[0, 0]) )\r
+    ang = np.arctan2(u[1, 0], u[0, 0])*(180/math.pi)\r
     s1, s2 = np.sqrt(w)*3.0\r
     cv2.ellipse(img, (x, y), (s1, s2), ang, 0, 360, color, 1, cv2.CV_AA)\r
 \r
index ddd8abc..0ae3854 100644 (file)
@@ -5,8 +5,8 @@ from common import Sketcher
 help_message = '''USAGE: inpaint.py [<image>]\r
 \r
 Keys:\r
-  SPACE - update inpaint\r
-  r     - restore image\r
+  SPACE - inpaint\r
+  r     - reset the inpainting mask\r
   ESC   - exit\r
 '''\r
 \r
index 4a18664..8ab1aa2 100644 (file)
@@ -1,4 +1,5 @@
 import numpy as np\r
+import math\r
 import cv2, cv\r
 import video\r
 \r
@@ -29,7 +30,7 @@ def draw_hsv(flow):
     ang = np.arctan2(fy, fx) + np.pi\r
     v = np.sqrt(fx*fx+fy*fy)\r
     hsv = np.zeros((h, w, 3), np.uint8)\r
-    hsv[...,0] = np.rad2deg(ang)/2\r
+    hsv[...,0] = ang*(180/math.pi/2)\r
     hsv[...,1] = 255\r
     hsv[...,2] = np.minimum(v*4, 255)\r
     bgr = cv2.cvtColor(hsv, cv.CV_HSV2BGR)\r
index 5d45417..ffddbbc 100644 (file)
@@ -51,7 +51,7 @@ class App:
                 print 'auto_update if', ['off', 'on'][self.auto_update]\r
             if ch in [ord('r'), ord('R')]:\r
                 self.markers[:] = 0\r
-                self.markers_vis[:] = self.img\r
+                self.markers_vis[:] = self.img.copy()\r
                 self.sketch.show()\r
 \r
 \r