1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-31 00:03:03 +04:00

Merge pull request #27246 from gursimarsingh:bug_fix/mcc_dnn_dependency

Fix hard dependency of dnn for mcc module. #27246

Currently building objdetect module without dnn fails due to mcc module. This PR makes the dependency optional, by checking if DNN is available in mcc module. 

### Pull Request Readiness Checklist

See details at https://github.com/opencv/opencv/wiki/How_to_contribute#making-a-good-pull-request

- [x] I agree to contribute to the project under Apache 2 License.
- [x] To the best of my knowledge, the proposed patch is not based on a code under GPL or another license that is incompatible with OpenCV
- [x] The PR is proposed to the proper branch
- [ ] There is a reference to the original bug report and related work
- [ ] There is accuracy test, performance test and test data in opencv_extra repository, if applicable
      Patch to opencv_extra has the same branch name.
- [ ] The feature is well documented and sample code can be built with the project CMake
This commit is contained in:
Gursimar Singh
2025-04-22 10:57:36 +05:30
committed by GitHub
parent 7c17912426
commit bbd36a0ec1
7 changed files with 69 additions and 14 deletions
@@ -29,7 +29,9 @@
#ifndef OPENCV_OBJDETECT_MCC_CHECKER_DETECTOR_HPP
#define OPENCV_OBJDETECT_MCC_CHECKER_DETECTOR_HPP
#include <opencv2/core.hpp>
#ifdef HAVE_OPENCV_DNN
#include <opencv2/dnn.hpp>
#endif
#include <opencv2/imgproc.hpp>
//---------------------------------------------------------------
@@ -241,7 +243,9 @@ public:
*
*/
CV_WRAP static Ptr<CCheckerDetector> create();
/** @brief Set the net which will be used to find the approximate
#ifdef HAVE_OPENCV_DNN
/** @brief Set the net which will be used to find the approximate
* bounding boxes for the color charts. And returns the implementation of the CCheckerDetector.
*
* It is not necessary to use this, but this usually results in
@@ -251,6 +255,7 @@ public:
* the function will return false.
*/
CV_WRAP static Ptr<CCheckerDetector> create(const dnn::Net &net);
#endif
/** @brief Draws the checker to the given image.
* @param img image in color space BGR
@@ -280,6 +285,7 @@ public:
CV_WRAP virtual void setColorChartType(ColorChart chartType) = 0;
#ifdef HAVE_OPENCV_DNN
/** @brief Enables or disables the use of the neural network for detection.
* @param useDnn Boolean flag to indicate whether to use neural network (true) or not (false).
*/
@@ -287,6 +293,7 @@ public:
CV_WRAP virtual void setUseDnnModel(bool useDnn) = 0;
CV_WRAP virtual bool getUseDnnModel() const = 0;
#endif
CV_WRAP virtual const DetectorParametersMCC& getDetectionParams() const = 0;