nareshmlx/opencv-pr huggingface dataset:
**File:** modules/highgui/src/cap_pvapi.cpp
**Change Type:** modified
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...
**Review Line:** 150

**Code Changes:**
```diff
     tPvCameraInfo  camInfo;
     tPvIpSettings ipSettings;
 
+    // Initialization parameters [500 x 10 ms = 5000 ms timeout]
+    int initializeTimeOut = 500;
 
-    if (PvInitialize()) {
-    }
-    //return false;
+    // Disregard any errors, since this might be called several times and only needs to be called once or it will return an
+    // Important when wanting to use more than 1 AVT camera at the same time
```

Review comment:
This error won't jump automatically away but as you can see some remarks down it is there :)
**File:** modules/highgui/src/cap_pvapi.cpp
**Change Type:** modified
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...
**Review Line:** 300

**Code Changes:**
```diff
-        return (double)ip;
-    }
+        char mEnable[2];
+        char mIp[11];
+        PvAttrEnumGet(Camera.Handle,"MulticastEnable",mEnable,sizeof(mEnable),NULL);
+        if (strcmp(mEnable, "Off") == 0) {
+            return -1;
+        }
+        else {
+            long int ip;
+            int a,b,c,d;
```

Review comment:
stricmp() doesnt work on my system. Is it possible I am missing something?
**File:** modules/highgui/src/cap_pvapi.cpp
**Change Type:** modified
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...

**Code Changes:**
```diff
@@ -139,124 +139,125 @@ void CvCaptureCAM_PvAPI::close()
 }
 
 // Initialize camera input
-bool CvCaptureCAM_PvAPI::open( int index )
+bool CvCaptureCAM_PvAPI::open( int )
 {
     tPvCameraInfo cameraList[MAX_CAMERAS];
-
     tPvCameraInfo  camInfo;
```

Review comment:
I would remove reference to the camera model. This should work on al PVAPI models so: fprintf(stderr,"Could not set camera Acquisition Mode\n");
**File:** modules/highgui/src/cap_pvapi.cpp
**Change Type:** modified
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...

**Code Changes:**
```diff
@@ -139,124 +139,125 @@ void CvCaptureCAM_PvAPI::close()
 }
 
 // Initialize camera input
-bool CvCaptureCAM_PvAPI::open( int index )
+bool CvCaptureCAM_PvAPI::open( int )
 {
     tPvCameraInfo cameraList[MAX_CAMERAS];
-
     tPvCameraInfo  camInfo;
```

Review comment:
// this should work for all PVAPI cameras
**File:** modules/highgui/src/cap_pvapi.cpp
**Change Type:** modified
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...

**Code Changes:**
```diff
@@ -139,124 +139,125 @@ void CvCaptureCAM_PvAPI::close()
 }
 
 // Initialize camera input
-bool CvCaptureCAM_PvAPI::open( int index )
+bool CvCaptureCAM_PvAPI::open( int )
 {
     tPvCameraInfo cameraList[MAX_CAMERAS];
-
     tPvCameraInfo  camInfo;
```

Review comment:
Maybe change this to fprintf(stderr, "Camera found ...") instead of regular printf()? Also a minor typo: "opened" instead of "opended"
**File:** modules/highgui/src/cap_pvapi.cpp
**Change Type:** modified
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...
**Review Line:** 253

**Code Changes:**
```diff
+        Camera.Frame.ImageBufferSize = frameSize;
+        Camera.Frame.ImageBuffer = frame->imageData;
+    }
+    else{
+        fprintf(stderr, "Pixel format %s not supported; only Mono8, Mono16 and Bgr24 are currently supported.\n", pixelFormat);
+        return false;
     }
-    fprintf(stderr,"Error cannot open camera\n");
-    return false;
 
+    return true;
```

Review comment:
I would suggest informing the user why the function failed as well: fprintf(stderr, "Pixel format %s not supported; only modes Mono8, Mono16 and Bgr24 are currently supported\n", pixelFormat); return false;
**File:** samples/cpp/videocapture_pvapi.cpp
**Change Type:** added
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...

