下記プログラムの中にdetectAndCompute()
という関数がありますが、desc
に出力される配列の本質的な意味がわかりません。
おそらく特徴量を示しているのかな~と予想していますが、結局のところわかりません。
Googleで調べてみてもそれらしき情報が見つからなかった(自分の調べ方が悪い??)のでここで質問させていただきました。
よろしくお願いします。
ちなみにkpts
に出力される変数の意味はこちらのサイトのページ一番下で理解しているつもりです。
ちなみに下記プログラムの流れは、detectAndCompute()によって出力された特徴ある箇所を赤丸で囲い、画像出力するという感じです。
#作成したプログラム
python
1import numpy as np 2import cv2 3 4#画像を読み込み、グレースケールに変換 5img_src1 = cv2.imread('/home/pi/Desktop/180329/combini/c1.jpg') 6gray = cv2.cvtColor(img_src1, cv2.COLOR_BGR2GRAY) 7 8#AKAZEを使用し、例の関数を実行 9detector = cv2.AKAZE_create() 10kpts, desc = detector.detectAndCompute(img_src1, None) 11 12#座標と直径を取得し、赤丸を描画 13for i in range(len(kpts)): 14 x = int(round(kpts[i].pt[0], 0)) 15 y = int(round(kpts[i].pt[1], 0)) 16 size = int(round(kpts[i].size)) 17 cv2.circle(img_src1, (x,y), size, (0, 0, 255), 1) 18 19#出力 20cv2.imshow('result', img_src1) 21cv2.imwrite('result.jpg',img_src1) 22cv2.waitKey(0) 23cv2.destroyAllWindows()

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/06 02:43
2018/04/06 13:55
2018/04/15 08:22
2018/04/15 09:10