回答編集履歴

4

追記

2019/01/18 03:16

投稿

Takaya901
Takaya901

スコア181

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- #追記
13
+ #追記1
14
14
 
15
15
  以下のように,ボタンが離されるまで次のループに行かないようにするとどうでしょう.
16
16
 
@@ -37,3 +37,11 @@
37
37
  continue
38
38
 
39
39
  ```
40
+
41
+
42
+
43
+ #追記2
44
+
45
+ 失礼しました。
46
+
47
+ getFeatureIndexが正しく機能していればonMouseが複数回呼ばれても大丈夫なはずなので、そこを見直して見てください。

3

修正

2019/01/18 03:16

投稿

Takaya901
Takaya901

スコア181

test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
  while mouseData.getEvent() != cv2.EVENT_LBUTTONUP:
34
34
 
35
- #または, while mouseData.getEvent() == cv2.EVENT_LBzUTTONDOWN:
35
+ #または, while mouseData.getEvent() == cv2.EVENT_LBUTTONDOWN:
36
36
 
37
37
  continue
38
38
 

2

追記

2019/01/17 08:13

投稿

Takaya901
Takaya901

スコア181

test CHANGED
@@ -7,3 +7,33 @@
7
7
 
8
8
 
9
9
  余談ですが,OpenCVによるオプティカルフローの計算は機械学習ではないと思います.画像処理のアルゴリズムの1つなので.
10
+
11
+
12
+
13
+ #追記
14
+
15
+ 以下のように,ボタンが離されるまで次のループに行かないようにするとどうでしょう.
16
+
17
+ ```python
18
+
19
+ if mouseData.getEvent() == cv2.EVENT_LBUTTONDOWN:
20
+
21
+ mouseData.getX()
22
+
23
+ mouseData.getY()
24
+
25
+ mouseData.getPos()
26
+
27
+ print(mouseData.getX())
28
+
29
+ print(mouseData.getY())
30
+
31
+ self.onMouse(mouseData.getX(),mouseData.getY(),mouseData.getPos())
32
+
33
+ while mouseData.getEvent() != cv2.EVENT_LBUTTONUP:
34
+
35
+ #または, while mouseData.getEvent() == cv2.EVENT_LBzUTTONDOWN:
36
+
37
+ continue
38
+
39
+ ```

1

追記

2019/01/17 08:13

投稿

Takaya901
Takaya901

スコア181

test CHANGED
@@ -3,3 +3,7 @@
3
3
 
4
4
 
5
5
  1回のクリックで'feature is out of radius'が複数回printされているということは,onMouseがクリックしている間,つまり左ボタンが押されている間呼ばれ続けているのかもしれません.クリックではなく長押ししてみて大量にfeaturesが追加されるか,EVENT_LBUTTONDOWNをEVENT_LBUTTONUPに変えたらどうなるかなど試してみてはどうでしょうか.
6
+
7
+
8
+
9
+ 余談ですが,OpenCVによるオプティカルフローの計算は機械学習ではないと思います.画像処理のアルゴリズムの1つなので.