**Code Changes:**
```diff
@@ -0,0 +1,36 @@
+//////////////////////////////////////////////////////
+// Sample illustrating the use of the VideoCapture  //
+// interface in combination with PvAPI interface    //
+//                                                  //
+// Succesfully tested on Prosilica and Manta series //
+//////////////////////////////////////////////////////
+
+#include <iostream>
+#include "opencv2/opencv.hpp"
```

Review comment:
Prosilica (instead of Proscilla)
**File:** modules/highgui/src/cap_pvapi.cpp
**Change Type:** modified
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...

**Code Changes:**
```diff
@@ -139,124 +139,125 @@ void CvCaptureCAM_PvAPI::close()
 }
 
 // Initialize camera input
-bool CvCaptureCAM_PvAPI::open( int index )
+bool CvCaptureCAM_PvAPI::open( int )
 {
     tPvCameraInfo cameraList[MAX_CAMERAS];
-
     tPvCameraInfo  camInfo;
```

Review comment:
You can just remove parameter name from function header to solve warnings: `bool CvCaptureCAM_PvAPI::open( int )`
**File:** modules/highgui/src/cap_pvapi.cpp
**Change Type:** modified
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...

**Code Changes:**
```diff
@@ -139,124 +139,125 @@ void CvCaptureCAM_PvAPI::close()
 }
 
 // Initialize camera input
-bool CvCaptureCAM_PvAPI::open( int index )
+bool CvCaptureCAM_PvAPI::open( int )
 {
     tPvCameraInfo cameraList[MAX_CAMERAS];
-
     tPvCameraInfo  camInfo;
```

Review comment:
Cosmetics. This remark is no longer true. We do not grab the current amount of cameras before initialization. Simply remove the line.
**File:** modules/highgui/src/cap_pvapi.cpp
**Change Type:** modified
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...
**Review Line:** 156

**Code Changes:**
```diff
+    // Important when wanting to use more than 1 AVT camera at the same time
+    PvInitialize();
 
-    Sleep(1000);
+    while((!PvCameraCount())  && (initializeTimeOut--))
+        Sleep(10);
 
-    //close();
+    if (!initializeTimeOut){
+        fprintf(stderr,"ERROR: camera intialisation timeout [5000ms].\n");
+        return false;
```

Review comment:
Does the code works for Windows only? You need to use `usleep` function for non-Windows platforms.
**File:** modules/highgui/src/cap_pvapi.cpp
**Change Type:** modified
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...

**Code Changes:**
```diff
@@ -139,124 +139,125 @@ void CvCaptureCAM_PvAPI::close()
 }
 
 // Initialize camera input
-bool CvCaptureCAM_PvAPI::open( int index )
+bool CvCaptureCAM_PvAPI::open( int )
 {
     tPvCameraInfo cameraList[MAX_CAMERAS];
-
     tPvCameraInfo  camInfo;
```

Review comment:
Please remove this debug message. We will know about problems later if not camera has been found.
**File:** modules/highgui/src/cap_pvapi.cpp
**Change Type:** modified
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...

**Code Changes:**
```diff
@@ -139,124 +139,125 @@ void CvCaptureCAM_PvAPI::close()
 }
 
 // Initialize camera input
-bool CvCaptureCAM_PvAPI::open( int index )
+bool CvCaptureCAM_PvAPI::open( int )
 {
     tPvCameraInfo cameraList[MAX_CAMERAS];
-
     tPvCameraInfo  camInfo;
```

Review comment:
`grayframe->widthStep` is in bytes, right? In this case you need ``` grayframe->widthStep = (int)frameWidth*2; ```
**File:** modules/highgui/src/cap_pvapi.cpp
**Change Type:** modified
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...
**Review Line:** 156

**Code Changes:**
```diff
+    // Important when wanting to use more than 1 AVT camera at the same time
+    PvInitialize();
 
-    Sleep(1000);
+    while((!PvCameraCount())  && (initializeTimeOut--))
+        Sleep(10);
 
-    //close();
+    if (!initializeTimeOut){
+        fprintf(stderr,"ERROR: camera intialisation timeout [5000ms].\n");
+        return false;
```

