質問するログイン新規登録

回答編集履歴

4

追記

2019/01/18 03:16

投稿

Takaya901
Takaya901

スコア181

answer CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  余談ですが,OpenCVによるオプティカルフローの計算は機械学習ではないと思います.画像処理のアルゴリズムの1つなので.
6
6
 
7
- #追記
7
+ #追記1
8
8
  以下のように,ボタンが離されるまで次のループに行かないようにするとどうでしょう.
9
9
  ```python
10
10
  if mouseData.getEvent() == cv2.EVENT_LBUTTONDOWN:
@@ -17,4 +17,8 @@
17
17
  while mouseData.getEvent() != cv2.EVENT_LBUTTONUP:
18
18
  #または, while mouseData.getEvent() == cv2.EVENT_LBUTTONDOWN:
19
19
  continue
20
- ```
20
+ ```
21
+
22
+ #追記2
23
+ 失礼しました。
24
+ getFeatureIndexが正しく機能していればonMouseが複数回呼ばれても大丈夫なはずなので、そこを見直して見てください。

3

修正

2019/01/18 03:16

投稿

Takaya901
Takaya901

スコア181

answer CHANGED
@@ -15,6 +15,6 @@
15
15
  print(mouseData.getY())
16
16
  self.onMouse(mouseData.getX(),mouseData.getY(),mouseData.getPos())
17
17
  while mouseData.getEvent() != cv2.EVENT_LBUTTONUP:
18
- #または, while mouseData.getEvent() == cv2.EVENT_LBzUTTONDOWN:
18
+ #または, while mouseData.getEvent() == cv2.EVENT_LBUTTONDOWN:
19
19
  continue
20
20
  ```

2

追記

2019/01/17 08:13

投稿

Takaya901
Takaya901

スコア181

answer CHANGED
@@ -2,4 +2,19 @@
2
2
 
3
3
  1回のクリックで'feature is out of radius'が複数回printされているということは,onMouseがクリックしている間,つまり左ボタンが押されている間呼ばれ続けているのかもしれません.クリックではなく長押ししてみて大量にfeaturesが追加されるか,EVENT_LBUTTONDOWNをEVENT_LBUTTONUPに変えたらどうなるかなど試してみてはどうでしょうか.
4
4
 
5
- 余談ですが,OpenCVによるオプティカルフローの計算は機械学習ではないと思います.画像処理のアルゴリズムの1つなので.
5
+ 余談ですが,OpenCVによるオプティカルフローの計算は機械学習ではないと思います.画像処理のアルゴリズムの1つなので.
6
+
7
+ #追記
8
+ 以下のように,ボタンが離されるまで次のループに行かないようにするとどうでしょう.
9
+ ```python
10
+ if mouseData.getEvent() == cv2.EVENT_LBUTTONDOWN:
11
+ mouseData.getX()
12
+ mouseData.getY()
13
+ mouseData.getPos()
14
+ print(mouseData.getX())
15
+ print(mouseData.getY())
16
+ self.onMouse(mouseData.getX(),mouseData.getY(),mouseData.getPos())
17
+ while mouseData.getEvent() != cv2.EVENT_LBUTTONUP:
18
+ #または, while mouseData.getEvent() == cv2.EVENT_LBzUTTONDOWN:
19
+ continue
20
+ ```

1

追記

2019/01/17 08:13

投稿

Takaya901
Takaya901

スコア181

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