Skip to content

Add RISC-V HAL implementation for cv::filter series#27026

Merged
asmorkalov merged 7 commits intoopencv:4.xfrom
amane-ame:filter_hal_rvv
Mar 11, 2025
Merged

Add RISC-V HAL implementation for cv::filter series#27026
asmorkalov merged 7 commits intoopencv:4.xfrom
amane-ame:filter_hal_rvv

Conversation

@amane-ame
Copy link
Copy Markdown
Contributor

This patch implements cv_hal_filter, cv_hal_sepFilter and cv_hal_morph using native intrinsics, optimizing the performance of cv::filter2D/cv::sepFilter/cv::Sobel/cv::Scharr for 3x3/5x5 kernels and cv::erode/cv::dilate/cv::morphologyEx for 3x3 kernels.

Tested on MUSE-PI (Spacemit X60) for both gcc 14.2 and clang 20.0.

$ ./opencv_test_imgproc --gtest_filter="*Filter*:*Sobel*:*Erode*:*Dilate*:*Morph*"
$ ./opencv_perf_imgproc --gtest_filter="*TestFilter2d*:*sobel*:*scharr*:*erode*:*dilate*" --perf_min_samples=500 --perf_force_samples=500

View the full perf table here: hal_rvv_filter.pdf

Pull Request Readiness Checklist

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

  • I agree to contribute to the project under Apache 2 License.
  • 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
  • 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

amane-ame and others added 3 commits March 6, 2025 14:10
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
Copy link
Copy Markdown
Member

@fengyuentau fengyuentau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you attach the source of the algorithm?

@amane-ame
Copy link
Copy Markdown
Contributor Author

Could you attach the source of the algorithm?

It was copied from the Carotene (ARM HAL) implementation, I would add some comments on it later.

Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
@asmorkalov
Copy link
Copy Markdown
Contributor

Hm, I do not see speedup. I'll recheck and return back.

@asmorkalov
Copy link
Copy Markdown
Contributor

My fault. I re-run the test.
Performance numbers for Muse Pi v 30 (gcc 14.2):