Review comment:
I think this is defined earlier for non-Windows platforms and and uses the nanosleep() function. See line 119: <pre> #ifndef WIN32 void CvCaptureCAM_PvAPI::Sleep(unsigned int time) { struct timespec t,r; t.tv_sec = time / 1000; t.tv_nsec = (time % 1000) * 1000000; while(nanosleep(&t,&r)==-1) t = r; } #endif </pre>
**File:** modules/highgui/src/cap_pvapi.cpp
**Change Type:** modified
**Context:** PR #3322: fixing cap_pvpapi interface - This PR tries to fix the following 3 reported issues - http://code.opencv.org/issues/3946 - http://code.opencv...

**Code Changes:**
```diff
@@ -139,124 +139,125 @@ void CvCaptureCAM_PvAPI::close()
 }
 
 // Initialize camera input
-bool CvCaptureCAM_PvAPI::open( int index )
+bool CvCaptureCAM_PvAPI::open( int )
 {
     tPvCameraInfo cameraList[MAX_CAMERAS];
-
     tPvCameraInfo  camInfo;
```

Review comment:
I haven't tested the mono16 yet but if you look at the cvCreateImage() function you will notice that it is created with pixel size of 16 bits (IPL_DEPTH_16) and not 8-bits so the width step is still 1, which is 16 bits, or 2 bytes. I'll test this over the weekend.
**File:** modules/core/src/drawing.cpp
**Change Type:** modified
**Context:** PR #3265: added Cyrillic; - Added added Cyrillic support for putText and getTextSize

**Code Changes:**
```diff
@@ -1842,7 +1842,11 @@ static const int HersheyComplex[] = {
 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2223, 2084,
 2224, 2247, 587, 2249, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111,
 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2125, 2126,
-2225, 2229, 2226, 2246 };
+2225, 2229, 2226, 2246, 2801, 2802, 2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811,
+2812, 2813, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2822, 2823, 2824, 2825, 2826,
+2827, 2828, 2829, 2830, 2831, 2832, 2901, 2902, 2903, 2904, 2905, 2906, 2907, 2908, 2909,
+2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924,
+2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932};
```

Review comment:
this part is duplicated twice. Can you put it into an inline function?
**File:** modules/core/src/drawing.cpp
**Change Type:** modified
**Context:** PR #3265: added Cyrillic; - Added added Cyrillic support for putText and getTextSize
**Review Line:** 1975

**Code Changes:**
```diff
+
+            if(c >= 0xF8) //5 bytes utf
+                i++;
+
+            if(c >= 0xFC) //6 bytes utf
+                i++;
+
+            i++;
+            c = '?';
+
+        }
```

Review comment:
I believe these `if` must be enclosed each in other since it's more optimal
**File:** samples/cpp/tutorial_code/gpu/gpu-thrust-interop/Thrust_interop.hpp
**Change Type:** modified
**Context:** PR #5400: Thrust tutorial - Tutorial and helper files for making a thrust style iterator from a GpuMat.
**Review Line:** 46

**Code Changes:**
```diff
@@ -42,7 +42,10 @@ template<typename T>
 thrust::permutation_iterator<thrust::device_ptr<T>, thrust::transform_iterator<step_functor<T>, thrust::counting_iterator<int>>>  GpuMatBeginItr(cv::cuda::GpuMat mat, int channel = 0)
 {
     if (channel == -1)
+    {
         mat = mat.reshape(1);
+        channel = 0;
+    }
     CV_Assert(mat.depth() == cv::DataType<T>::depth);
     CV_Assert(channel < mat.channels());
     return thrust::make_permutation_iterator(thrust::device_pointer_cast(mat.ptr<T>(0) + channel),
```

Review comment:
I guess you should set `channel` to `0` after `mat = mat.reshape(1);`.
**File:** modules/core/src/convert.cpp
**Change Type:** modified
**Context:** PR #5644: fix bug #5624 - fix bug #5624, tested with the example on #5034

**Code Changes:**
```diff
@@ -924,11 +924,10 @@ void cv::split(InputArray _m, OutputArrayOfArrays _mv)
 
     CV_Assert( !_mv.fixedType() || _mv.empty() || _mv.type() == m.depth() );
 
-    Size size = m.size();
     int depth = m.depth(), cn = m.channels();
     _mv.create(cn, 1, depth);
     for (int i = 0; i < cn; ++i)
-        _mv.create(size, depth, i);
+        _mv.create(m.dims, m.size.p, depth, i);
```

