Commit Graph

84 Commits

Author SHA1 Message Date
Yan Wang
efa84d8225 Use preprocessor for constant values in OpenCL kernel instead of
the parameter variable.

It could improve the performance of
OCL_Cascade_Image_MinSize_CascadeClassifier.CascadeClassifier/*.
Especially,
OCL_Cascade_Image_MinSize_CascadeClassifier.CascadeClassifier/15
OCL_Cascade_Image_MinSize_CascadeClassifier.CascadeClassifier/16
could be improved about 2% in Intel platform.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2014-12-16 16:21:05 +08:00
Ari Suwendi
b14f7c99d2 bug fix for a crash when input image is small 2014-11-29 01:57:15 -08:00
Pavel Vlasov
45958eaabc Implementation detector and selector for IPP and OpenCL;
IPP can be switched on and off on runtime;

Optional implementation collector was added (switched off by default in CMake). Gathers data of implementation used in functions and report this info through performance TS;

TS modifications for implementations control;
2014-10-15 14:24:41 +04:00
Adil Ibragimov
8a4a1bb018 Several type of formal refactoring:
1. someMatrix.data -> someMatrix.prt()
2. someMatrix.data + someMatrix.step * lineIndex -> someMatrix.ptr( lineIndex )
3. (SomeType*) someMatrix.data -> someMatrix.ptr<SomeType>()
4. someMatrix.data -> !someMatrix.empty() ( or !someMatrix.data -> someMatrix.empty() ) in logical expressions
2014-08-13 15:21:35 +04:00
Alexander Alekhin
55188fe991 world fix 2014-08-05 20:12:35 +04:00
Andrey Pavlenko
d060d30fa0 enabling OCL LBP branch for all devices 2014-03-20 21:57:34 +04:00
Alexander Karsakov
c1dad2178c Added Device:: isAMD,isIntel,isNvidia methods. 2014-03-05 14:43:11 +04:00
Andrey Pavlenko
0ee5c34f40 Merge pull request #2324 from vpisarev:fix_facedetect 2014-02-13 11:46:24 +04:00
Vadim Pisarevsky
91587059ad tab => spaces 2014-02-12 20:28:55 +04:00
Vadim Pisarevsky
a18bc9651d fixed bug reported by Irina K. Also tried to fix LBP detector regression in quality (probably it did not help but still ...) 2014-02-12 17:42:09 +04:00
berak
3959329ef4 proper initialization for ccimpl in bool CascadeClassifier::read(const FileNode 2014-02-08 14:42:09 +01:00
Vadim Pisarevsky
de4b1c668d hopefully fixed compile warnings and the doc builder warnings 2014-02-03 16:36:36 +04:00
Vadim Pisarevsky
30593ee55e 3rd attempt to prepare patch with improved OpenCL kernels of CascadeClassifier. 2014-02-03 15:12:27 +04:00
Patrick Tsai
b24f7ee57c Fix compiler error with Android NDK r8e
Original error without the fix:

opencv/modules/objdetect/src/cascadedetect.cpp: In member function 'bool cv::CascadeClassifierImpl::ocl_detectSingleScale(const cv::_InputArray&, cv::Size, int, double, cv::Size)':
/opencv/modules/objdetect/src/cascadedetect.cpp:1215:
error: no matching function for call to 'cv::ocl::Kernel::args(cv::ocl::KernelArg, cv::ocl::KernelArg, cv::ocl::KernelArg, int, cv::ocl::KernelArg, cv::ocl::KernelArg, cv::ocl::KernelArg, cv::Size&, int&, float, cv::Rect&, cv::Size&, cv::CascadeClassifierImpl::<anonymous enum>)'
2014-01-09 14:49:20 +08:00
Vadim Pisarevsky
bc730292bb workaround for some strange bug on old Mac. 2013-12-23 21:29:31 +04:00
Vadim Pisarevsky
8998186ce4 removed extra whitespaces and hopefully fixed the test failures 2013-12-23 18:41:54 +04:00
Vadim Pisarevsky
d084d19779 added OpenCL optimization for LBP-based face detector 2013-12-23 15:28:50 +04:00
Vadim Pisarevsky
1540910542 started adding OpenCL acceleration of LBP-based object detectors 2013-12-20 18:39:35 +04:00
Vadim Pisarevsky
242a3d1f19 2 more fixes to calm down the doc builder 2013-12-19 16:57:02 +04:00
Vadim Pisarevsky
f41f633d2d fixed various warnings from the “doc” and other builders 2013-12-19 16:31:30 +04:00
Vadim Pisarevsky
ec3f22cee2 renamed OpenCL kernel filename; made some final changes 2013-12-19 14:29:28 +04:00
Vadim Pisarevsky
b7553d4e2e some attempts to tune the performance 2013-12-19 14:09:44 +04:00
Vadim Pisarevsky
02fb3f0a77 it finally works!!! 2013-12-17 20:55:49 +04:00
Vadim Pisarevsky
ef509ace43 trying to debug the new cascade 2013-12-17 14:51:22 +04:00
Vadim Pisarevsky
9d3e7e027a almost finished opencl-ization of cascade classifier 2013-12-17 14:29:30 +04:00
Vadim Pisarevsky
d8513d627d continue adding OpenCL optimization to cascade classifier 2013-12-12 21:58:42 +04:00
Vadim Pisarevsky
302a5adcc2 converted Haar cascades to the new format; now they are handled with C++ code. 2013-12-10 22:54:37 +04:00
Vadim Pisarevsky
fe11ca886a trying to eliminate compile problems 2013-12-04 21:56:35 +04:00
Vadim Pisarevsky
ff87385201 refactored CascadeClassifier to hide implementation details (take 2) 2013-12-04 19:00:39 +04:00
Vadim Pisarevsky
d914f20a4c updated patch to bring in the first functions with "transparent API" 2013-11-18 11:48:00 -05:00
Roman Donchenko
b12894d95a Boring changes - objdetect. 2013-09-05 19:02:58 +04:00
Roman Donchenko
9b92545ce6 War on Whitespace, master edition: trailing spaces. 2013-08-27 13:57:24 +04:00
Roman Donchenko
893e8b4371 Merge pull request #942 from achalddave:patch-1 2013-08-21 16:06:31 +04:00
Achal Dave
0bc609257d Comparing rejected stage index with minimum required neighbors does not make sense
As described here, http://code.opencv.org/issues/3064, the test before
led to a case where we compared the index of the latest stage at which a
rectangle was rejected with the minimum number of neighbors required as
specified in `detectMultiScale`. Please see the issue for more
information.
2013-08-13 20:42:04 -07:00
Roman Donchenko
dcaf923517 Merge remote-tracking branch 'origin/2.4'
Conflicts:
	3rdparty/ffmpeg/ffmpeg_version.cmake
	cmake/OpenCVFindLibsGrfmt.cmake
	cmake/templates/cvconfig.h.cmake
	modules/bioinspired/doc/retina/index.rst
	modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst
	modules/calib3d/src/precomp.hpp
	modules/contrib/src/inputoutput.cpp
	modules/contrib/src/precomp.hpp
	modules/core/include/opencv2/core/internal.hpp
	modules/core/include/opencv2/core/types_c.h
	modules/core/src/drawing.cpp
	modules/core/src/precomp.hpp
	modules/core/src/system.cpp
	modules/features2d/doc/common_interfaces_of_descriptor_matchers.rst
	modules/features2d/doc/common_interfaces_of_feature_detectors.rst
	modules/features2d/include/opencv2/features2d/features2d.hpp
	modules/features2d/src/precomp.hpp
	modules/flann/src/precomp.hpp
	modules/gpu/doc/camera_calibration_and_3d_reconstruction.rst
	modules/gpu/doc/image_filtering.rst
	modules/gpu/doc/image_processing.rst
	modules/gpu/doc/video.rst
	modules/gpu/perf/perf_imgproc.cpp
	modules/gpu/perf4au/main.cpp
	modules/gpu/src/imgproc.cpp
	modules/gpu/src/precomp.hpp
	modules/gpu/test/test_imgproc.cpp
	modules/highgui/CMakeLists.txt
	modules/highgui/test/test_precomp.hpp
	modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst
	modules/imgproc/src/precomp.hpp
	modules/java/generator/src/cpp/Mat.cpp
	modules/legacy/src/precomp.hpp
	modules/ml/doc/k_nearest_neighbors.rst
	modules/ml/src/precomp.hpp
	modules/nonfree/doc/feature_detection.rst
	modules/nonfree/src/precomp.hpp
	modules/objdetect/include/opencv2/objdetect/objdetect.hpp
	modules/objdetect/src/cascadedetect.cpp
	modules/objdetect/src/hog.cpp
	modules/objdetect/src/precomp.hpp
	modules/objdetect/test/test_latentsvmdetector.cpp
	modules/ocl/src/hog.cpp
	modules/ocl/src/opencl/objdetect_hog.cl
	modules/ocl/src/precomp.hpp
	modules/photo/src/precomp.hpp
	modules/stitching/src/precomp.hpp
	modules/superres/perf/perf_precomp.hpp
	modules/superres/src/optical_flow.cpp
	modules/superres/src/precomp.hpp
	modules/superres/test/test_precomp.hpp
	modules/ts/include/opencv2/ts.hpp
	modules/video/src/precomp.hpp
	modules/videostab/src/precomp.hpp
	modules/world/src/precomp.hpp
2013-08-06 13:56:49 +04:00
Andrey Pavlenko
9b5d1596dc Merge pull request #891 from NCBee:2.4 2013-07-31 16:38:16 +04:00
Peter Minin
7d70399d72 Add a new variant of detectMultiScale with output arguments 'objects' and 'numDetections'; factor most of detectMultiScale's code into 2 protected methods 2013-06-14 04:25:17 +04:00
Roman Donchenko
d583a79869 Revert "Add a variant of detectMultiScale with an argument 'weights'"
It was merged by mistake.

This reverts commit ab6be9b7b7.
2013-06-10 17:06:34 +04:00
Peter Minin
ab6be9b7b7 Add a variant of detectMultiScale with an argument 'weights' that
receives the number of neighbors joined into each detected object
2013-06-06 19:00:55 +04:00
Roman Donchenko
bae85660da Merge remote-tracking branch 'origin/2.4'
Pull requests:
	#943 from jet47:cuda-5.5-support
	#944 from jet47:cmake-2.8.11-cuda-fix
	#912 from SpecLad:contributing
	#934 from SpecLad:parallel-for
	#931 from jet47:gpu-test-fixes
	#932 from bitwangyaoyao:2.4_fixBFM
	#918 from bitwangyaoyao:2.4_samples
	#924 from pengx17:2.4_arithm_fix
	#925 from pengx17:2.4_canny_tmp_fix
	#927 from bitwangyaoyao:2.4_perf
	#930 from pengx17:2.4_haar_ext
	#928 from apavlenko:bugfix_3027
	#920 from asmorkalov:android_move
	#910 from pengx17:2.4_oclgfft
	#913 from janm399:2.4
	#916 from bitwangyaoyao:2.4_fixPyrLK
	#919 from abidrahmank:2.4
	#923 from pengx17:2.4_macfix

Conflicts:
	modules/calib3d/src/stereobm.cpp
	modules/features2d/src/detectors.cpp
	modules/gpu/src/error.cpp
	modules/gpu/src/precomp.hpp
	modules/imgproc/src/distransform.cpp
	modules/imgproc/src/morph.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/perf/perf_color.cpp
	modules/ocl/perf/perf_imgproc.cpp
	modules/ocl/perf/perf_match_template.cpp
	modules/ocl/perf/precomp.cpp
	modules/ocl/perf/precomp.hpp
	modules/ocl/src/arithm.cpp
	modules/ocl/src/canny.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/src/haar.cpp
	modules/ocl/src/hog.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/opencl/haarobjectdetect.cl
	modules/ocl/src/pyrlk.cpp
	modules/video/src/bgfg_gaussmix2.cpp
	modules/video/src/lkpyramid.cpp
	platforms/linux/scripts/cmake_arm_gnueabi_hardfp.sh
	platforms/linux/scripts/cmake_arm_gnueabi_softfp.sh
	platforms/scripts/ABI_compat_generator.py
	samples/ocl/facedetect.cpp
2013-06-05 15:42:07 +04:00
Roman Donchenko
29b13ec1de Replaced most of the usages of parallel_for with that of parallel_for_.
This should allow many algorithms to take advantage of more parallelization
technologies.
2013-05-31 12:22:04 +04:00
Bahram Dahi
dcad6ce65a Reverted back to the previous method where a public method groupRectangles was added to HOGDescriptor to take care of ROI and weight grouping 2013-05-24 18:25:23 -04:00
Roman Donchenko
029fce10c9 Merge remote-tracking branch 'origin/2.4'
Conflicts:
	3rdparty/libjasper/CMakeLists.txt
	cmake/OpenCVDetectOpenCL.cmake
	modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst
	modules/imgproc/src/floodfill.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/src/arithm.cpp
	modules/ocl/src/haar.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/initialization.cpp
	modules/ocl/src/matrix_operations.cpp
	modules/ocl/src/mcwutil.cpp
	modules/ocl/src/opencl/arithm_bitwise_and_mask.cl
	modules/ocl/src/opencl/arithm_bitwise_and_scalar_mask.cl
	modules/ocl/src/opencl/arithm_bitwise_binary_mask.cl
	modules/ocl/src/opencl/arithm_bitwise_binary_scalar.cl
	modules/ocl/src/opencl/arithm_bitwise_binary_scalar_mask.cl
	modules/ocl/src/opencl/arithm_bitwise_or.cl
	modules/ocl/src/opencl/arithm_bitwise_or_scalar.cl
	modules/ocl/src/opencl/arithm_bitwise_or_scalar_mask.cl
	modules/ocl/src/opencl/arithm_bitwise_xor.cl
	modules/ocl/src/opencl/arithm_bitwise_xor_mask.cl
	modules/ocl/src/opencl/arithm_bitwise_xor_scalar.cl
	modules/ocl/src/stereobm.cpp
	modules/ocl/test/precomp.hpp
	modules/python/src2/api
	modules/ts/src/ts_func.cpp
	samples/gpu/bgfg_segm.cpp
2013-05-21 17:19:23 +04:00
ShengyinWu
ef5578a7ce Fixs: After scaling back to original image, some detected ROI will outside the original image ROI 2013-04-29 12:16:42 +08:00
Andrey Kamaev
5e048d1fa5 Move C API of opencv_objdetect to separate file
Also move cv::linemod to own header
2013-04-12 14:37:01 +04:00
Andrey Kamaev
c98c246fc2 Move border type constants and Moments class to core module 2013-04-10 19:14:24 +04:00
Andrey Kamaev
be7bbe3aa9 Drop cv:: prefix from cv::String used inside the cv namespace 2013-03-22 22:14:50 +04:00
Andrey Kamaev
75513a46dc Remove all include directives for <string> 2013-03-22 22:14:47 +04:00
Andrey Kamaev
2ad7b97f1c All modules (except ocl and gpu) compiles and pass tests 2013-03-22 22:14:26 +04:00
Andrey Kamaev
2a6fb2867e Remove all using directives for STL namespace and members
Made all STL usages explicit to be able automatically find all usages of
particular class or function.
2013-02-25 15:04:17 +04:00