Commit Graph

710 Commits

Author SHA1 Message Date
Kazuki Matsuda
fa292c3d8d Implimentation "cv::Mat::forEach"
I propose forEach method for cv::Mat and cv::Mat_.
This is solution for the overhead of MatIterator_<_Tp>.

I runs a test that micro opecode runs all over the pixel of cv::Mat_<cv::Point3_<uint8_t>>.
And this implementation 40% faster than the simple pointer, 80% faster than iterator.
With OpenMP, 70% faster than simple pointer, 95% faster than iterator (Core i7 920).

Above all, code is more readable.

My test code is here.
    https://gist.github.com/kazuki-ma/8285876

Thanks.
2014-05-18 11:01:45 +09:00
Alexander Alekhin
07d5f56707 Merge pull request #2679 from alalek:ippicv_update 2014-05-07 18:24:41 +04:00
Alexander Alekhin
d54aa307fd Merge pull request #2676 from ilya-lavrenov:ipp_gaussianblur 2014-05-07 16:49:59 +04:00
Alexander Alekhin
5658ba0002 icv: update package 2014-04-29 15:35:27 +04:00
Ilya Lavrenov
55bbca2d09 added more types to cv::GaussianBlur 2014-04-28 13:50:28 +04:00
Alexander Alekhin
7ee1d5f69b ipp: added LUT optimization 2014-04-25 12:09:06 +04:00
Ilya Lavrenov
05a47d9014 cmd option 2014-04-17 18:06:14 +04:00
Ilya Lavrenov
2cd7a913ed verbose errors 2014-04-17 11:07:01 +04:00
Ilya Lavrenov
f3c56f8310 first attemp 2014-04-17 11:07:01 +04:00
Andrey Pavlenko
80ef1f6753 Merge pull request #2621 from arkunze:pullreq/140319-resize-b 2014-04-15 19:56:56 +04:00
Andrey Pavlenko
dab8e920b0 Merge pull request #2565 from apavlenko:tapi_stitching 2014-04-15 19:56:11 +04:00
Aaron Kunze
ebbac3c66d Optimizes OpenCL resize and optical flow to use image extension. 2014-04-14 16:09:17 -07:00
Ilya Lavrenov
ad7f2311c0 cv::Laplacian 2014-04-14 14:34:28 +04:00
Ilya Lavrenov
19d470749b added macro for denoting region for suppression of "Wdeprecated-declarations" 2014-04-11 13:45:20 +04:00
Andrey Pavlenko
925178749a removing SuppressWarning and CV_OPENCL_RUN 2014-04-11 13:09:19 +04:00
Alexander Alekhin
06738468af TAPI: stiching: add custom OpenCL kernels for MultiBandBlender 2014-04-11 13:01:12 +04:00
Alexander Alekhin
1d9808e5d5 TAPI: stitching, replaced Mat->UMat/_Array 2014-04-11 13:01:06 +04:00
Alexander Alekhin
1461ab41bc ipp: added support for updated ICV package 2014-04-09 18:20:49 +04:00
Ilya Lavrenov
444ab0ef0d fixed (IppiSize&)sz 2014-04-09 00:19:56 +04:00
Andrey Pavlenko
a6ef45aa13 Merge pull request #2582 from vbystricky:ipp_fix 2014-04-08 14:30:48 +04:00
vbystricky
f23134ce01 Add IPP_VERSION_X100 define 2014-04-08 12:43:57 +04:00
Andrey Pavlenko
9ec823d800 Merge pull request #2538 from ElenaGvozdeva:ipp_async_convert 2014-04-08 11:05:30 +04:00
Alexander Alekhin
bfc546d23c enable IPP ICV support 2014-04-03 15:05:38 +04:00
Elena Gvozdeva
037ac27ec8 Added SharedMatrix 2014-04-03 14:53:27 +04:00
Elena Gvozdeva
fa2d79a15b Added IPP Async converters, doc and sample 2014-04-01 16:47:29 +04:00
Ilya Lavrenov
2875ce60ea added 3-channels support to optimized version 2014-03-21 16:02:47 +04:00
Ilya Lavrenov
82e6edfba2 optimized sep filter 2014-03-18 00:16:38 +04:00
Alexander Alekhin
9cafd50160 ocl: fixes 2014-03-14 19:51:19 +04:00
Alexander Alekhin
755ca4b7cf ocl: compare with scalar 2014-03-14 19:51:19 +04:00
Andrey Pavlenko
0764a23eb2 Merge pull request #2459 from ilya-lavrenov:tapi_experiments 2014-03-13 16:49:57 +04:00
Ilya Lavrenov
2755ae5df9 experiments 2014-03-11 23:03:55 +04:00
Roman Donchenko
95a55453df Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/calib3d/perf/perf_pnp.cpp
	modules/contrib/src/imagelogpolprojection.cpp
	modules/contrib/src/templatebuffer.hpp
	modules/core/perf/opencl/perf_gemm.cpp
	modules/cudafeatures2d/doc/feature_detection_and_description.rst
	modules/cudafeatures2d/perf/perf_features2d.cpp
	modules/cudafeatures2d/src/fast.cpp
	modules/cudafeatures2d/test/test_features2d.cpp
	modules/features2d/doc/feature_detection_and_description.rst
	modules/features2d/include/opencv2/features2d/features2d.hpp
	modules/features2d/perf/opencl/perf_brute_force_matcher.cpp
	modules/gpu/include/opencv2/gpu/gpu.hpp
	modules/gpu/perf/perf_imgproc.cpp
	modules/gpu/perf4au/main.cpp
	modules/imgproc/perf/opencl/perf_blend.cpp
	modules/imgproc/perf/opencl/perf_color.cpp
	modules/imgproc/perf/opencl/perf_moments.cpp
	modules/imgproc/perf/opencl/perf_pyramid.cpp
	modules/objdetect/perf/opencl/perf_hogdetect.cpp
	modules/ocl/perf/perf_arithm.cpp
	modules/ocl/perf/perf_bgfg.cpp
	modules/ocl/perf/perf_blend.cpp
	modules/ocl/perf/perf_brute_force_matcher.cpp
	modules/ocl/perf/perf_canny.cpp
	modules/ocl/perf/perf_filters.cpp
	modules/ocl/perf/perf_gftt.cpp
	modules/ocl/perf/perf_haar.cpp
	modules/ocl/perf/perf_imgproc.cpp
	modules/ocl/perf/perf_imgwarp.cpp
	modules/ocl/perf/perf_match_template.cpp
	modules/ocl/perf/perf_matrix_operation.cpp
	modules/ocl/perf/perf_ml.cpp
	modules/ocl/perf/perf_moments.cpp
	modules/ocl/perf/perf_opticalflow.cpp
	modules/ocl/perf/perf_precomp.hpp
	modules/ocl/src/cl_context.cpp
	modules/ocl/src/opencl/haarobjectdetect.cl
	modules/video/src/lkpyramid.cpp
	modules/video/src/precomp.hpp
	samples/gpu/morphology.cpp