Review comment:
Please remove commented code if it is not needed
**File:** modules/core/src/convert.cpp
**Change Type:** modified
**Context:** PR #5644: fix bug #5624 - fix bug #5624, tested with the example on #5034

**Code Changes:**
```diff
@@ -924,11 +924,10 @@ void cv::split(InputArray _m, OutputArrayOfArrays _mv)
 
     CV_Assert( !_mv.fixedType() || _mv.empty() || _mv.type() == m.depth() );
 
-    Size size = m.size();
     int depth = m.depth(), cn = m.channels();
     _mv.create(cn, 1, depth);
     for (int i = 0; i < cn; ++i)
-        _mv.create(size, depth, i);
+        _mv.create(m.dims, m.size.p, depth, i);
```

Review comment:
Can `m.size.p` be used here instead of `size`?
**File:** modules/cudaobjdetect/test/test_objdetect.cpp
**Change Type:** modified
**Context:** PR #5115: Variable GPU Histogram of oriented gradients - Changed hog to work with variable parameters, changed the hog sample to test it with more opt...

**Code Changes:**
```diff
@@ -217,9 +217,9 @@ CUDA_TEST_P(HOG, GetDescriptors)
                               r[(x * blocks_per_win_y + y) * block_hist_size + k]);
     }
 }
-
+/*
 INSTANTIATE_TEST_CASE_P(CUDA_ObjDetect, HOG, ALL_DEVICES);
-
+*/
 //============== caltech hog tests =====================//
```

Review comment:
Please remove all this outputs from the test, or at least make it optional and disabled by default.
**File:** modules/core/include/opencv2/core/mat.hpp
**Change Type:** modified
**Context:** PR #5480: Updated input / output array to support std::vector<cv::cuda::GpuMat>

**Code Changes:**
```diff
@@ -164,7 +164,8 @@ class CV_EXPORTS _InputArray
         CUDA_GPU_MAT      = 9 << KIND_SHIFT,
         UMAT              =10 << KIND_SHIFT,
         STD_VECTOR_UMAT   =11 << KIND_SHIFT,
-        STD_BOOL_VECTOR   =12 << KIND_SHIFT
+        STD_BOOL_VECTOR   =12 << KIND_SHIFT,
+        STD_VECTOR_CUDA_GPU_MAT = 13 << KIND_SHIFT
     };
 
     _InputArray();
```

Review comment:
I think it will be better to use `std::vector<cuda::GpuMat>& gpumv` to be consistent with other methods.
**File:** modules/videoio/include/opencv2/videoio/videoio_c.h
**Change Type:** modified
**Context:** PR #5635: XIMEA adapter update - - replaced m3api/m3apiX64 binaries with latest xiapi32/xiapi64 to support latest camera models - added new parameter ...
**Review Line:** 243

**Code Changes:**
```diff
-    CV_CAP_PROP_XI_EXP_PRIORITY  = 416,      // Exposure priority (0.5 - exposure 50%, gain 50%).
-    CV_CAP_PROP_XI_AE_MAX_LIMIT  = 417,      // Maximum limit of exposure in AEAG procedure
-    CV_CAP_PROP_XI_AG_MAX_LIMIT  = 418,      // Maximum limit of gain in AEAG procedure
-    CV_CAP_PROP_XI_AEAG_LEVEL    = 419,       // Average intensity of output signal AEAG should achieve(in %)
-    CV_CAP_PROP_XI_TIMEOUT       = 420,       // Image capture timeout in milliseconds
+    CV_CAP_PROP_XI_DOWNSAMPLING                                 = 400, // Change image resolution by binning or skipping.
+    CV_CAP_PROP_XI_DATA_FORMAT                                  = 401, // Output data format.
+    CV_CAP_PROP_XI_OFFSET_X                                     = 402, // Horizontal offset from the origin to the area of interest (in pixels).
+    CV_CAP_PROP_XI_OFFSET_Y                                     = 403, // Vertical offset from the origin to the area of interest (in pixels).
+    CV_CAP_PROP_XI_TRG_SOURCE                                   = 404, // Defines source of trigger.
+    CV_CAP_PROP_XI_TRG_SOFTWARE                                 = 405, // Generates an internal trigger. PRM_TRG_SOURCE must be set to TRG_SOFTWARE.
```

