Skip to content

Commit ee984a4

Browse files
committed
Refactoring: split project to share library and example
1 parent de6a385 commit ee984a4

148 files changed

Lines changed: 243 additions & 225 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 5 additions & 224 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
# ----------------------------------------------------------------------------
2-
# минимальная версия CMake, способная переварить этот файл
3-
# ----------------------------------------------------------------------------
41
cmake_minimum_required(VERSION 2.8)
5-
project(MultitargetTracker)
2+
3+
project(MultitargetTracking)
64

75
unset(CMAKE_CXX_FLAGS CACHE)
86

@@ -25,225 +23,8 @@ set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/build)
2523
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR})
2624
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR})
2725

28-
# ----------------------------------------------------------------------------
29-
# Предполагаем, что FindOpenCV.cmake расположен по адресу CMAKE_MODULE_PATH.
30-
# ----------------------------------------------------------------------------
31-
FIND_PACKAGE(OpenCV)
32-
# ----------------------------------------------------------------------------
33-
# ищем все .cpp и .h файлы и добавляем их в наш проект
34-
# ----------------------------------------------------------------------------
35-
set(folder_source
36-
main.cpp
37-
VideoExample.cpp
38-
39-
Detector/BaseDetector.cpp
40-
Detector/MotionDetector.cpp
41-
Detector/BackgroundSubtract.cpp
42-
Detector/vibe_src/vibe.cpp
43-
Detector/Subsense/BackgroundSubtractorLBSP.cpp
44-
Detector/Subsense/BackgroundSubtractorLOBSTER.cpp
45-
Detector/Subsense/BackgroundSubtractorSuBSENSE.cpp
46-
Detector/Subsense/LBSP.cpp
47-
Detector/FaceDetector.cpp
48-
Detector/PedestrianDetector.cpp
49-
Detector/pedestrians/c4-pedestrian-detector.cpp
50-
Detector/SSDMobileNetDetector.cpp
51-
Detector/YoloDetector.cpp
52-
53-
Tracker/Ctracker.cpp
54-
Tracker/track.cpp
55-
Tracker/HungarianAlg/HungarianAlg.cpp
56-
Tracker/LocalTracker.cpp
57-
Tracker/Kalman.cpp
58-
)
59-
60-
set(folder_headers
61-
MouseExample.h
62-
VideoExample.h
63-
nms.h
64-
defines.h
65-
66-
Detector/BaseDetector.h
67-
Detector/MotionDetector.h
68-
Detector/BackgroundSubtract.h
69-
Detector/vibe_src/vibe.hpp
70-
Detector/Subsense/BackgroundSubtractorLBSP.h
71-
Detector/Subsense/BackgroundSubtractorLOBSTER.h
72-
Detector/Subsense/BackgroundSubtractorSuBSENSE.h
73-
Detector/Subsense/DistanceUtils.h
74-
Detector/Subsense/LBSP.h
75-
Detector/Subsense/RandUtils.h
76-
Detector/FaceDetector.h
77-
Detector/PedestrianDetector.h
78-
Detector/pedestrians/c4-pedestrian-detector.h
79-
Detector/SSDMobileNetDetector.h
80-
Detector/YoloDetector.h
81-
82-
Tracker/Ctracker.h
83-
Tracker/track.h
84-
Tracker/HungarianAlg/HungarianAlg.h
85-
Tracker/LocalTracker.h
86-
Tracker/Kalman.h
87-
)
88-
89-
set(graph_source
90-
Tracker/graph/tokenise.cpp
91-
# Tracker/graph/script.cpp
92-
# Tracker/graph/rings.cpp
93-
Tracker/graph/mytree.cpp
94-
Tracker/graph/mygraph.cpp
95-
Tracker/graph/mwbmatching.cpp
96-
Tracker/graph/mincut.cpp
97-
Tracker/graph/gport.cpp
98-
# Tracker/graph/gml2nestedsql.cpp
99-
# Tracker/graph/gml2dot.cpp
100-
# Tracker/graph/components.cpp
101-
Tracker/graph/fheap.c
102-
)
103-
104-
set(graph_header
105-
Tracker/graph/tokenise.h
106-
Tracker/graph/mytree.h
107-
Tracker/graph/mygraph.h
108-
Tracker/graph/mwbmatching.h
109-
Tracker/graph/mincut.h
110-
Tracker/graph/gport.h
111-
Tracker/graph/gdefs.h
112-
Tracker/graph/fheap.h
113-
)
114-
115-
set(gtl_source
116-
Tracker/graph/GTL/src/bellman_ford.cpp
117-
Tracker/graph/GTL/src/bfs.cpp
118-
Tracker/graph/GTL/src/biconnectivity.cpp
119-
Tracker/graph/GTL/src/bid_dijkstra.cpp
120-
Tracker/graph/GTL/src/components.cpp
121-
Tracker/graph/GTL/src/debug.cpp
122-
Tracker/graph/GTL/src/dfs.cpp
123-
Tracker/graph/GTL/src/dijkstra.cpp
124-
Tracker/graph/GTL/src/edge.cpp
125-
Tracker/graph/GTL/src/embedding.cpp
126-
Tracker/graph/GTL/src/fm_partition.cpp
127-
Tracker/graph/GTL/src/gml_parser.cpp
128-
Tracker/graph/GTL/src/gml_scanner.cpp
129-
Tracker/graph/GTL/src/graph.cpp
130-
Tracker/graph/GTL/src/maxflow_ff.cpp
131-
Tracker/graph/GTL/src/maxflow_pp.cpp
132-
Tracker/graph/GTL/src/maxflow_sap.cpp
133-
Tracker/graph/GTL/src/min_tree.cpp
134-
Tracker/graph/GTL/src/node.cpp
135-
Tracker/graph/GTL/src/planarity.cpp
136-
Tracker/graph/GTL/src/pq_node.cpp
137-
Tracker/graph/GTL/src/pq_tree.cpp
138-
Tracker/graph/GTL/src/ratio_cut_partition.cpp
139-
Tracker/graph/GTL/src/st_number.cpp
140-
Tracker/graph/GTL/src/topsort.cpp
141-
)
142-
143-
set(gtl_header
144-
Tracker/graph/GTL/include/GTL/algorithm.h
145-
Tracker/graph/GTL/include/GTL/bellman_ford.h
146-
Tracker/graph/GTL/include/GTL/bfs.h
147-
Tracker/graph/GTL/include/GTL/biconnectivity.h
148-
Tracker/graph/GTL/include/GTL/bid_dijkstra.h
149-
Tracker/graph/GTL/include/GTL/bin_heap.h
150-
Tracker/graph/GTL/include/GTL/components.h
151-
Tracker/graph/GTL/include/GTL/debug.h
152-
Tracker/graph/GTL/include/GTL/dfs.h
153-
Tracker/graph/GTL/include/GTL/dijkstra.h
154-
Tracker/graph/GTL/include/GTL/edge.h
155-
Tracker/graph/GTL/include/GTL/edge_data.h
156-
Tracker/graph/GTL/include/GTL/edge_map.h
157-
Tracker/graph/GTL/include/GTL/embedding.h
158-
Tracker/graph/GTL/include/GTL/fm_partition.h
159-
Tracker/graph/GTL/include/GTL/gml_parser.h
160-
Tracker/graph/GTL/include/GTL/gml_scanner.h
161-
Tracker/graph/GTL/include/GTL/graph.h
162-
Tracker/graph/GTL/include/GTL/maxflow_ff.h
163-
Tracker/graph/GTL/include/GTL/maxflow_pp.h
164-
Tracker/graph/GTL/include/GTL/maxflow_sap.h
165-
Tracker/graph/GTL/include/GTL/min_tree.h
166-
Tracker/graph/GTL/include/GTL/ne_map.h
167-
Tracker/graph/GTL/include/GTL/node.h
168-
Tracker/graph/GTL/include/GTL/node_data.h
169-
Tracker/graph/GTL/include/GTL/node_map.h
170-
Tracker/graph/GTL/include/GTL/planarity.h
171-
Tracker/graph/GTL/include/GTL/pq_node.h
172-
Tracker/graph/GTL/include/GTL/pq_tree.h
173-
Tracker/graph/GTL/include/GTL/ratio_cut_partition.h
174-
Tracker/graph/GTL/include/GTL/st_number.h
175-
Tracker/graph/GTL/include/GTL/symlist.h
176-
Tracker/graph/GTL/include/GTL/topsort.h
177-
Tracker/graph/GTL/include/GTL/version.h
178-
Tracker/graph/GTL/include/GTL/GTL.h
179-
)
180-
181-
SOURCE_GROUP("Source Files" FILES ${folder_source})
182-
SOURCE_GROUP("Header Files" FILES ${folder_headers})
183-
184-
SOURCE_GROUP("graph" FILES ${graph_source} ${graph_header})
185-
SOURCE_GROUP("GTL" FILES ${gtl_source} ${gtl_header})
26+
FIND_PACKAGE(OpenCV)
18627

