From b1505330bda165e46122e246e1eff221c01e6ef2 Mon Sep 17 00:00:00 2001 From: bendtherules Date: Thu, 6 Feb 2014 14:53:29 +0530 Subject: [PATCH] Shape detection for JU techfest --- internal_right_left_gesture.py | 8 ++++++-- shape_detect/detect.py | 0 shape_detect/pics/circle.jpg | Bin 0 -> 10607 bytes shape_detect/pics/ellipse.jpg | Bin 0 -> 10866 bytes shape_detect/pics/rect.jpg | Bin 0 -> 7583 bytes shape_detect/pics/rect_rotated.jpg | Bin 0 -> 11646 bytes shape_detect/pics/tri_pyth.jpg | Bin 0 -> 10008 bytes shape_detect/pics/tri_ver.jpg | Bin 0 -> 10529 bytes 8 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 shape_detect/detect.py create mode 100644 shape_detect/pics/circle.jpg create mode 100644 shape_detect/pics/ellipse.jpg create mode 100644 shape_detect/pics/rect.jpg create mode 100644 shape_detect/pics/rect_rotated.jpg create mode 100644 shape_detect/pics/tri_pyth.jpg create mode 100644 shape_detect/pics/tri_ver.jpg diff --git a/internal_right_left_gesture.py b/internal_right_left_gesture.py index 7f254be..28fd681 100644 --- a/internal_right_left_gesture.py +++ b/internal_right_left_gesture.py @@ -7,6 +7,8 @@ c1=time.clock() gesture_time=30 detection_sleep=False blobs=[None]*gesture_time + +debug=True #d=s.Display() i1=c.getImage() img_width_ori=i1.width @@ -49,10 +51,12 @@ while True: print(right_step,left_step) if right_step>left_step: print("Left to right") - press.press_up() + if not debug: + press.press_up() else: print("Right to left") - press.press_down() + if not debug: + press.press_down() print(c1) detection_sleep=gesture_time*2 else: diff --git a/shape_detect/detect.py b/shape_detect/detect.py new file mode 100644 index 0000000..e69de29 diff --git a/shape_detect/pics/circle.jpg b/shape_detect/pics/circle.jpg new file mode 100644 index 0000000000000000000000000000000000000000..571bc8bc0dd4a75f72a7c27349e333e8f130b7e7 GIT binary patch literal 10607 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 HnM3~r*qpL2 literal 0 HcmV?d00001 diff --git a/shape_detect/pics/ellipse.jpg b/shape_detect/pics/ellipse.jpg new file mode 100644 index 0000000000000000000000000000000000000000..41eda4e669bf47d5504a01865d08f52958eda25a GIT binary patch literal 10866 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 L{{{!3q|tu@3YW4c literal 0 HcmV?d00001 diff --git a/shape_detect/pics/rect.jpg b/shape_detect/pics/rect.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d44b9520c45fc510a7c7e25bc13277946bf07505 GIT binary patch literal 7583 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 QeqrDj2L7utAjlg2Kh!*_l>h($ literal 0 HcmV?d00001 diff --git a/shape_detect/pics/tri_pyth.jpg b/shape_detect/pics/tri_pyth.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4f73d906b29552eb44d1ecd3092a044d815993a3 GIT binary patch literal 10008 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 literal 0 HcmV?d00001 diff --git a/shape_detect/pics/tri_ver.jpg b/shape_detect/pics/tri_ver.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a78b831f9a33d83267654b9f221de9e26b65959b GIT binary patch literal 10529 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 Le+>gL-oU>BiB(QG literal 0 HcmV?d00001