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

回答編集履歴

3

コード修正

2017/08/16 11:03

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -32,7 +32,7 @@
32
32
  dst_image = cv2.drawKeypoints(src_image, keypoints, None)
33
33
 
34
34
  descriptor = cv2.xfeatures2d.SIFT_create()
35
- _, value = descriptor.compute(image=src_image, keypoints=keypoints)
35
+ _, values = descriptor.compute(image=src_image, keypoints=keypoints)
36
36
 
37
37
  cv2.imshow('src', src_image)
38
38
  cv2.imshow('dst', dst_image)

2

コード修正

2017/08/16 11:03

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  ret_keypoints = []
20
20
  for key in keys:
21
- ret_keypoints.append(cv2.KeyPoint(key[0], key[1], interval))
21
+ ret_keypoints.append(cv2.KeyPoint(*key, interval))
22
22
 
23
23
  return ret_keypoints
24
24
 

1

追記

2017/08/16 10:56

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -6,6 +6,7 @@
6
6
 
7
7
  ---
8
8
  参考までに、次のようにして簡単に網目状の検出を行うことができます。
9
+ 特徴点の位置は全ての画像で共通していますから、一回だけ計算して使いまわせますね。
9
10
  ```Python
10
11
  import cv2
11
12
  import numpy as np
@@ -39,4 +40,9 @@
39
40
 
40
41
  if __name__ == '__main__':
41
42
  main()
42
- ```
43
+ ```
44
+
45
+ ---
46
+ 正直に言うと、私自身記述子がNoneになる原因は未だ突き止めていません。
47
+ しかし、特徴点の検出をもう少しスマートにすることで、見通しがつくのではないでしょうか。
48
+ 直接的な回答になっておらずすみません、また上手くいかないことがあればご質問ください。