2014-03-11 17:20:01 +04:00
Andrey Pavlenko
182d74d33f Merge pull request #2441 from akarsakov:ocl_platform_vendor 2014-03-07 13:54:13 +04:00
Alexander Karsakov
8660588fe9 Pass vendor macro to opencl kernel 2014-03-07 12:57:29 +04:00
Alexander Karsakov
c1dad2178c Added Device:: isAMD,isIntel,isNvidia methods. 2014-03-05 14:43:11 +04:00
Andrey Pavlenko
c00f0faf24 Merge pull request #2408 from ilya-lavrenov:tapi_core_opt 2014-03-04 18:37:26 +04:00
Ilya Lavrenov
099ea91823 typos 2014-03-04 12:47:40 +04:00
Roman Donchenko
bd5d8404c9 Merge pull request #2393 from ilya-lavrenov:coverity 2014-02-26 12:16:36 +04:00
Roman Donchenko
c9a4a82667 Merge pull request #2358 from rohitgirdhar:rotatedRect 2014-02-25 17:43:48 +04:00
Ilya Lavrenov
fe38aab84a core tapi optimization 2014-02-25 14:14:42 +04:00
Ilya Lavrenov
32eb38ec98 fixed defects from coverity.com 2014-02-23 20:21:08 +04:00
Alexander Alekhin
9b3c76a3db TAPI: coverity bug fix 2014-02-21 14:04:01 +04:00
Rohit Girdhar
b939b4ae3b removed inline, changed interface 2014-02-19 20:58:40 +05:30
Roman Donchenko
bcf4307345 Merge pull request #2356 from SpecLad:merge-2.4 2014-02-18 12:14:57 +04:00
Rohit Girdhar
a879e1fcd6 fixed warnings 2014-02-17 19:00:36 +05:30
Rohit Girdhar
613a17355d rotRect using points 2014-02-17 17:39:13 +05:30
Roman Donchenko
029ffb7c2d Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/core/src/gl_core_3_1.cpp
	modules/core/src/opencl/convert.cl
	modules/cudaimgproc/src/cuda/canny.cu
	modules/cudastereo/perf/perf_stereo.cpp
	modules/gpu/perf/perf_imgproc.cpp
	modules/gpu/test/test_denoising.cpp
	modules/ocl/src/opencl/imgproc_resize.cl
	samples/cpp/Qt_sample/main.cpp