Details
Filter2d::TestFilter2d::(320x240, 3, BORDER_CONSTANT) 	1.694 	0.416 	4.08
Filter2d::TestFilter2d::(320x240, 3, BORDER_REFLECT_101) 	1.690 	0.420 	4.03
Filter2d::TestFilter2d::(320x240, 3, BORDER_REPLICATE) 	1.691 	0.421 	4.02
Filter2d::TestFilter2d::(320x240, 5, BORDER_CONSTANT) 	3.866 	0.767 	5.04
Filter2d::TestFilter2d::(320x240, 5, BORDER_REFLECT_101) 	3.872 	0.796 	4.87
Filter2d::TestFilter2d::(320x240, 5, BORDER_REPLICATE) 	3.891 	0.792 	4.91
Filter2d::TestFilter2d::(1920x1080, 3, BORDER_CONSTANT) 	45.016 	9.912 	4.54
Filter2d::TestFilter2d::(1920x1080, 3, BORDER_REFLECT_101) 	45.091 	9.852 	4.58
Filter2d::TestFilter2d::(1920x1080, 3, BORDER_REPLICATE) 	45.071 	9.860 	4.57
Filter2d::TestFilter2d::(1920x1080, 5, BORDER_CONSTANT) 	105.698 	16.317 	6.48
Filter2d::TestFilter2d::(1920x1080, 5, BORDER_REFLECT_101) 	106.049 	16.397 	6.47
Filter2d::TestFilter2d::(1920x1080, 5, BORDER_REPLICATE) 	106.732 	16.404 	6.51
GaborFilter2d::Image_KernelSize::("cv/shared/pic5.png", 16) 	27.188 	25.573 	1.06
GaborFilter2d::Image_KernelSize::("cv/shared/pic5.png", 32) 	27.645 	26.024 	1.06
GaborFilter2d::Image_KernelSize::("cv/shared/pic5.png", 64) 	56.770 	74.385 	0.76
GaborFilter2d::Image_KernelSize::("stitching/a1.png", 16) 	82.944 	79.492 	1.04
GaborFilter2d::Image_KernelSize::("stitching/a1.png", 32) 	84.305 	80.810 	1.04
GaborFilter2d::Image_KernelSize::("stitching/a1.png", 64) 	138.484 	178.622 	0.78
scharrFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (0, 1), BORDER_CONSTANT) 	0.112 	0.054 	2.08
scharrFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (0, 1), BORDER_REPLICATE) 	0.109 	0.053 	2.03
scharrFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (1, 0), BORDER_CONSTANT) 	0.100 	0.053 	1.88
scharrFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (1, 0), BORDER_REPLICATE) 	0.098 	0.053 	1.84
scharrFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (0, 1), BORDER_CONSTANT) 	0.111 	0.060 	1.86
scharrFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (0, 1), BORDER_REPLICATE) 	0.109 	0.059 	1.83
scharrFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (1, 0), BORDER_CONSTANT) 	0.116 	0.060 	1.95
scharrFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (1, 0), BORDER_REPLICATE) 	0.112 	0.059 	1.89
scharrFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (0, 1), BORDER_CONSTANT) 	0.526 	0.217 	2.43
scharrFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (0, 1), BORDER_REPLICATE) 	0.527 	0.220 	2.40
scharrFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (1, 0), BORDER_CONSTANT) 	0.380 	0.215 	1.77
scharrFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (1, 0), BORDER_REPLICATE) 	0.381 	0.217 	1.76
scharrFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (0, 1), BORDER_CONSTANT) 	0.345 	0.237 	1.46
scharrFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (0, 1), BORDER_REPLICATE) 	0.355 	0.236 	1.51
scharrFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (1, 0), BORDER_CONSTANT) 	0.374 	0.237 	1.58
scharrFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (1, 0), BORDER_REPLICATE) 	0.378 	0.235 	1.61
scharrFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (0, 1), BORDER_CONSTANT) 	1.860 	0.786 	2.37
scharrFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (0, 1), BORDER_REPLICATE) 	1.845 	0.787 	2.34
scharrFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (1, 0), BORDER_CONSTANT) 	1.246 	0.791 	1.58
scharrFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (1, 0), BORDER_REPLICATE) 	1.261 	0.798 	1.58
scharrFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (0, 1), BORDER_CONSTANT) 	1.244 	0.871 	1.43
scharrFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (0, 1), BORDER_REPLICATE) 	1.242 	0.876 	1.42
scharrFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (1, 0), BORDER_CONSTANT) 	1.353 	0.873 	1.55
scharrFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (1, 0), BORDER_REPLICATE) 	1.380 	0.873 	1.58
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.111 	0.056 	2.00
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (0, 1), BORDER_DEFAULT) 	0.108 	0.056 	1.94
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.107 	0.054 	1.98
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.101 	0.054 	1.87
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (1, 0), BORDER_DEFAULT) 	0.097 	0.056 	1.75
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.097 	0.054 	1.80
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.111 	0.058 	1.94
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (0, 1), BORDER_DEFAULT) 	0.109 	0.060 	1.82
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.106 	0.058 	1.85
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.114 	0.058 	1.97
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (1, 0), BORDER_DEFAULT) 	0.112 	0.060 	1.88
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.112 	0.058 	1.94
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.531 	0.214 	2.48
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (0, 1), BORDER_DEFAULT) 	0.525 	0.214 	2.45
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.532 	0.215 	2.48
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.375 	0.216 	1.74
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (1, 0), BORDER_DEFAULT) 	0.366 	0.217 	1.69
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.373 	0.213 	1.75
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.350 	0.234 	1.50
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (0, 1), BORDER_DEFAULT) 	0.347 	0.237 	1.46
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.353 	0.238 	1.48
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.379 	0.234 	1.62
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (1, 0), BORDER_DEFAULT) 	0.374 	0.235 	1.59
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.375 	0.234 	1.60
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	1.824 	0.784 	2.33
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (0, 1), BORDER_DEFAULT) 	1.832 	0.798 	2.30
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	1.863 	0.785 	2.37
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	1.195 	0.788 	1.52
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (1, 0), BORDER_DEFAULT) 	1.225 	0.801 	1.53
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	1.220 	0.789 	1.55
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	1.233 	0.875 	1.41
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (0, 1), BORDER_DEFAULT) 	1.235 	0.882 	1.40
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	1.251 	0.877 	1.43
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	1.337 	0.877 	1.52
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (1, 0), BORDER_DEFAULT) 	1.366 	0.883 	1.55
scharrFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	1.358 	0.877 	1.55
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (0, 1), BORDER_CONSTANT) 	0.110 	0.054 	2.03
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (0, 1), BORDER_REPLICATE) 	0.109 	0.054 	2.01
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (1, 0), BORDER_CONSTANT) 	0.100 	0.053 	1.90
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (1, 0), BORDER_REPLICATE) 	0.097 	0.053 	1.82
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (0, 1), BORDER_CONSTANT) 	0.114 	0.062 	1.83
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (0, 1), BORDER_REPLICATE) 	0.108 	0.057 	1.89
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (1, 0), BORDER_CONSTANT) 	0.114 	0.062 	1.82
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (1, 0), BORDER_REPLICATE) 	0.110 	0.061 	1.81
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (0, 1), BORDER_CONSTANT) 	0.532 	0.215 	2.47
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (0, 1), BORDER_REPLICATE) 	0.534 	0.221 	2.41
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (1, 0), BORDER_CONSTANT) 	0.375 	0.216 	1.74
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (1, 0), BORDER_REPLICATE) 	0.374 	0.215 	1.74
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (0, 1), BORDER_CONSTANT) 	0.346 	0.234 	1.48
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (0, 1), BORDER_REPLICATE) 	0.357 	0.235 	1.52
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (1, 0), BORDER_CONSTANT) 	0.373 	0.235 	1.58
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (1, 0), BORDER_REPLICATE) 	0.379 	0.236 	1.61
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (0, 1), BORDER_CONSTANT) 	1.815 	0.792 	2.29
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (0, 1), BORDER_REPLICATE) 	1.843 	0.785 	2.35
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (1, 0), BORDER_CONSTANT) 	1.216 	0.792 	1.53
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (1, 0), BORDER_REPLICATE) 	1.201 	0.792 	1.52
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (0, 1), BORDER_CONSTANT) 	1.241 	0.878 	1.41
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (0, 1), BORDER_REPLICATE) 	1.269 	0.873 	1.45
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (1, 0), BORDER_CONSTANT) 	1.347 	0.870 	1.55
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (1, 0), BORDER_REPLICATE) 	1.391 	0.871 	1.60
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.111 	0.054 	2.04
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (0, 1), BORDER_DEFAULT) 	0.109 	0.056 	1.93
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.108 	0.055 	1.98
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.100 	0.055 	1.83
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (1, 0), BORDER_DEFAULT) 	0.098 	0.056 	1.76
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.097 	0.055 	1.78
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.111 	0.062 	1.81
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (0, 1), BORDER_DEFAULT) 	0.109 	0.063 	1.72
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.108 	0.061 	1.77
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.114 	0.060 	1.90
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (1, 0), BORDER_DEFAULT) 	0.112 	0.063 	1.78
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.110 	0.061 	1.82
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.529 	0.216 	2.45
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (0, 1), BORDER_DEFAULT) 	0.526 	0.217 	2.43
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.530 	0.216 	2.46
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.370 	0.214 	1.73
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (1, 0), BORDER_DEFAULT) 	0.366 	0.214 	1.71
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.379 	0.215 	1.76
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.353 	0.235 	1.50
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (0, 1), BORDER_DEFAULT) 	0.348 	0.236 	1.47
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.356 	0.238 	1.50
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.380 	0.233 	1.63
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (1, 0), BORDER_DEFAULT) 	0.370 	0.237 	1.56
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.374 	0.236 	1.58
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	1.854 	0.786 	2.36
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (0, 1), BORDER_DEFAULT) 	1.825 	0.798 	2.29
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	1.839 	0.793 	2.32
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	1.225 	0.784 	1.56
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (1, 0), BORDER_DEFAULT) 	1.222 	0.802 	1.52
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	1.249 	0.789 	1.58
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	1.236 	0.882 	1.40
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (0, 1), BORDER_DEFAULT) 	1.249 	0.881 	1.42
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	1.258 	0.877 	1.43
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	1.346 	0.877 	1.53
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (1, 0), BORDER_DEFAULT) 	1.354 	0.882 	1.54
scharrViaSobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	1.366 	0.876 	1.56
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (0, 1), BORDER_CONSTANT) 	0.093 	0.054 	1.72
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (0, 1), BORDER_REPLICATE) 	0.091 	0.055 	1.65
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (0, 2), BORDER_CONSTANT) 	0.098 	0.055 	1.80
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (0, 2), BORDER_REPLICATE) 	0.097 	0.053 	1.81
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (1, 0), BORDER_CONSTANT) 	0.095 	0.053 	1.79
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (1, 0), BORDER_REPLICATE) 	0.095 	0.053 	1.77
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (1, 1), BORDER_CONSTANT) 	0.090 	0.053 	1.70
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (1, 1), BORDER_REPLICATE) 	0.088 	0.053 	1.65
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (2, 0), BORDER_CONSTANT) 	0.098 	0.053 	1.83
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (2, 0), BORDER_REPLICATE) 	0.095 	0.053 	1.79
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (2, 2), BORDER_CONSTANT) 	0.100 	0.053 	1.88
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 16SC1, (2, 2), BORDER_REPLICATE) 	0.096 	0.054 	1.80
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (0, 1), BORDER_CONSTANT) 	0.110 	0.060 	1.84
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (0, 1), BORDER_REPLICATE) 	0.108 	0.059 	1.83
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (0, 2), BORDER_CONSTANT) 	0.113 	0.060 	1.90
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (0, 2), BORDER_REPLICATE) 	0.111 	0.059 	1.88
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (1, 0), BORDER_CONSTANT) 	0.113 	0.060 	1.87
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (1, 0), BORDER_REPLICATE) 	0.109 	0.060 	1.82
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (1, 1), BORDER_CONSTANT) 	0.111 	0.060 	1.84
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (1, 1), BORDER_REPLICATE) 	0.107 	0.059 	1.81
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (2, 0), BORDER_CONSTANT) 	0.117 	0.060 	1.96
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (2, 0), BORDER_REPLICATE) 	0.112 	0.060 	1.88
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (2, 2), BORDER_CONSTANT) 	0.115 	0.060 	1.91
sobelFilter::Size_MatType_dx_dy_Border3x3::(127x61, 32FC1, (2, 2), BORDER_REPLICATE) 	0.110 	0.060 	1.83
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (0, 1), BORDER_CONSTANT) 	0.324 	0.214 	1.51
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (0, 1), BORDER_REPLICATE) 	0.328 	0.215 	1.52
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (0, 2), BORDER_CONSTANT) 	0.349 	0.213 	1.64
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (0, 2), BORDER_REPLICATE) 	0.354 	0.213 	1.66
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (1, 0), BORDER_CONSTANT) 	0.339 	0.213 	1.59
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (1, 0), BORDER_REPLICATE) 	0.342 	0.214 	1.60
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (1, 1), BORDER_CONSTANT) 	0.313 	0.213 	1.47
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (1, 1), BORDER_REPLICATE) 	0.318 	0.214 	1.48
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (2, 0), BORDER_CONSTANT) 	0.347 	0.214 	1.62
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (2, 0), BORDER_REPLICATE) 	0.350 	0.212 	1.65
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (2, 2), BORDER_CONSTANT) 	0.350 	0.214 	1.63
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 16SC1, (2, 2), BORDER_REPLICATE) 	0.357 	0.217 	1.64
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (0, 1), BORDER_CONSTANT) 	0.347 	0.234 	1.48
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (0, 1), BORDER_REPLICATE) 	0.356 	0.235 	1.51
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (0, 2), BORDER_CONSTANT) 	0.368 	0.235 	1.57
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (0, 2), BORDER_REPLICATE) 	0.378 	0.234 	1.62
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (1, 0), BORDER_CONSTANT) 	0.385 	0.235 	1.64
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (1, 0), BORDER_REPLICATE) 	0.382 	0.233 	1.64
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (1, 1), BORDER_CONSTANT) 	0.346 	0.234 	1.48
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (1, 1), BORDER_REPLICATE) 	0.353 	0.234 	1.50
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (2, 0), BORDER_CONSTANT) 	0.384 	0.233 	1.65
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (2, 0), BORDER_REPLICATE) 	0.386 	0.233 	1.66
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (2, 2), BORDER_CONSTANT) 	0.376 	0.235 	1.60
sobelFilter::Size_MatType_dx_dy_Border3x3::(320x240, 32FC1, (2, 2), BORDER_REPLICATE) 	0.374 	0.234 	1.60
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (0, 1), BORDER_CONSTANT) 	0.990 	0.789 	1.25
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (0, 1), BORDER_REPLICATE) 	1.012 	0.800 	1.27
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (0, 2), BORDER_CONSTANT) 	1.145 	0.788 	1.45
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (0, 2), BORDER_REPLICATE) 	1.128 	0.788 	1.43
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (1, 0), BORDER_CONSTANT) 	1.042 	0.789 	1.32
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (1, 0), BORDER_REPLICATE) 	1.086 	0.787 	1.38
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (1, 1), BORDER_CONSTANT) 	0.941 	0.798 	1.18
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (1, 1), BORDER_REPLICATE) 	0.957 	0.790 	1.21
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (2, 0), BORDER_CONSTANT) 	1.121 	0.789 	1.42
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (2, 0), BORDER_REPLICATE) 	1.118 	0.787 	1.42
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (2, 2), BORDER_CONSTANT) 	1.132 	0.800 	1.41
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 16SC1, (2, 2), BORDER_REPLICATE) 	1.147 	0.788 	1.46
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (0, 1), BORDER_CONSTANT) 	1.230 	0.900 	1.37
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (0, 1), BORDER_REPLICATE) 	1.242 	0.907 	1.37
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (0, 2), BORDER_CONSTANT) 	1.375 	0.903 	1.52
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (0, 2), BORDER_REPLICATE) 	1.362 	0.904 	1.51
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (1, 0), BORDER_CONSTANT) 	1.389 	0.912 	1.52
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (1, 0), BORDER_REPLICATE) 	1.381 	0.905 	1.53
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (1, 1), BORDER_CONSTANT) 	1.222 	0.898 	1.36
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (1, 1), BORDER_REPLICATE) 	1.270 	0.907 	1.40
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (2, 0), BORDER_CONSTANT) 	1.358 	0.898 	1.51
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (2, 0), BORDER_REPLICATE) 	1.390 	0.906 	1.54
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (2, 2), BORDER_CONSTANT) 	1.376 	0.908 	1.51
sobelFilter::Size_MatType_dx_dy_Border3x3::(640x480, 32FC1, (2, 2), BORDER_REPLICATE) 	1.381 	0.892 	1.55
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.092 	0.055 	1.69
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (0, 1), BORDER_DEFAULT) 	0.091 	0.058 	1.57
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.090 	0.055 	1.64
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (0, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	0.099 	0.056 	1.78
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (0, 2), BORDER_DEFAULT) 	0.096 	0.057 	1.69
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (0, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	0.097 	0.055 	1.75
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.097 	0.055 	1.76
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (1, 0), BORDER_DEFAULT) 	0.094 	0.055 	1.70
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.093 	0.054 	1.72
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (1, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.090 	0.056 	1.62
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (1, 1), BORDER_DEFAULT) 	0.089 	0.056 	1.59
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (1, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.088 	0.056 	1.57
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (2, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.099 	0.055 	1.78
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (2, 0), BORDER_DEFAULT) 	0.095 	0.057 	1.67
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (2, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.096 	0.055 	1.73
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (2, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	0.099 	0.056 	1.77
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (2, 2), BORDER_DEFAULT) 	0.096 	0.058 	1.65
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 16SC1, (2, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	0.097 	0.056 	1.72
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.111 	0.062 	1.81
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (0, 1), BORDER_DEFAULT) 	0.111 	0.062 	1.80
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.106 	0.061 	1.74
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (0, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	0.115 	0.060 	1.93
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (0, 2), BORDER_DEFAULT) 	0.113 	0.062 	1.83
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (0, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	0.111 	0.059 	1.87
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.113 	0.060 	1.87
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (1, 0), BORDER_DEFAULT) 	0.112 	0.061 	1.83
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.112 	0.060 	1.87
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (1, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.108 	0.060 	1.81
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (1, 1), BORDER_DEFAULT) 	0.108 	0.061 	1.77
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (1, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.105 	0.060 	1.75
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (2, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.117 	0.059 	1.98
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (2, 0), BORDER_DEFAULT) 	0.113 	0.062 	1.84
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (2, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.112 	0.061 	1.85
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (2, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	0.114 	0.060 	1.89
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (2, 2), BORDER_DEFAULT) 	0.112 	0.063 	1.77
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(127x61, 32FC1, (2, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	0.112 	0.061 	1.83
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.321 	0.216 	1.48
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (0, 1), BORDER_DEFAULT) 	0.321 	0.219 	1.46
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.326 	0.217 	1.50
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (0, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	0.346 	0.216 	1.60
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (0, 2), BORDER_DEFAULT) 	0.341 	0.215 	1.59
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (0, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	0.350 	0.219 	1.60
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.337 	0.218 	1.55
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (1, 0), BORDER_DEFAULT) 	0.333 	0.215 	1.55
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.334 	0.215 	1.56
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (1, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.314 	0.218 	1.44
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (1, 1), BORDER_DEFAULT) 	0.308 	0.218 	1.41
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (1, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.314 	0.215 	1.46
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (2, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.346 	0.216 	1.60
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (2, 0), BORDER_DEFAULT) 	0.341 	0.218 	1.57
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (2, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.349 	0.219 	1.59
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (2, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	0.354 	0.212 	1.67
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (2, 2), BORDER_DEFAULT) 	0.343 	0.220 	1.56
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 16SC1, (2, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	0.349 	0.215 	1.63
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.348 	0.236 	1.47
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (0, 1), BORDER_DEFAULT) 	0.349 	0.237 	1.48
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.351 	0.234 	1.50
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (0, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	0.373 	0.237 	1.58
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (0, 2), BORDER_DEFAULT) 	0.374 	0.238 	1.57
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (0, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	0.376 	0.235 	1.60
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.386 	0.236 	1.64
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (1, 0), BORDER_DEFAULT) 	0.382 	0.238 	1.60
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.386 	0.238 	1.63
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (1, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.353 	0.235 	1.50
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (1, 1), BORDER_DEFAULT) 	0.348 	0.239 	1.46
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (1, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.357 	0.235 	1.52
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (2, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.387 	0.237 	1.63
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (2, 0), BORDER_DEFAULT) 	0.382 	0.239 	1.60
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (2, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.386 	0.233 	1.65
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (2, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	0.378 	0.236 	1.60
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (2, 2), BORDER_DEFAULT) 	0.372 	0.237 	1.57
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(320x240, 32FC1, (2, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	0.372 	0.234 	1.59
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	1.033 	0.776 	1.33
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (0, 1), BORDER_DEFAULT) 	1.009 	0.782 	1.29
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	1.035 	0.779 	1.33
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (0, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	1.160 	0.780 	1.49
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (0, 2), BORDER_DEFAULT) 	1.133 	0.782 	1.45
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (0, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	1.155 	0.782 	1.48
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	1.061 	0.777 	1.36
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (1, 0), BORDER_DEFAULT) 	1.068 	0.782 	1.37
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	1.107 	0.781 	1.42
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (1, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.985 	0.785 	1.25
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (1, 1), BORDER_DEFAULT) 	0.971 	0.787 	1.23
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (1, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.973 	0.781 	1.25
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (2, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	1.126 	0.778 	1.45
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (2, 0), BORDER_DEFAULT) 	1.136 	0.782 	1.45
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (2, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	1.126 	0.781 	1.44
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (2, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	1.145 	0.780 	1.47
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (2, 2), BORDER_DEFAULT) 	1.121 	0.783 	1.43
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 16SC1, (2, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	1.172 	0.781 	1.50
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	1.263 	0.884 	1.43
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (0, 1), BORDER_DEFAULT) 	1.236 	0.889 	1.39
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	1.263 	0.883 	1.43
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (0, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	1.349 	0.887 	1.52
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (0, 2), BORDER_DEFAULT) 	1.322 	0.888 	1.49
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (0, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	1.391 	0.906 	1.54
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	1.372 	0.885 	1.55
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (1, 0), BORDER_DEFAULT) 	1.369 	0.891 	1.54
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	1.408 	0.881 	1.60
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (1, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	1.235 	0.897 	1.38
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (1, 1), BORDER_DEFAULT) 	1.248 	0.886 	1.41
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (1, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	1.250 	0.885 	1.41
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (2, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	1.369 	0.887 	1.54
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (2, 0), BORDER_DEFAULT) 	1.357 	0.888 	1.53
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (2, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	1.408 	0.886 	1.59
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (2, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	1.344 	0.883 	1.52
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (2, 2), BORDER_DEFAULT) 	1.358 	0.903 	1.50
sobelFilter::Size_MatType_dx_dy_Border3x3ROI::(640x480, 32FC1, (2, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	1.374 	0.880 	1.56
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (0, 1), BORDER_CONSTANT) 	0.174 	0.055 	3.16
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (0, 1), BORDER_REFLECT101) 	0.172 	0.056 	3.07
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (0, 1), BORDER_REFLECT) 	0.172 	0.055 	3.12
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (0, 1), BORDER_REPLICATE) 	0.172 	0.056 	3.10
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (0, 2), BORDER_CONSTANT) 	0.206 	0.054 	3.77
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (0, 2), BORDER_REFLECT101) 	0.204 	0.055 	3.69
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (0, 2), BORDER_REFLECT) 	0.205 	0.056 	3.69
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (0, 2), BORDER_REPLICATE) 	0.204 	0.056 	3.68
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (1, 0), BORDER_CONSTANT) 	0.199 	0.057 	3.52
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (1, 0), BORDER_REFLECT101) 	0.197 	0.056 	3.54
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (1, 0), BORDER_REFLECT) 	0.197 	0.057 	3.46
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (1, 0), BORDER_REPLICATE) 	0.197 	0.056 	3.54
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (1, 1), BORDER_CONSTANT) 	0.167 	0.055 	3.05
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (1, 1), BORDER_REFLECT101) 	0.165 	0.055 	2.98
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (1, 1), BORDER_REFLECT) 	0.165 	0.056 	2.97
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (1, 1), BORDER_REPLICATE) 	0.164 	0.055 	2.96
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (2, 0), BORDER_CONSTANT) 	0.182 	0.055 	3.32
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (2, 0), BORDER_REFLECT101) 	0.180 	0.056 	3.20
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (2, 0), BORDER_REFLECT) 	0.180 	0.056 	3.22
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 16SC1, (2, 0), BORDER_REPLICATE) 	0.180 	0.055 	3.24
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (0, 1), BORDER_CONSTANT) 	0.191 	0.058 	3.28
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (0, 1), BORDER_REFLECT101) 	0.187 	0.059 	3.16
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (0, 1), BORDER_REFLECT) 	0.188 	0.059 	3.20
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (0, 1), BORDER_REPLICATE) 	0.190 	0.059 	3.23
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (0, 2), BORDER_CONSTANT) 	0.194 	0.059 	3.30
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (0, 2), BORDER_REFLECT101) 	0.190 	0.058 	3.26
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (0, 2), BORDER_REFLECT) 	0.192 	0.059 	3.26
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (0, 2), BORDER_REPLICATE) 	0.193 	0.058 	3.30
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (1, 0), BORDER_CONSTANT) 	0.194 	0.058 	3.38
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (1, 0), BORDER_REFLECT101) 	0.192 	0.058 	3.29
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (1, 0), BORDER_REFLECT) 	0.192 	0.059 	3.27
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (1, 0), BORDER_REPLICATE) 	0.192 	0.059 	3.23
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (1, 1), BORDER_CONSTANT) 	0.191 	0.058 	3.29
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (1, 1), BORDER_REFLECT101) 	0.188 	0.059 	3.19
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (1, 1), BORDER_REFLECT) 	0.188 	0.059 	3.20
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (1, 1), BORDER_REPLICATE) 	0.188 	0.059 	3.18
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (2, 0), BORDER_CONSTANT) 	0.195 	0.058 	3.38
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (2, 0), BORDER_REFLECT101) 	0.192 	0.059 	3.27
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (2, 0), BORDER_REFLECT) 	0.193 	0.059 	3.28
sobelFilter::Size_MatType_dx_dy_Border5x5::(127x61, 32FC1, (2, 0), BORDER_REPLICATE) 	0.190 	0.059 	3.24
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (0, 1), BORDER_CONSTANT) 	1.255 	0.244 	5.15
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (0, 1), BORDER_REFLECT101) 	1.252 	0.242 	5.18
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (0, 1), BORDER_REFLECT) 	1.242 	0.240 	5.18
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (0, 1), BORDER_REPLICATE) 	1.255 	0.241 	5.20
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (0, 2), BORDER_CONSTANT) 	1.540 	0.243 	6.34
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (0, 2), BORDER_REFLECT101) 	1.548 	0.243 	6.36
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (0, 2), BORDER_REFLECT) 	1.563 	0.246 	6.36
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (0, 2), BORDER_REPLICATE) 	1.547 	0.243 	6.38
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (1, 0), BORDER_CONSTANT) 	1.494 	0.241 	6.20
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (1, 0), BORDER_REFLECT101) 	1.516 	0.241 	6.29
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (1, 0), BORDER_REFLECT) 	1.500 	0.243 	6.19
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (1, 0), BORDER_REPLICATE) 	1.501 	0.242 	6.20
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (1, 1), BORDER_CONSTANT) 	1.186 	0.242 	4.91
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (1, 1), BORDER_REFLECT101) 	1.201 	0.242 	4.95
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (1, 1), BORDER_REFLECT) 	1.195 	0.243 	4.93
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (1, 1), BORDER_REPLICATE) 	1.207 	0.243 	4.97
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (2, 0), BORDER_CONSTANT) 	1.309 	0.242 	5.40
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (2, 0), BORDER_REFLECT101) 	1.311 	0.237 	5.54
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (2, 0), BORDER_REFLECT) 	1.309 	0.243 	5.39
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 16SC1, (2, 0), BORDER_REPLICATE) 	1.310 	0.238 	5.51
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (0, 1), BORDER_CONSTANT) 	0.482 	0.259 	1.86
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (0, 1), BORDER_REFLECT101) 	0.485 	0.254 	1.91
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (0, 1), BORDER_REFLECT) 	0.485 	0.267 	1.82
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (0, 1), BORDER_REPLICATE) 	0.487 	0.257 	1.90
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (0, 2), BORDER_CONSTANT) 	0.497 	0.260 	1.91
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (0, 2), BORDER_REFLECT101) 	0.505 	0.255 	1.98
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (0, 2), BORDER_REFLECT) 	0.500 	0.270 	1.85
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (0, 2), BORDER_REPLICATE) 	0.501 	0.252 	1.99
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (1, 0), BORDER_CONSTANT) 	0.498 	0.257 	1.93
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (1, 0), BORDER_REFLECT101) 	0.501 	0.257 	1.95
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (1, 0), BORDER_REFLECT) 	0.500 	0.272 	1.84
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (1, 0), BORDER_REPLICATE) 	0.513 	0.252 	2.03
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (1, 1), BORDER_CONSTANT) 	0.479 	0.261 	1.84
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (1, 1), BORDER_REFLECT101) 	0.483 	0.256 	1.88
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (1, 1), BORDER_REFLECT) 	0.487 	0.266 	1.83
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (1, 1), BORDER_REPLICATE) 	0.484 	0.251 	1.93
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (2, 0), BORDER_CONSTANT) 	0.497 	0.259 	1.92
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (2, 0), BORDER_REFLECT101) 	0.504 	0.250 	2.02
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (2, 0), BORDER_REFLECT) 	0.503 	0.266 	1.89
sobelFilter::Size_MatType_dx_dy_Border5x5::(320x240, 32FC1, (2, 0), BORDER_REPLICATE) 	0.504 	0.256 	1.97
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (0, 1), BORDER_CONSTANT) 	5.991 	0.812 	7.38
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (0, 1), BORDER_REFLECT101) 	6.031 	0.813 	7.42
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (0, 1), BORDER_REFLECT) 	6.030 	0.817 	7.38
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (0, 1), BORDER_REPLICATE) 	6.039 	0.783 	7.72
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (0, 2), BORDER_CONSTANT) 	6.863 	0.821 	8.36
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (0, 2), BORDER_REFLECT101) 	6.871 	0.822 	8.36
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (0, 2), BORDER_REFLECT) 	6.864 	0.821 	8.36
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (0, 2), BORDER_REPLICATE) 	6.858 	0.815 	8.41
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (1, 0), BORDER_CONSTANT) 	6.673 	0.823 	8.11
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (1, 0), BORDER_REFLECT101) 	6.685 	0.819 	8.16
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (1, 0), BORDER_REFLECT) 	6.668 	0.819 	8.14
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (1, 0), BORDER_REPLICATE) 	6.671 	0.812 	8.22
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (1, 1), BORDER_CONSTANT) 	5.808 	0.818 	7.10
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (1, 1), BORDER_REFLECT101) 	5.827 	0.818 	7.12
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (1, 1), BORDER_REFLECT) 	5.842 	0.818 	7.14
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (1, 1), BORDER_REPLICATE) 	5.853 	0.818 	7.15
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (2, 0), BORDER_CONSTANT) 	5.896 	0.821 	7.18
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (2, 0), BORDER_REFLECT101) 	5.903 	0.822 	7.18
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (2, 0), BORDER_REFLECT) 	5.907 	0.821 	7.20
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 16SC1, (2, 0), BORDER_REPLICATE) 	5.915 	0.819 	7.22
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (0, 1), BORDER_CONSTANT) 	1.821 	0.878 	2.07
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (0, 1), BORDER_REFLECT101) 	1.821 	0.884 	2.06
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (0, 1), BORDER_REFLECT) 	1.805 	0.881 	2.05
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (0, 1), BORDER_REPLICATE) 	1.801 	0.881 	2.04
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (0, 2), BORDER_CONSTANT) 	1.836 	0.878 	2.09
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (0, 2), BORDER_REFLECT101) 	1.896 	0.884 	2.15
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (0, 2), BORDER_REFLECT) 	1.897 	0.886 	2.14
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (0, 2), BORDER_REPLICATE) 	1.916 	0.882 	2.17
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (1, 0), BORDER_CONSTANT) 	1.855 	0.879 	2.11
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (1, 0), BORDER_REFLECT101) 	1.895 	0.885 	2.14
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (1, 0), BORDER_REFLECT) 	1.898 	0.881 	2.15
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (1, 0), BORDER_REPLICATE) 	1.919 	0.885 	2.17
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (1, 1), BORDER_CONSTANT) 	1.828 	0.875 	2.09
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (1, 1), BORDER_REFLECT101) 	1.826 	0.888 	2.06
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (1, 1), BORDER_REFLECT) 	1.812 	0.883 	2.05
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (1, 1), BORDER_REPLICATE) 	1.801 	0.888 	2.03
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (2, 0), BORDER_CONSTANT) 	1.897 	0.883 	2.15
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (2, 0), BORDER_REFLECT101) 	1.887 	0.883 	2.14
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (2, 0), BORDER_REFLECT) 	1.874 	0.881 	2.13
sobelFilter::Size_MatType_dx_dy_Border5x5::(640x480, 32FC1, (2, 0), BORDER_REPLICATE) 	1.864 	0.880 	2.12
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.173 	0.056 	3.07
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (0, 1), BORDER_DEFAULT) 	0.174 	0.058 	2.99
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (0, 1), BORDER_REFLECT101|BORDER_ISOLATED) 	0.172 	0.057 	3.01
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (0, 1), BORDER_REFLECT|BORDER_ISOLATED) 	0.171 	0.056 	3.03
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.173 	0.057 	3.05
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (0, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	0.206 	0.056 	3.69
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (0, 2), BORDER_DEFAULT) 	0.207 	0.059 	3.50
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (0, 2), BORDER_REFLECT101|BORDER_ISOLATED) 	0.203 	0.056 	3.62
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (0, 2), BORDER_REFLECT|BORDER_ISOLATED) 	0.203 	0.056 	3.59
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (0, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	0.205 	0.056 	3.66
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.199 	0.058 	3.42
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (1, 0), BORDER_DEFAULT) 	0.199 	0.058 	3.46
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (1, 0), BORDER_REFLECT101|BORDER_ISOLATED) 	0.200 	0.058 	3.48
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (1, 0), BORDER_REFLECT|BORDER_ISOLATED) 	0.199 	0.057 	3.49
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.200 	0.057 	3.51
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (1, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.169 	0.056 	3.00
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (1, 1), BORDER_DEFAULT) 	0.167 	0.058 	2.86
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (1, 1), BORDER_REFLECT101|BORDER_ISOLATED) 	0.167 	0.058 	2.87
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (1, 1), BORDER_REFLECT|BORDER_ISOLATED) 	0.167 	0.057 	2.92
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (1, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.167 	0.057 	2.94
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (2, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.181 	0.055 	3.26
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (2, 0), BORDER_DEFAULT) 	0.179 	0.058 	3.10
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (2, 0), BORDER_REFLECT101|BORDER_ISOLATED) 	0.180 	0.057 	3.19
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (2, 0), BORDER_REFLECT|BORDER_ISOLATED) 	0.178 	0.057 	3.11
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 16SC1, (2, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.178 	0.056 	3.20
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.192 	0.058 	3.29
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (0, 1), BORDER_DEFAULT) 	0.197 	0.061 	3.23
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (0, 1), BORDER_REFLECT101|BORDER_ISOLATED) 	0.189 	0.059 	3.22
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (0, 1), BORDER_REFLECT|BORDER_ISOLATED) 	0.189 	0.058 	3.23
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.187 	0.059 	3.18
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (0, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	0.195 	0.059 	3.32
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (0, 2), BORDER_DEFAULT) 	0.199 	0.061 	3.28
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (0, 2), BORDER_REFLECT101|BORDER_ISOLATED) 	0.192 	0.060 	3.21
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (0, 2), BORDER_REFLECT|BORDER_ISOLATED) 	0.192 	0.059 	3.25
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (0, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	0.193 	0.058 	3.31
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.195 	0.057 	3.41
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (1, 0), BORDER_DEFAULT) 	0.201 	0.060 	3.34
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (1, 0), BORDER_REFLECT101|BORDER_ISOLATED) 	0.192 	0.060 	3.21
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (1, 0), BORDER_REFLECT|BORDER_ISOLATED) 	0.192 	0.058 	3.29
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.193 	0.058 	3.33
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (1, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.192 	0.057 	3.35
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (1, 1), BORDER_DEFAULT) 	0.198 	0.061 	3.26
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (1, 1), BORDER_REFLECT101|BORDER_ISOLATED) 	0.188 	0.059 	3.15
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (1, 1), BORDER_REFLECT|BORDER_ISOLATED) 	0.188 	0.060 	3.12
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (1, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.189 	0.058 	3.24
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (2, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.195 	0.058 	3.36
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (2, 0), BORDER_DEFAULT) 	0.201 	0.061 	3.31
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (2, 0), BORDER_REFLECT101|BORDER_ISOLATED) 	0.192 	0.059 	3.26
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (2, 0), BORDER_REFLECT|BORDER_ISOLATED) 	0.193 	0.059 	3.28
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(127x61, 32FC1, (2, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.192 	0.058 	3.29
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	1.239 	0.238 	5.21
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (0, 1), BORDER_DEFAULT) 	1.235 	0.246 	5.02
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (0, 1), BORDER_REFLECT101|BORDER_ISOLATED) 	1.265 	0.238 	5.32
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (0, 1), BORDER_REFLECT|BORDER_ISOLATED) 	1.267 	0.235 	5.38
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	1.256 	0.239 	5.25
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (0, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	1.540 	0.240 	6.41
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (0, 2), BORDER_DEFAULT) 	1.554 	0.246 	6.33
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (0, 2), BORDER_REFLECT101|BORDER_ISOLATED) 	1.560 	0.234 	6.67
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (0, 2), BORDER_REFLECT|BORDER_ISOLATED) 	1.575 	0.236 	6.68
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (0, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	1.581 	0.236 	6.69
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	1.495 	0.239 	6.25
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (1, 0), BORDER_DEFAULT) 	1.515 	0.247 	6.14
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (1, 0), BORDER_REFLECT101|BORDER_ISOLATED) 	1.494 	0.238 	6.28
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (1, 0), BORDER_REFLECT|BORDER_ISOLATED) 	1.506 	0.236 	6.38
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	1.509 	0.237 	6.36
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (1, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	1.188 	0.241 	4.93
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (1, 1), BORDER_DEFAULT) 	1.185 	0.245 	4.84
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (1, 1), BORDER_REFLECT101|BORDER_ISOLATED) 	1.198 	0.237 	5.07
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (1, 1), BORDER_REFLECT|BORDER_ISOLATED) 	1.201 	0.234 	5.14
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (1, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	1.202 	0.236 	5.08
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (2, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	1.314 	0.238 	5.52
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (2, 0), BORDER_DEFAULT) 	1.307 	0.247 	5.30
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (2, 0), BORDER_REFLECT101|BORDER_ISOLATED) 	1.309 	0.239 	5.49
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (2, 0), BORDER_REFLECT|BORDER_ISOLATED) 	1.309 	0.235 	5.56
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 16SC1, (2, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	1.319 	0.245 	5.38
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.491 	0.254 	1.93
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (0, 1), BORDER_DEFAULT) 	0.480 	0.267 	1.80
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (0, 1), BORDER_REFLECT101|BORDER_ISOLATED) 	0.490 	0.252 	1.94
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (0, 1), BORDER_REFLECT|BORDER_ISOLATED) 	0.494 	0.251 	1.97
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.483 	0.254 	1.90
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (0, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	0.506 	0.256 	1.98
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (0, 2), BORDER_DEFAULT) 	0.498 	0.264 	1.88
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (0, 2), BORDER_REFLECT101|BORDER_ISOLATED) 	0.512 	0.250 	2.04
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (0, 2), BORDER_REFLECT|BORDER_ISOLATED) 	0.516 	0.251 	2.06
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (0, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	0.501 	0.253 	1.98
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.501 	0.257 	1.95
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (1, 0), BORDER_DEFAULT) 	0.496 	0.261 	1.90
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (1, 0), BORDER_REFLECT101|BORDER_ISOLATED) 	0.498 	0.252 	1.98
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (1, 0), BORDER_REFLECT|BORDER_ISOLATED) 	0.502 	0.254 	1.98
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.500 	0.253 	1.97
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (1, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	0.480 	0.256 	1.87
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (1, 1), BORDER_DEFAULT) 	0.488 	0.262 	1.86
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (1, 1), BORDER_REFLECT101|BORDER_ISOLATED) 	0.486 	0.251 	1.94
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (1, 1), BORDER_REFLECT|BORDER_ISOLATED) 	0.484 	0.250 	1.94
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (1, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	0.493 	0.254 	1.94
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (2, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	0.501 	0.254 	1.97
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (2, 0), BORDER_DEFAULT) 	0.495 	0.271 	1.83
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (2, 0), BORDER_REFLECT101|BORDER_ISOLATED) 	0.501 	0.251 	1.99
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (2, 0), BORDER_REFLECT|BORDER_ISOLATED) 	0.501 	0.251 	2.00
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(320x240, 32FC1, (2, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	0.499 	0.255 	1.96
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	5.999 	0.794 	7.56
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (0, 1), BORDER_DEFAULT) 	6.020 	0.803 	7.50
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (0, 1), BORDER_REFLECT101|BORDER_ISOLATED) 	6.021 	0.792 	7.60
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (0, 1), BORDER_REFLECT|BORDER_ISOLATED) 	6.025 	0.789 	7.64
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	6.023 	0.798 	7.55
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (0, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	6.828 	0.789 	8.66
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (0, 2), BORDER_DEFAULT) 	6.837 	0.802 	8.53
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (0, 2), BORDER_REFLECT101|BORDER_ISOLATED) 	6.861 	0.792 	8.66
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (0, 2), BORDER_REFLECT|BORDER_ISOLATED) 	6.881 	0.789 	8.72
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (0, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	6.852 	0.793 	8.64
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	6.664 	0.790 	8.43
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (1, 0), BORDER_DEFAULT) 	6.654 	0.805 	8.26
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (1, 0), BORDER_REFLECT101|BORDER_ISOLATED) 	6.661 	0.793 	8.40
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (1, 0), BORDER_REFLECT|BORDER_ISOLATED) 	6.648 	0.794 	8.38
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	6.654 	0.786 	8.47
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (1, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	5.802 	0.787 	7.38
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (1, 1), BORDER_DEFAULT) 	5.812 	0.811 	7.16
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (1, 1), BORDER_REFLECT101|BORDER_ISOLATED) 	5.841 	0.791 	7.39
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (1, 1), BORDER_REFLECT|BORDER_ISOLATED) 	5.804 	0.789 	7.36
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (1, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	5.814 	0.789 	7.37
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (2, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	5.886 	0.786 	7.49
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (2, 0), BORDER_DEFAULT) 	5.880 	0.801 	7.34
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (2, 0), BORDER_REFLECT101|BORDER_ISOLATED) 	5.881 	0.795 	7.40
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (2, 0), BORDER_REFLECT|BORDER_ISOLATED) 	5.883 	0.790 	7.44
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 16SC1, (2, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	5.894 	0.793 	7.43
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (0, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	1.803 	0.869 	2.08
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (0, 1), BORDER_DEFAULT) 	1.821 	0.877 	2.08
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (0, 1), BORDER_REFLECT101|BORDER_ISOLATED) 	1.817 	0.882 	2.06
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (0, 1), BORDER_REFLECT|BORDER_ISOLATED) 	1.793 	0.893 	2.01
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (0, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	1.823 	0.873 	2.09
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (0, 2), BORDER_CONSTANT|BORDER_ISOLATED) 	1.875 	0.866 	2.17
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (0, 2), BORDER_DEFAULT) 	1.893 	0.878 	2.16
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (0, 2), BORDER_REFLECT101|BORDER_ISOLATED) 	1.882 	0.870 	2.16
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (0, 2), BORDER_REFLECT|BORDER_ISOLATED) 	1.885 	0.873 	2.16
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (0, 2), BORDER_REPLICATE|BORDER_ISOLATED) 	1.914 	0.879 	2.18
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (1, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	1.873 	0.867 	2.16
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (1, 0), BORDER_DEFAULT) 	1.882 	0.878 	2.14
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (1, 0), BORDER_REFLECT101|BORDER_ISOLATED) 	1.900 	0.867 	2.19
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (1, 0), BORDER_REFLECT|BORDER_ISOLATED) 	1.903 	0.880 	2.16
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (1, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	1.933 	0.868 	2.23
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (1, 1), BORDER_CONSTANT|BORDER_ISOLATED) 	1.810 	0.870 	2.08
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (1, 1), BORDER_DEFAULT) 	1.800 	0.877 	2.05
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (1, 1), BORDER_REFLECT101|BORDER_ISOLATED) 	1.869 	0.874 	2.14
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (1, 1), BORDER_REFLECT|BORDER_ISOLATED) 	1.820 	0.873 	2.08
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (1, 1), BORDER_REPLICATE|BORDER_ISOLATED) 	1.799 	0.876 	2.05
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (2, 0), BORDER_CONSTANT|BORDER_ISOLATED) 	1.892 	0.866 	2.19
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (2, 0), BORDER_DEFAULT) 	1.882 	0.876 	2.15
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (2, 0), BORDER_REFLECT101|BORDER_ISOLATED) 	1.919 	0.878 	2.19
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (2, 0), BORDER_REFLECT|BORDER_ISOLATED) 	1.924 	0.877 	2.19
sobelFilter::Size_MatType_dx_dy_Border5x5ROI::(640x480, 32FC1, (2, 0), BORDER_REPLICATE|BORDER_ISOLATED) 	1.899 	0.870 	2.18 

