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

回答編集履歴

1

a

2018/10/22 07:10

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -1,4 +1,77 @@
1
1
  もしかして OpenCV Contribe のレポジトリだけクローンして CMake しています?
2
2
  OpenCV と OpenCV Contribe の両方のレポジトリをダウンロードして、以下の手順でビルドしていることを確認してください。
3
3
 
4
- [Visual Studio 2017にOpenCV3.2.0とopencv_contribを導入する方法](https://qiita.com/tomochiii/items/fa26404ebc5fcd4481b9)
4
+ [Visual Studio 2017にOpenCV3.2.0とopencv_contribを導入する方法](https://qiita.com/tomochiii/items/fa26404ebc5fcd4481b9)
5
+
6
+ ## 追記
7
+
8
+ Tracker API の仕様が変わったのではないでしょうか。
9
+ 公式ドキュメントを確認してください。
10
+ [tutorial_introduction_to_tracker](https://docs.opencv.org/3.4.0/d2/d0a/tutorial_introduction_to_tracker.html)
11
+
12
+ # 以下、動作確認したコード
13
+
14
+ ## インストール手順
15
+
16
+ ### 1. ソースコードをダウンロードする。
17
+
18
+ OpenCV 3.4.3 のソースコード [3.4.3.zip](https://github.com/opencv/opencv/archive/3.4.3.zip) 及び OpenCV's extra modules 3.4.3 のソースコード [3.4.3.zip](https://github.com/opencv/opencv_contrib/archive/3.4.3.zip) をダウンロードする。
19
+
20
+ 以下のように配置した。
21
+
22
+ ```
23
+ F:
24
+ └─OpenCV
25
+ └─3.4.3
26
+ ├─opencv_contrib-3.4.3
27
+ └─opencv-3.4.3
28
+ ```
29
+
30
+ ### 2. CMake でプロジェクトファイルを生成する。
31
+
32
+ CMake GUI で以下のように設定し、「Configure」ボタンをクリックする。
33
+
34
+ * 「Where is the source code」に「F:\OpenCV\3.4.3\opencv-3.4.3」
35
+ * 「Where to build the binaries」に「F:\OpenCV\3.4.3\build」
36
+
37
+ コンパイラを選択し、「Finish」をクリックする。
38
+
39
+ 「OPENCV_EXTRA_MODULES_PATH」という項目を探し、「F:/OpenCV/3.4.3/opencv_contrib-3.4.3/modules」を設定する。
40
+ もう一度、「Configure」ボタンをクリックする。
41
+ 「Configuring done」と正常に完了した場合、「Generate」をクリックする。
42
+
43
+ 「F:\OpenCV\3.4.3\build」に「OpenCV.sln」が生成されるので、クリックして、Visual Studio で開く。
44
+ Debug モードにし、ソリューションエクスプローラーの「INSTALL」を右クリックし、「BUILD」を選択する。
45
+ Release モードにし、ソリューションエクスプローラーの「INSTALL」を右クリックし、「BUILD」を選択する。
46
+
47
+ 環境変数で
48
+
49
+ * 「OPENCV_DIR」に「F:\OpenCV\3.4.3\build\install」を設定する。
50
+ * 「Path」に「F:\OpenCV\3.4.3\build\install\x64\vc15\bin」を追加する。
51
+
52
+ ※ vc15 の部分はコンパイラによって異なる。
53
+
54
+ ### サンプルプログラム
55
+
56
+ ```cpp
57
+ #include <opencv2/opencv.hpp>
58
+ #include <opencv2/tracking.hpp>
59
+
60
+ int main()
61
+ {
62
+ auto trackerKCF = cv::TrackerKCF::create();
63
+ }
64
+ ```
65
+
66
+ ```cmake
67
+ cmake_minimum_required(VERSION 2.8)
68
+
69
+ project(sample)
70
+
71
+ add_executable(${PROJECT_NAME} src/main.cpp)
72
+ find_package(OpenCV REQUIRED)
73
+
74
+ include_directories(${OpenCV_INCLUDE_DIRS})
75
+ target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS})
76
+
77
+ ```