2014-02-17 15:24:05 +04:00
Ilya Lavrenov
510680a5df typo 2014-02-16 01:42:02 +04:00
Alexander Alekhin
95e38e457f core/umat: usage flags (with proposals from PR #2195) 2014-02-14 15:40:16 +04:00
Roman Donchenko
72aabb8a84 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	CMakeLists.txt
	cmake/OpenCVGenAndroidMK.cmake
	cmake/templates/OpenCV.mk.in
	doc/tutorials/viz/creating_widgets/creating_widgets.rst
	doc/tutorials/viz/launching_viz/launching_viz.rst
	doc/tutorials/viz/table_of_content_viz/images/image_effects.png
	doc/tutorials/viz/transformations/transformations.rst
	doc/tutorials/viz/widget_pose/widget_pose.rst
	modules/core/include/opencv2/core/affine.hpp
	modules/core/include/opencv2/core/core.hpp
	modules/gpu/perf/perf_imgproc.cpp
	modules/gpu/src/cuda/canny.cu
	modules/gpu/src/cuda/generalized_hough.cu
	modules/gpu/src/generalized_hough.cpp
	modules/gpu/src/imgproc.cpp
	modules/gpu/test/test_color.cpp
	modules/gpu/test/test_core.cpp
	modules/gpu/test/test_gpumat.cpp
	modules/gpu/test/test_hough.cpp
	modules/nonfree/CMakeLists.txt
	modules/nonfree/include/opencv2/nonfree/gpu.hpp
	modules/nonfree/perf/perf_gpu.cpp
	modules/nonfree/src/cuda/surf.cu
	modules/nonfree/src/precomp.hpp
	modules/nonfree/src/surf_gpu.cpp
	modules/nonfree/test/test_gpu.cpp
	modules/ocl/perf/perf_haar.cpp
	modules/stitching/CMakeLists.txt
	modules/stitching/include/opencv2/stitching/detail/matchers.hpp
	modules/stitching/include/opencv2/stitching/detail/seam_finders.hpp
	modules/stitching/include/opencv2/stitching/detail/warpers.hpp
	modules/stitching/include/opencv2/stitching/warpers.hpp
	modules/stitching/src/blenders.cpp
	modules/stitching/src/matchers.cpp
	modules/stitching/src/precomp.hpp
	modules/stitching/src/seam_finders.cpp
	modules/stitching/src/stitcher.cpp
	modules/stitching/src/warpers.cpp
	modules/viz/doc/widget.rst
	modules/viz/include/opencv2/viz/types.hpp
	modules/viz/include/opencv2/viz/viz3d.hpp
	modules/viz/include/opencv2/viz/widget_accessor.hpp
	modules/viz/src/precomp.hpp
	modules/viz/src/shapes.cpp
	modules/viz/src/vizcore.cpp
	modules/viz/src/vtk/vtkCloudMatSink.h
	modules/viz/src/vtk/vtkCloudMatSource.h
	modules/viz/test/test_precomp.hpp
	modules/viz/test/tests_simple.cpp
	samples/android/tutorial-4-cuda/CMakeLists.txt
	samples/android/tutorial-4-cuda/jni/Android.mk
	samples/android/tutorial-4-cuda/src/org/opencv/samples/tutorial4/Tutorial4Activity.java
	samples/cpp/stitching_detailed.cpp
	samples/cpp/tutorial_code/viz/creating_widgets.cpp
	samples/cpp/tutorial_code/viz/launching_viz.cpp
	samples/cpp/tutorial_code/viz/transformations.cpp
	samples/cpp/tutorial_code/viz/widget_pose.cpp
2014-02-11 12:05:01 +04:00