Skip to content

Commit 3e7213d

Browse files
committed
Added option for disabling embeddings in cmake
1 parent 83c9d97 commit 3e7213d

2 files changed

Lines changed: 31 additions & 8 deletions

File tree

src/Tracker/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,14 @@ else()
174174
remove_definitions(-DUSE_OCV_KCF)
175175
endif(USE_OCV_KCF)
176176

177+
option(USE_OCV_EMBEDDINGS "Should use the embeddings from opencv_dnn + OpenVINO?" ON)
178+
if(USE_OCV_EMBEDDINGS)
179+
add_definitions(-DUSE_OCV_EMBEDDINGS)
180+
else()
181+
remove_definitions(-DUSE_OCV_EMBEDDINGS)
182+
endif(USE_OCV_EMBEDDINGS)
183+
184+
177185
include_directories(${PROJECT_SOURCE_DIR})
178186
include_directories(${PROJECT_SOURCE_DIR}/../src)
179187
include_directories(${PROJECT_SOURCE_DIR}/../common)

src/Tracker/EmbeddingsCalculator.hpp

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ class EmbeddingsCalculator
1212
///
1313
bool Initialize(const std::string& cfgName, const std::string& weightsName, const cv::Size& inputLayer)
1414
{
15-
m_inputLayer = inputLayer;
15+
#if USE_OCV_EMBEDDINGS
16+
m_inputLayer = inputLayer;
1617

1718
#if 1
1819
m_net = cv::dnn::readNet(weightsName, cfgName);
@@ -25,17 +26,26 @@ class EmbeddingsCalculator
2526
m_net.setPreferableTarget(cv::dnn::DNN_TARGET_CPU);
2627
}
2728
return !m_net.empty();
28-
}
29+
#else
30+
std::cerr << "EmbeddingsCalculator was disabled in CMAKE! Check SetDistances params." << std::endl;
31+
return false;
32+
#endif
33+
}
2934

3035
///
31-
bool IsInitialized() const
32-
{
33-
return !m_net.empty();
36+
bool IsInitialized() const
37+
{
38+
#if USE_OCV_EMBEDDINGS
39+
return !m_net.empty();
40+
#else
41+
return false;
42+
#endif
3443
}
3544

3645
///
3746
void Calc(const cv::UMat& img, cv::Rect rect, cv::Mat& embedding)
38-
{
47+
{
48+
#if USE_OCV_EMBEDDINGS
3949
auto Clamp = [](int& v, int& size, int hi) -> int
4050
{
4151
int res = 0;
@@ -69,9 +79,14 @@ class EmbeddingsCalculator
6979
m_net.setInput(blob);
7080
embedding = m_net.forward();
7181
//std::cout << "embedding: " << embedding.size() << ", chans = " << embedding.channels() << std::endl;
82+
#else
83+
std::cerr << "EmbeddingsCalculator was disabled in CMAKE! Check SetDistances params." << std::endl;
84+
#endif
7285
}
7386

7487
private:
75-
cv::dnn::Net m_net;
76-
cv::Size m_inputLayer{128, 256};
88+
#if USE_OCV_EMBEDDINGS
89+
cv::dnn::Net m_net;
90+
cv::Size m_inputLayer{ 128, 256 };
91+
#endif
7792
};

0 commit comments

Comments
 (0)