Chạy code OpenCv 3.4 trên OpenCv 4.5

Mọi người cho em hỏi em đang muốn chạy đoạn code này có vẻ viết bằng OpenCv 3.4 nhưng em đang cài OpenCv 4.5.Có vẻ nó báo lỗi trong file opencv2\imgproc.hpp.Mọi người cho em hỏi là có đúng là nó lỗi vậy là do khác phiên bản không ạ và mình sửa sao ạ.
Code

#include <opencv2/opencv.hpp>
#include <opencv2/tracking.hpp>
#include <opencv2/core/ocl.hpp>

using namespace cv;
using namespace std;

// Convert to string
#define SSTR( x ) static_cast< std::ostringstream & >( \
( std::ostringstream() << std::dec << x ) ).str()

int main(int argc, char **argv)
{
    // List of tracker types in OpenCV 3.4.1
    string trackerTypes[7] = {"BOOSTING", "MIL", "KCF", "TLD","MEDIANFLOW", "GOTURN", "MOSSE"};
    // vector <string> trackerTypes(types, std::end(types));

    // Create a tracker
    string trackerType = trackerTypes[2];

    Ptr<Tracker> tracker;

    #if (CV_MINOR_VERSION < 3)
    {
        tracker = Tracker::create(trackerType);
    }
    #else
    {
        if (trackerType == "BOOSTING")
            tracker = TrackerBoosting::create();
        if (trackerType == "MIL")
            tracker = TrackerMIL::create();
        if (trackerType == "KCF")
            tracker = TrackerKCF::create();
        if (trackerType == "TLD")
            tracker = TrackerTLD::create();
        if (trackerType == "MEDIANFLOW")
            tracker = TrackerMedianFlow::create();
        if (trackerType == "GOTURN")
            tracker = TrackerGOTURN::create();
        if (trackerType == "MOSSE")
            tracker = TrackerMOSSE::create();
    }
    #endif
    // Read video
    VideoCapture video("videos/chaplin.mp4");

    // Exit if video is not opened
    if(!video.isOpened())
    {
        cout << "Could not read video file" << endl; 
        return 1; 
    } 

    // Read first frame 
    Mat frame; 
    bool ok = video.read(frame); 

    // Define initial bounding box 
    Rect2d bbox(287, 23, 86, 320); 

    // Uncomment the line below to select a different bounding box 
    // bbox = selectROI(frame, false); 
    // Display bounding box. 
    rectangle(frame, bbox, Scalar( 255, 0, 0 ), 2, 1 ); 

    imshow("Tracking", frame); 
    tracker->init(frame, bbox);

    while(video.read(frame))
    {     
        // Start timer
        double timer = (double)getTickCount();

        // Update the tracking result
        bool ok = tracker->update(frame, bbox);

        // Calculate Frames per second (FPS)
        float fps = getTickFrequency() / ((double)getTickCount() - timer);

        if (ok)
        {
            // Tracking success : Draw the tracked object
            rectangle(frame, bbox, Scalar( 255, 0, 0 ), 2, 1 );
        }
        else
        {
            // Tracking failure detected.
            putText(frame, "Tracking failure detected", Point(100,80), FONT_HERSHEY_SIMPLEX, 0.75, Scalar(0,0,255),2);
        }

        // Display tracker type on frame
        putText(frame, trackerType + " Tracker", Point(100,20), FONT_HERSHEY_SIMPLEX, 0.75, Scalar(50,170,50),2);

        // Display FPS on frame
        putText(frame, "FPS : " + SSTR(int(fps)), Point(100,50), FONT_HERSHEY_SIMPLEX, 0.75, Scalar(50,170,50), 2);

        // Display frame.
        imshow("Tracking", frame);

        // Exit if ESC pressed.
        int k = waitKey(1);
        if(k == 27)
        {
            break;
        }

    }
}

Debug

Build started...
1>------ Build started: Project: Project Germany, Configuration: Debug x64 ------
1>Header1.h
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(76,12): error C3646: 'getString': unknown override specifier
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(76,21): error C2059: syntax error: '('
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(76,81): error C2238: unexpected token(s) preceding ';'
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(77,28): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(77,28): error C2143: syntax error: missing ',' before '&'
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(78,34): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(78,34): error C2143: syntax error: missing ',' before '&'
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(80,32): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(80,32): error C2143: syntax error: missing ',' before '&'
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(81,29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(81,29): error C2143: syntax error: missing ',' before '&'
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(82,32): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(82,32): error C2143: syntax error: missing ',' before '&'
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(83,31): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(83,31): error C2143: syntax error: missing ',' before '&'
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(84,30): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:\opencv\build\include\opencv2\flann\miniflann.hpp(84,30): error C2143: syntax error: missing ',' before '&'
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?