mirror of
https://github.com/kerberos-io/openalpr-base.git
synced 2025-10-05 16:36:53 +08:00
Added support for OpenCV 3
This commit is contained in:
@@ -59,16 +59,18 @@ include_directories(${Tesseract_INCLUDE_DIRS})
|
|||||||
# Discover OpenCV directory automatically
|
# Discover OpenCV directory automatically
|
||||||
find_path(OpenCV_DIR
|
find_path(OpenCV_DIR
|
||||||
NAMES OpenCVConfig.cmake
|
NAMES OpenCVConfig.cmake
|
||||||
HINTS ${CMAKE_SOURCE_DIR}/../libraries/opencv/)
|
HINTS ${CMAKE_SOURCE_DIR}/../libraries/opencv/OpenCVConfig.cmake
|
||||||
|
)
|
||||||
# Opencv Package
|
# Opencv Package
|
||||||
FIND_PACKAGE( OpenCV REQUIRED )
|
FIND_PACKAGE( OpenCV REQUIRED )
|
||||||
IF (${OpenCV_VERSION} VERSION_LESS 2.4.7)
|
IF (${OpenCV_VERSION} VERSION_LESS 2.4.7)
|
||||||
MESSAGE(FATAL_ERROR "OpenCV version is not compatible : ${OpenCV_VERSION}")
|
MESSAGE(FATAL_ERROR "OpenCV version is not compatible : ${OpenCV_VERSION}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF (${OpenCV_VERSION} VERSION_GREATER 2.4.12)
|
|
||||||
MESSAGE(FATAL_ERROR "OpenCV version is not compatible : ${OpenCV_VERSION}")
|
include_directories(${OpenCV_INCLUDE_DIRS})
|
||||||
ENDIF()
|
|
||||||
|
add_definitions( -DOPENCV_MAJOR_VERSION=${OpenCV_VERSION_MAJOR})
|
||||||
|
|
||||||
|
|
||||||
include_directories(./openalpr )
|
include_directories(./openalpr )
|
||||||
|
|
||||||
|
@@ -59,7 +59,7 @@ namespace alpr
|
|||||||
|
|
||||||
// Do a bilateral filter to clean the noise but keep edges sharp
|
// Do a bilateral filter to clean the noise but keep edges sharp
|
||||||
Mat smoothed(inputImage.size(), inputImage.type());
|
Mat smoothed(inputImage.size(), inputImage.type());
|
||||||
adaptiveBilateralFilter(inputImage, smoothed, Size(3,3), 45, 45);
|
bilateralFilter(inputImage, smoothed, 3, 45, 45);
|
||||||
|
|
||||||
|
|
||||||
int morph_elem = 2;
|
int morph_elem = 2;
|
||||||
|
@@ -7,7 +7,12 @@ namespace alpr
|
|||||||
|
|
||||||
MotionDetector::MotionDetector()
|
MotionDetector::MotionDetector()
|
||||||
{
|
{
|
||||||
|
#if OPENCV_MAJOR_VERSION == 2
|
||||||
pMOG2 = new BackgroundSubtractorMOG2();
|
pMOG2 = new BackgroundSubtractorMOG2();
|
||||||
|
#else
|
||||||
|
// OpenCV 3
|
||||||
|
pMOG2 = createBackgroundSubtractorMOG2();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
MotionDetector::~MotionDetector()
|
MotionDetector::~MotionDetector()
|
||||||
@@ -17,7 +22,12 @@ MotionDetector::~MotionDetector()
|
|||||||
|
|
||||||
void MotionDetector::ResetMotionDetection(cv::Mat* frame)
|
void MotionDetector::ResetMotionDetection(cv::Mat* frame)
|
||||||
{
|
{
|
||||||
|
#if OPENCV_MAJOR_VERSION == 2
|
||||||
pMOG2->operator()(*frame, fgMaskMOG2, 1);
|
pMOG2->operator()(*frame, fgMaskMOG2, 1);
|
||||||
|
#else
|
||||||
|
// OpenCV 3
|
||||||
|
pMOG2->apply(*frame, fgMaskMOG2, 1);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
cv::Rect MotionDetector::MotionDetect(cv::Mat* frame)
|
cv::Rect MotionDetector::MotionDetect(cv::Mat* frame)
|
||||||
@@ -30,7 +40,14 @@ cv::Rect MotionDetector::MotionDetect(cv::Mat* frame)
|
|||||||
cv::Rect largest_rect, rect_temp;
|
cv::Rect largest_rect, rect_temp;
|
||||||
|
|
||||||
// Detect motion
|
// Detect motion
|
||||||
|
|
||||||
|
#if OPENCV_MAJOR_VERSION == 2
|
||||||
pMOG2->operator()(*frame, fgMaskMOG2, -1);
|
pMOG2->operator()(*frame, fgMaskMOG2, -1);
|
||||||
|
#else
|
||||||
|
// OpenCV 3
|
||||||
|
pMOG2->apply(*frame, fgMaskMOG2);
|
||||||
|
#endif
|
||||||
|
|
||||||
//Remove noise
|
//Remove noise
|
||||||
cv::erode(fgMaskMOG2, fgMaskMOG2, getStructuringElement(cv::MORPH_RECT, cv::Size(6, 6)));
|
cv::erode(fgMaskMOG2, fgMaskMOG2, getStructuringElement(cv::MORPH_RECT, cv::Size(6, 6)));
|
||||||
// Find the contours of motion areas in the image
|
// Find the contours of motion areas in the image
|
||||||
|
@@ -35,9 +35,15 @@ namespace alpr
|
|||||||
this->descriptorMatcher = new BFMatcher(NORM_HAMMING, false);
|
this->descriptorMatcher = new BFMatcher(NORM_HAMMING, false);
|
||||||
|
|
||||||
//this->descriptorMatcher = DescriptorMatcher::create( "FlannBased" );
|
//this->descriptorMatcher = DescriptorMatcher::create( "FlannBased" );
|
||||||
|
#if OPENCV_MAJOR_VERSION == 2
|
||||||
this->detector = new FastFeatureDetector(10, true);
|
this->detector = new FastFeatureDetector(10, true);
|
||||||
this->extractor = new BRISK(10, 1, 0.9);
|
this->extractor = new BRISK(10, 1, 0.9);
|
||||||
|
#else
|
||||||
|
// OpenCV 3
|
||||||
|
this->detector = FastFeatureDetector::create();
|
||||||
|
this->extractor = BRISK::create(10, 1, 0.9);
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FeatureMatcher::~FeatureMatcher()
|
FeatureMatcher::~FeatureMatcher()
|
||||||
|
Reference in New Issue
Block a user