Review comment:
master now represents updates to the stable 3.0 release, where we want to preserve binary compatibility. Changing numerical values of the enumeration constants obviously breaks binary compatibility. Could you please retain the original list as-is and simply add the new values in the end?
**File:** modules/imgproc/src/canny.cpp
**Change Type:** modified
**Context:** PR #3407: Fix canny segment fault (Bug #3978) - Avoid too large size cause std::vector::resize() failed. Please refer to http://code.opencv.org/issues...

**Code Changes:**
```diff
@@ -453,7 +453,7 @@ void cv::Canny( InputArray _src, OutputArray _dst,
         if ((stack_top - stack_bottom) + src.cols > maxsize)
         {
             int sz = (int)(stack_top - stack_bottom);
-            maxsize = maxsize * 3/2;
+            maxsize = std::max(maxsize * 3/2, sz + src.cols);
             stack.resize(maxsize);
             stack_bottom = &stack[0];
             stack_top = stack_bottom + sz;
```

Review comment:
here *3/2 scale should be appropriate; otherwise the vector grows too fast
**File:** modules/imgproc/src/canny.cpp
**Change Type:** modified
**Context:** PR #3407: Fix canny segment fault (Bug #3978) - Avoid too large size cause std::vector::resize() failed. Please refer to http://code.opencv.org/issues...

**Code Changes:**
```diff
@@ -453,7 +453,7 @@ void cv::Canny( InputArray _src, OutputArray _dst,
         if ((stack_top - stack_bottom) + src.cols > maxsize)
         {
             int sz = (int)(stack_top - stack_bottom);
-            maxsize = maxsize * 3/2;
+            maxsize = std::max(maxsize * 3/2, sz + src.cols);
             stack.resize(maxsize);
             stack_bottom = &stack[0];
             stack_top = stack_bottom + sz;
```

Review comment:
first, the scale factor can still be not enough, secondly, it's too aggressive in most cases. Can you replace it with <pre> maxsize = std::max(maxsize * 3/2, sz + src.cols); </pre> ?
**File:** samples/cpp/matchmethod_orb_akaze_brisk.cpp
**Change Type:** added
**Context:** PR #3984: A sample program : how to use ORB AKAZE BRISK descriptors for matching. - see http://answers.opencv.org/question/61062/features2d-example/

**Code Changes:**
```diff
@@ -0,0 +1,188 @@
+#include <opencv2/opencv.hpp>
+#include <vector>
+#include <iostream>
+
+using namespace std;
+using namespace cv;
+
+static void help()
+{
```

Review comment:
Let users pass this as a parameter, hard coded paths are not desired in samples.
**File:** samples/cpp/matchmethod_orb_akaze_brisk.cpp
**Change Type:** added
**Context:** PR #3984: A sample program : how to use ORB AKAZE BRISK descriptors for matching. - see http://answers.opencv.org/question/61062/features2d-example/
**Review Line:** 21

**Code Changes:**
```diff
+
+
+int main(int argc, char *argv[])
+{
+    vector<String> typeDesc;
+    vector<String> typeAlgoMatch;
+    vector<String> fileName;
+    help();
+    // This descriptor are going to be detect and compute
+    typeDesc.push_back("AKAZE-DESCRIPTOR_KAZE_UPRIGHT");    // see http://docs.opencv.org/trunk/d8/d30/classcv_1_1AKAZE.html
+    typeDesc.push_back("AKAZE");    // see http://docs.opencv.org/trunk/d8/d30/classcv_1_1AKAZE.html
```

Review comment:
Add a description here on what the matching algorithms are about.
**File:** samples/cpp/matchmethod_orb_akaze_brisk.cpp
**Change Type:** added
**Context:** PR #3984: A sample program : how to use ORB AKAZE BRISK descriptors for matching. - see http://answers.opencv.org/question/61062/features2d-example/

**Code Changes:**
```diff
@@ -0,0 +1,188 @@
+#include <opencv2/opencv.hpp>
+#include <vector>
+#include <iostream>
+
+using namespace std;
+using namespace cv;
+
+static void help()
+{
```

