質問編集履歴

2

ライブラリが間違っていた

2018/10/09 09:12

投稿

NMN
NMN

スコア11

test CHANGED
File without changes
test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
  /*ここにkeypointの中身を記述したい*/
34
34
 
35
- if ((fp = fopen("/Users/kazamaryousuke/Desktop/datalist.txt", "w")) == NULL) {
35
+ if ((fp = fopen("/Users/name/Desktop/datalist.txt", "w")) == NULL) {
36
36
 
37
37
  printf("file open error!!\n");
38
38
 

1

具体的にやったこと、それについてのエラーを示していなかったので追記しました。あと実現したいことは上記のURLのサイトに載ってるkeypoint変数の展開です。

2018/10/09 09:12

投稿

NMN
NMN

スコア11

test CHANGED
File without changes
test CHANGED
@@ -8,9 +8,19 @@
8
8
 
9
9
  例えば、以下のプログラムで座標を表示しようとする場合どうすればよいかご助言お願いします。
10
10
 
11
+ https://www.cresco.co.jp/blog/entry/5504/にあるようなkeypointの展開結果を出したいと思っています。
11
12
 
13
+ ### 発生している問題・エラーメッセージ
12
14
 
15
+ 可変長引数をどうやったら表示させれるのかがわからないです。
16
+
17
+ ```
18
+
19
+ Cannot pass non-trivial object of type 'std::vector<cv::KeyPoint>'to variadic function; expected type from format string was 'int'
20
+
21
+ ```
22
+
13
- ### 該当のソースコード
23
+ # 該当のソースコード
14
24
 
15
25
  ```C++
16
26
 
@@ -18,9 +28,19 @@
18
28
 
19
29
  {
20
30
 
21
-
31
+ FILE *fp;
22
32
 
33
+ /*ここにkeypointの中身を記述したい*/
34
+
35
+ if ((fp = fopen("/Users/kazamaryousuke/Desktop/datalist.txt", "w")) == NULL) {
36
+
37
+ printf("file open error!!\n");
38
+
39
+ exit(EXIT_FAILURE);
40
+
41
+ }
42
+
23
- cv::Mat img = cv::imread("lenna.png", 1);
43
+ cv::Mat img = cv::imread("lenna.png", 1);
24
44
 
25
45
  if(img.empty()) return -1;
26
46
 
@@ -44,7 +64,9 @@
44
64
 
45
65
  detector->detect(gray_img, keypoints);
46
66
 
67
+ fprintf(fp,"%d",keypoints); //ここでエラー
68
+
47
- cv::Scalar color(100,255,100);
69
+ cv::Scalar color(100,255,100);
48
70
 
49
71
  for(itk = keypoints.begin(); itk!=keypoints.end(); ++itk)
50
72
 
@@ -68,6 +90,8 @@
68
90
 
69
91
 
70
92
 
93
+ fclose(fp);
94
+
71
95
  cv::namedWindow("FAST Features",CV_WINDOW_AUTOSIZE|CV_WINDOW_FREERATIO);
72
96
 
73
97
  cv::imshow("FAST Features", img);
@@ -78,7 +102,13 @@
78
102
 
79
103
  ```
80
104
 
105
+ ### 試したこと
106
+
107
+ ディスクリプタ抽出でいけるのかもと思い、そちらの方もやってみましたがどれをつかえばいいのかわからず、取り敢えず上のような方法でやってみた次第です。
108
+
109
+
110
+
81
- ### 補足情報(FW/ツールのバージョンなど)
111
+ # 補足情報(FW/ツールのバージョンなど)
82
112
 
83
113
  MacOS 10.12.6
84
114