@@ -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
7487private:
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