Review comment:
Add a description here on what the descriptor algorithms are about.
**File:** samples/cpp/matchmethod_orb_akaze_brisk.cpp
**Change Type:** added
**Context:** PR #3984: A sample program : how to use ORB AKAZE BRISK descriptors for matching. - see http://answers.opencv.org/question/61062/features2d-example/

**Code Changes:**
```diff
@@ -0,0 +1,188 @@
+#include <opencv2/opencv.hpp>
+#include <vector>
+#include <iostream>
+
+using namespace std;
+using namespace cv;
+
+static void help()
+{
```

Review comment:
Might want to leave a notice here that these images can be found in the data folder under the samples.
**File:** samples/cpp/matchmethod_orb_akaze_brisk.cpp
**Change Type:** added
**Context:** PR #3984: A sample program : how to use ORB AKAZE BRISK descriptors for matching. - see http://answers.opencv.org/question/61062/features2d-example/

**Code Changes:**
```diff
@@ -0,0 +1,188 @@
+#include <opencv2/opencv.hpp>
+#include <vector>
+#include <iostream>
+
+using namespace std;
+using namespace cv;
+
+static void help()
+{
```

Review comment:
Indentation is wrong here. Please add some extra spaces
**File:** samples/cpp/matchmethod_orb_akaze_brisk.cpp
**Change Type:** added
**Context:** PR #3984: A sample program : how to use ORB AKAZE BRISK descriptors for matching. - see http://answers.opencv.org/question/61062/features2d-example/

**Code Changes:**
```diff
@@ -0,0 +1,188 @@
+#include <opencv2/opencv.hpp>
+#include <vector>
+#include <iostream>
+
+using namespace std;
+using namespace cv;
+
+static void help()
+{
```

Review comment:
Normally comments are posted just above a line of code using the `//` command.
**File:** samples/cpp/matchmethod_orb_akaze_brisk.cpp
**Change Type:** added
**Context:** PR #3984: A sample program : how to use ORB AKAZE BRISK descriptors for matching. - see http://answers.opencv.org/question/61062/features2d-example/

**Code Changes:**
```diff
@@ -0,0 +1,188 @@
+#include <opencv2/opencv.hpp>
+#include <vector>
+#include <iostream>
+
+using namespace std;
+using namespace cv;
+
+static void help()
+{
```

Review comment:
fix identation
**File:** samples/cpp/matchmethod_orb_akaze_brisk.cpp
**Change Type:** added
**Context:** PR #3984: A sample program : how to use ORB AKAZE BRISK descriptors for matching. - see http://answers.opencv.org/question/61062/features2d-example/

**Code Changes:**
```diff
@@ -0,0 +1,188 @@
+#include <opencv2/opencv.hpp>
+#include <vector>
+#include <iostream>
+
+using namespace std;
+using namespace cv;
+
+static void help()
+{
```

Review comment:
It seems useless, but I prefer to add brackets even with a single execution command. For new users it is quite confusing to not find these brackets.
**File:** samples/cpp/matchmethod_orb_akaze_brisk.cpp
**Change Type:** added
**Context:** PR #3984: A sample program : how to use ORB AKAZE BRISK descriptors for matching. - see http://answers.opencv.org/question/61062/features2d-example/

**Code Changes:**
```diff
@@ -0,0 +1,188 @@
+#include <opencv2/opencv.hpp>
+#include <vector>
+#include <iostream>
+
+using namespace std;
+using namespace cv;
+
+static void help()
+{
```

Review comment:
Same comment as above
**File:** samples/cpp/matchmethod_orb_akaze_brisk.cpp
**Change Type:** added
**Context:** PR #3984: A sample program : how to use ORB AKAZE BRISK descriptors for matching. - see http://answers.opencv.org/question/61062/features2d-example/

**Code Changes:**
```diff
@@ -0,0 +1,188 @@
+#include <opencv2/opencv.hpp>
+#include <vector>
+#include <iostream>
+
+using namespace std;
+using namespace cv;
+
+static void help()
+{
```

Review comment:
change this line to `int ret = system("cd");` to remove the warning about the return value not being used