set(the_description "Object Detection")
-ocv_define_module(objdetect opencv_core opencv_imgproc opencv_calib3d opencv_dnn WRAP java objc python js)
+ocv_define_module(objdetect
+ opencv_core
+ opencv_imgproc
+ opencv_calib3d
+ OPTIONAL
+ opencv_dnn
+ WRAP
+ python
+ java
+ objc
+ js
+)
if(HAVE_QUIRC)
get_property(QUIRC_INCLUDE GLOBAL PROPERTY QUIRC_INCLUDE_DIR)
#include "opencv2/imgproc.hpp"
#include "opencv2/core.hpp"
+#ifdef HAVE_OPENCV_DNN
#include "opencv2/dnn.hpp"
+#endif
#include <algorithm>
namespace cv
{
+#ifdef HAVE_OPENCV_DNN
class FaceDetectorYNImpl : public FaceDetectorYN
{
public:
std::vector<Rect2f> priors;
};
+#endif
Ptr<FaceDetectorYN> FaceDetectorYN::create(const String& model,
const String& config,
const int backend_id,
const int target_id)
{
+#ifdef HAVE_OPENCV_DNN
return makePtr<FaceDetectorYNImpl>(model, config, input_size, score_threshold, nms_threshold, top_k, backend_id, target_id);
+#else
+ CV_UNUSED(model); CV_UNUSED(config); CV_UNUSED(input_size); CV_UNUSED(score_threshold); CV_UNUSED(nms_threshold); CV_UNUSED(top_k); CV_UNUSED(backend_id); CV_UNUSED(target_id);
+ CV_Error(cv::Error::StsNotImplemented, "cv::FaceDetectorYN requires enabled 'dnn' module.");
+#endif
}
} // namespace cv
#include "precomp.hpp"
+#include "opencv2/core.hpp"
+#ifdef HAVE_OPENCV_DNN
#include "opencv2/dnn.hpp"
+#endif
#include <algorithm>
namespace cv
{
+#ifdef HAVE_OPENCV_DNN
class FaceRecognizerSFImpl : public FaceRecognizerSF
{
public:
private:
dnn::Net net;
};
+#endif
Ptr<FaceRecognizerSF> FaceRecognizerSF::create(const String& model, const String& config, int backend_id, int target_id)
{
+#ifdef HAVE_OPENCV_DNN
return makePtr<FaceRecognizerSFImpl>(model, config, backend_id, target_id);
+#else
+ CV_UNUSED(model); CV_UNUSED(config); CV_UNUSED(backend_id); CV_UNUSED(target_id);
+ CV_Error(cv::Error::StsNotImplemented, "cv::FaceRecognizerSF requires enabled 'dnn' module");
+#endif
}
} // namespace cv