187-
include(CheckIncludeFileCXX)
188-
check_include_file_cxx(opencv2/bgsegm.hpp HAVE_OPENCV_CONTRIB)
189-
if(HAVE_OPENCV_CONTRIB)
190-
add_definitions(-DHAVE_OPENCV_CONTRIB)
28+
add_subdirectory(src)
29+
add_subdirectory(example)
19130

192-
option(USE_OCV_BGFG "Should use the bgfg algorithms from opencv_contrib?" ON)
193-
option(USE_OCV_KCF "Should use the KCF tracker from opencv_contrib for collisions resolving?" ON)
194-
option(USE_OCV_UKF "Should use the Unscented Kalman Filterr from opencv_contrib?" ON)
195-
196-
else(HAVE_OPENCV_CONTRIB)
197-
198-
option(USE_OCV_BGFG "Should use the bgfg algorithms from opencv_contrib?" OFF)
199-
option(USE_OCV_KCF "Should use the KCF tracker from opencv_contrib for collisions resolving?" OFF)
200-
option(USE_OCV_UKF "Should use the Unscented Kalman Filterr from opencv_contrib?" OFF)
201-
endif(HAVE_OPENCV_CONTRIB)
202-
203-
if(USE_OCV_UKF)
204-
add_definitions(-DUSE_OCV_UKF)
205-
endif(USE_OCV_UKF)
206-
207-
if(USE_OCV_KCF)
208-
add_definitions(-DUSE_OCV_KCF)
209-
endif(USE_OCV_KCF)
210-
211-
if(USE_OCV_BGFG)
212-
add_definitions(-DUSE_OCV_BGFG)
213-
endif(USE_OCV_BGFG)
214-
215-
# ----------------------------------------------------------------------------
216-
# создаем проект
217-
# ----------------------------------------------------------------------------
218-
ADD_EXECUTABLE(MultitargetTracker ${folder_source} ${folder_headers} ${graph_source} ${graph_header} ${gtl_source} ${gtl_header})
219-
# ----------------------------------------------------------------------------
220-
# добавляем include директории
221-
# ----------------------------------------------------------------------------
222-
INCLUDE_DIRECTORIES(
223-
${PROJECT_SOURCE_DIR}/Detector
224-
${PROJECT_SOURCE_DIR}/Detector/vibe_src
225-
${PROJECT_SOURCE_DIR}/Detector/Subsense
226-
${PROJECT_SOURCE_DIR}/Tracker
227-
${PROJECT_SOURCE_DIR}/Tracker/HungarianAlg
228-
${PROJECT_SOURCE_DIR}/Tracker/graph
229-
${PROJECT_SOURCE_DIR}/Tracker/graph/GTL/include)
230-
231-
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
232-
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})
233-
234-
# ----------------------------------------------------------------------------
235-
# и Lib-ы opencv
236-
# ----------------------------------------------------------------------------
237-
238-
239-
if (CMAKE_COMPILER_IS_GNUCXX)
240-
set(LIBS
241-
${OpenCV_LIBS}
242-
# iconv
243-
)
244-
else(CMAKE_COMPILER_IS_GNUCXX)
245-
set(LIBS
246-
${OpenCV_LIBS}
247-
)
248-
endif()
249-
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIBS})

example/CMakeLists.txt

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
cmake_minimum_required (VERSION 2.8)
2+
3+
project(MultitargetTracker)
4+
5+
set(SOURCES
6+
main.cpp
7+
VideoExample.cpp
8+
)
9+
10+
set(HEADERS
11+
MouseExample.h
12+
VideoExample.h
13+
)
14+
15+
ADD_EXECUTABLE(${PROJECT_NAME} ${SOURCES} ${HEADERS})
16+
17+
# ----------------------------------------------------------------------------
18+
# добавляем include директории
19+
# ----------------------------------------------------------------------------
20+
INCLUDE_DIRECTORIES(
21+
${PROJECT_SOURCE_DIR}/../src
22+
${PROJECT_SOURCE_DIR}/../src/Detector
23+
${PROJECT_SOURCE_DIR}/../src/Detector/vibe_src
24+
${PROJECT_SOURCE_DIR}/../src/Detector/Subsense
25+
${PROJECT_SOURCE_DIR}/../src/Tracker
26+
${PROJECT_SOURCE_DIR}/../src/Tracker/HungarianAlg
27+
)
28+
29+
set(LIBS
30+
${OpenCV_LIBS}
31+
mtracking
32+
)
33+
34+
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${LIBS})
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)