@asmorkalov
Copy link
Copy Markdown
Contributor

dilate::Size_MatType::(320x240, 8UC1) 	1.416 	0.132 	10.77
dilate::Size_MatType::(320x240, 8UC4) 	5.667 	0.298 	19.05
dilate::Size_MatType::(640x480, 8UC1) 	6.001 	0.355 	16.91
dilate::Size_MatType::(640x480, 8UC4) 	22.785 	1.097 	20.77
dilate::Size_MatType::(800x600, 8UC1) 	8.958 	0.474 	18.90
dilate::Size_MatType::(800x600, 8UC4) 	36.680 	1.777 	20.64
dilate::Size_MatType::(1024x768, 8UC1) 	15.220 	0.872 	17.45
dilate::Size_MatType::(1024x768, 8UC4) 	62.980 	3.135 	20.09
dilate::Size_MatType::(1280x1024, 8UC1) 	25.343 	1.485 	17.07
dilate::Size_MatType::(1280x1024, 8UC4) 	94.443 	5.005 	18.87 
erode::Size_MatType::(320x240, 8UC1) 	1.418 	0.137 	10.32
erode::Size_MatType::(320x240, 8UC4) 	5.700 	0.310 	18.40
erode::Size_MatType::(640x480, 8UC1) 	6.015 	0.385 	15.61
erode::Size_MatType::(640x480, 8UC4) 	22.996 	1.128 	20.39
erode::Size_MatType::(800x600, 8UC1) 	9.017 	0.488 	18.49
erode::Size_MatType::(800x600, 8UC4) 	36.602 	1.801 	20.32
erode::Size_MatType::(1024x768, 8UC1) 	15.402 	0.876 	17.58
erode::Size_MatType::(1024x768, 8UC4) 	70.672 	3.125 	22.61
erode::Size_MatType::(1280x1024, 8UC1) 	25.506 	1.514 	16.84
erode::Size_MatType::(1280x1024, 8UC4) 	96.520 	5.010 	19.26 

@asmorkalov asmorkalov added this to the 4.12.0 milestone Mar 11, 2025
@asmorkalov
Copy link
Copy Markdown
Contributor

@fengyuentau Do you have review notes for the PR? I want to merge it.

Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
@fengyuentau
Copy link
Copy Markdown
Member

My performance results (K1 vs RK3568):

perf-filter.zip

Co-authored-by: Liutong HAN <liutong2020@iscas.ac.cn>
@asmorkalov asmorkalov self-assigned this Mar 11, 2025
@asmorkalov asmorkalov merged commit a48e78c into opencv:4.x Mar 11, 2025
27 of 28 checks passed
@asmorkalov asmorkalov mentioned this pull request Mar 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants