1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-24 04:43:04 +04:00

Compare commits

...

2159 Commits

Author SHA1 Message Date
Maksim Shabunin c12243cf4f Version for 3.0.0 release 2015-06-03 20:21:34 +03:00
Maksim Shabunin 39fdcf4df3 Merge pull request #4083 from mshabunin:java-engine 2015-06-03 17:17:36 +00:00
Maksim Shabunin fd1b30fc6f Merge pull request #4089 from alalek:video_mp4 2015-06-03 17:16:52 +00:00
Maksim Shabunin 7ee79b73f6 AndroidMgr: fixed package build 2015-06-03 19:01:48 +03:00
Alexander Alekhin 1f3043f618 videoio: VideoWriter H264/.mp4 support via ffmpeg/libav 2015-06-03 18:35:12 +03:00
Maksim Shabunin 1d7d22e117 AndroidMgr: fixed library version check 2015-06-03 12:47:42 +03:00
Maksim Shabunin 33ab9ea188 AndroidMgr: fixed typos and package name 2015-06-03 11:53:29 +03:00
Vadim Pisarevsky 8ad6ba82fc Merge pull request #4084 from berak:patch-2 2015-06-03 07:25:51 +00:00
berak 737a1e2f12 http://code.opencv.org/issues/4359, for master 2015-06-03 07:44:46 +02:00
Vadim Pisarevsky 850e3c1ca2 Merge pull request #4082 from diogorolo:patch-1 2015-06-02 19:11:54 +00:00
Maksim Shabunin 7541c590e5 AndroidMgr: Reversed file existence checking 2015-06-02 18:34:30 +03:00
Maksim Shabunin caffbaafbe Updated Manager for Android 2015-06-02 17:33:04 +03:00
Diogo Rolo f57fb2375e Update cuda.markdown
Small typo fix in the documentation.
It was written 'devie' instead of 'device' in: 'Switching active device can be done using cuda::setDevice() function'
2015-06-02 14:34:15 +01:00
Vadim Pisarevsky a28c8d002d Merge pull request #4081 from vpisarev:30_small_fixes 2015-06-02 08:36:03 +00:00
Vadim Pisarevsky a4073ed676 made improvements in ECC code (comments from https://github.com/Itseez/opencv/pull/3845), as well as minor tweak in pthread's based parallel for. 2015-06-02 01:30:00 +03:00
Vadim Pisarevsky 78e07d3210 Merge pull request #3845 from ellbur:findTransformECC-mask 2015-06-01 20:35:29 +00:00
Vadim Pisarevsky 41af58d1d5 Merge pull request #4076 from kalistratovag:parallel_pthreads 2015-06-01 16:53:50 +00:00
kalistratovag bf5393ae58 parallel for on pthreads initial commit
removing trailing whitespaces

Compilation error on Mac fix & warning on android

Warnings fixed on iOs
2015-06-01 17:48:21 +03:00
Vadim Pisarevsky b866e2672a Merge pull request #4079 from Dikay900:2_4_to_master 2015-06-01 11:42:18 +00:00
Alexander Smorkalov 1df0f1da97 Precise default CUDA version for Tegra X1 chips. 2015-05-30 23:30:56 +02:00
Vadim Pisarevsky 535dc1e874 Merge pull request #3998 from msandler:master 2015-05-29 21:38:09 +00:00
Vadim Pisarevsky 24dea1c616 Merge pull request #3984 from LaurentBerger:ExampleCppORB 2015-05-29 21:36:43 +00:00
Vadim Pisarevsky 96c3f16a90 Merge pull request #4075 from MSOpenTech:backslash-upd 2015-05-29 13:23:23 +00:00
Evgeny Agafonchikov fd860d7cd0 Adding backslash in macro-based paths
of WINRT samples

This removes requirement to add OPENCV_WINRT_INSTALL_DIR with backslash in the end

in case trailing slash is presented VS handles duplicated slashes w/o issues
2015-05-29 09:36:42 +03:00
Vadim Pisarevsky b46719b093 Merge pull request #4074 from vpisarev:objdetect_fixes 2015-05-28 19:43:51 +00:00
Vadim Pisarevsky 8b8fc9e66b Merge pull request #4070 from techfort:fixpythonsample 2015-05-28 18:06:17 +00:00
Vadim Pisarevsky 882c0321f4 clip the found objects in HOG as well (http://code.opencv.org/issues/3825); added test to check CascadeClassifier on small images (http://code.opencv.org/issues/3710) 2015-05-28 21:02:27 +03:00
Vadim Pisarevsky 8c3c6b31fc make sure the returned rectangles are inside the image (http://code.opencv.org/issues/3136) 2015-05-28 20:15:22 +03:00
Vadim Pisarevsky 5a94a95fbf improvements in Haar CascadeClassifier: 1) use CV_32S instead of CV_32F for the integral of squares (which is more accurate and more efficient); 2) skip the window if its contrast is too low 2015-05-28 19:33:21 +03:00
Vadim Pisarevsky 036c438904 make facedetect.py work when the nested cascade is not specified 2015-05-28 19:01:56 +03:00
Vadim Pisarevsky 5e095c8fbd Merge pull request #4022 from LaurentBerger:ExampleBLOB_MSER 2015-05-28 15:00:36 +00:00
Vadim Pisarevsky 665a317f1c Merge pull request #4056 from apavlenko:java_memory_release 2015-05-28 15:00:07 +00:00
Vadim Pisarevsky f7ad192842 Merge pull request #4063 from Dikay900:2_4_to_master 2015-05-28 14:49:13 +00:00
Vadim Pisarevsky 58cf11bd44 Merge pull request #4069 from MSOpenTech:sample-face-contrib 2015-05-28 14:48:00 +00:00
Vadim Pisarevsky 549ef8f141 Merge pull request #4071 from sergarrido:fix_isContourConvex 2015-05-28 14:44:36 +00:00
Vadim Pisarevsky 176dd96698 Merge pull request #4073 from MSOpenTech:video-sample-face 2015-05-28 14:41:40 +00:00
Vadim Pisarevsky 5f8f56ea0e report an error when trying to load HOG cascade 2015-05-28 17:24:22 +03:00
Joe Minichino 47d8187bc3 fixed outdated params setting 2015-05-28 15:20:08 +01:00
Vadim Pisarevsky 481f786fe7 added simple HAL test; added RHO homography test 2015-05-28 17:05:43 +03:00
Maxim Kostin 3408114602 Added video face detection. Restructured code.
Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-05-28 13:42:59 +03:00
S. Garrido bd2c2f3bd1 fix isContourConvex 2015-05-27 20:51:53 +02:00
Joe Minichino a4a2659dff fixed digits.py sample to work with opencv 3 2015-05-27 15:43:52 +01:00
Maxim Kostin aa932eab41 Adding WinRT face tracking sample. Works with asset images. Created by @ericmitt.
Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-05-27 14:55:47 +03:00
Vadim Pisarevsky 565d3dde40 Merge pull request #4055 from rajithr:patch-1 2015-05-27 11:50:58 +00:00
Vadim Pisarevsky 85c08dd170 Merge pull request #4065 from gongzg:master 2015-05-27 11:26:57 +00:00
Vadim Pisarevsky 8bc21fc2f0 Merge pull request #4067 from PhilLab:patch-3 2015-05-27 11:24:35 +00:00
Vadim Pisarevsky 57c3e917e2 Merge pull request #4068 from PhilLab:patch-4 2015-05-27 11:24:17 +00:00
rajithr 7658c2e2d5 Fix for a potential data race condition
code changes to handle the failed build
2015-05-27 15:12:04 +05:30
rajithr 993e0b0bf9 Fix for a potential data race condition 2015-05-27 15:00:21 +05:30
Philipp Hasper 9aaa27d46b Adding missing docs for VideoWriter::release 2015-05-27 07:55:41 +02:00
Philipp Hasper 6c55e7c039 Fixed doc typo 2015-05-27 07:34:27 +02:00
Vadim Pisarevsky 1df244b6f4 Merge pull request #4062 from ilya-lavrenov:android_master 2015-05-26 17:24:32 +00:00
Alexander Alekhin 75558ae75c Merge pull request #4058 from mshabunin:latch-sample 2015-05-26 16:26:57 +00:00
Andrew Senin eb40dde688 Fixing XIMEA parameters mapping (issue #4176)
Conflicts:
	modules/highgui/src/cap_ximea.cpp
2015-05-26 18:08:29 +02:00
Ilya Lavrenov bb72206ec5 ability to enable OpenMP simultaneously with other parallel framework 2015-05-26 18:08:28 +02:00
Samyak Datta e9c765ee2c C++ sample code to detect facial features 2015-05-26 18:08:26 +02:00
StevenPuttemans 83723c15be added extra BUFFERSIZE doc and getter
Conflicts:
	modules/highgui/doc/reading_and_writing_images_and_video.rst
	modules/highgui/src/cap_dc1394_v2.cpp
2015-05-26 18:08:25 +02:00
StevenPuttemans 8454a8f2d1 adding extra buffer parameter
Conflicts:
	modules/highgui/include/opencv2/highgui/highgui_c.h
	modules/highgui/src/cap_dc1394_v2.cpp

fix typo
2015-05-26 18:08:22 +02:00
StevenPuttemans 6aedd4f7b0 fixing SVM negative value rounding
Conflicts:
	modules/objdetect/src/hog.cpp

fix android build
2015-05-26 17:26:30 +02:00
Vicente Olivert Riera e96b8ce781 superres: Fix return value VideoFrameSource_GPU
superres module fails to compile with the following error messages:

[100%] Building CXX object modules/superres/CMakeFiles/opencv_superres.dir/src/super_resolution.cpp.o
/opencv-2.4.10/modules/superres/src/frame_source.cpp: In function 'cv::Ptr<cv::superres::FrameSource> cv::superres::createFrameSource_Video_GPU(const string&)':
/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error: expected type-specifier before 'VideoFrameSource'
/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error: could not convert '(int*)operator new(4ul)' from 'int*' to 'cv::Ptr<cv::superres::FrameSource>'
/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:16: error: expected ';' before 'VideoFrameSource'
/opencv-2.4.10/modules/superres/src/frame_source.cpp:263:41: error: 'VideoFrameSource' was not declared in this scope
/opencv-2.4.10/modules/superres/src/frame_source.cpp:264:1: error: control reaches end of non-void function [-Werror=return-type]
cc1plus: some warnings being treated as errors
make[3]: *** [modules/superres/CMakeFiles/opencv_superres.dir/src/frame_source.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....

This is caused because the return value of the createFrameSource_Video_GPU function should be a VideoFrameSource_GPU object.
Conflicts:
	modules/superres/src/frame_source.cpp
2015-05-26 16:54:35 +02:00
Ilya Lavrenov b0cbec922b port of MR #4061 to master 2015-05-26 17:47:03 +03:00
Zhigang Gong 0f7de40e66 Fixed the race condition between inc and dec on the l_counter.
Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
2015-05-26 22:06:18 +08:00
Maksim Shabunin 5ad4bed70a Added cvconfig.h copy during the build 2015-05-26 15:58:27 +03:00
Maksim Shabunin 330b3e87eb Fixed latch sample build without contrib 2015-05-26 15:57:07 +03:00
Vadim Pisarevsky 8fb37606f6 Merge pull request #4032 from mshabunin:fix-pkg-config 2015-05-26 12:47:14 +00:00
Vadim Pisarevsky dc587992a0 Merge pull request #4053 from vpisarev:calib3d_fixes 2015-05-26 11:23:50 +00:00
Andrey Pavlenko c1c03e16f4 releasing native memory of temp Mat objects in generated Java code 2015-05-26 13:50:56 +03:00
Andrey Pavlenko 6006790c18 releasing native memory in Java converters 2015-05-26 13:10:54 +03:00
Vadim Pisarevsky bb2e40b999 for some reason Calib3d_Homography.fromImages on ARM gives much smaller number of inliers than on x86/x64. Need to investigate more carefully, but let's decrease the tolerance threshold for now 2015-05-26 12:43:18 +03:00
Vadim Pisarevsky b1a8e4f760 Merge pull request #4054 from gongzg:master 2015-05-26 07:46:03 +00:00
Vadim Pisarevsky ca1d8c1737 fixed another compile warning from MSVC 2015-05-26 10:29:13 +03:00
rajithr ff6881efbf Fix for a potential data race condition 2015-05-26 11:31:31 +05:30
Zhigang Gong 3c85200989 Avoid negative index for a local buffer in Canny.cl.
int pix_per_thr = l_counter / LOCAL_TOTAL + ((lid < mod) ? 1 : 0);
The pix_per_thr * LOCAL_TOTAL may be larger than l_counter.
Thus the index of l_stack may be negative which may cause serious
problems. Let's skip the loop when we get negative index and we need
to add back the lcounter to keep its balance and avoid potential
negative counter.

Signed-off-by: Zhigang Gong <zhigang.gong@intel.com>
2015-05-26 08:48:05 +08:00
Vadim Pisarevsky e944533f01 fixed compile warnings; reenabled solvePnPRansac.concurrency test 2015-05-26 00:19:58 +03:00
Vadim Pisarevsky 85149f8686 hack solvePoly to finds roots of polynoms with zero higher-order coefficients. The roots are populated in this case, which is not valid, strictly speaking, but good enough for function like correctMatches. This solves http://code.opencv.org/issues/4330 2015-05-25 23:43:39 +03:00
Vadim Pisarevsky a12ec66a04 fixed useExtrinsicGuess=true case with single-precision input (http://code.opencv.org/issues/2734) 2015-05-25 22:40:10 +03:00
Vadim Pisarevsky 9d90b0549c fixed bug http://code.opencv.org/issues/3882 2015-05-25 22:03:25 +03:00
Vadim Pisarevsky 3bc5958c58 added tests for http://code.opencv.org/issues/4011 and http://code.opencv.org/issues/3057; fixed random subset generation in both methods to increase chance for a good subset 2015-05-25 21:46:05 +03:00
Vadim Pisarevsky 2952c10ced Merge pull request #4049 from mshabunin:transition-hint 2015-05-25 17:06:50 +00:00
Maksim Shabunin 55d1f0b7d6 Transition guide: removed one of the version check methods 2015-05-25 18:05:20 +03:00
Vadim Pisarevsky 60064b3de7 Merge pull request #4015 from GilLevi:AddingLATCH 2015-05-25 13:09:49 +00:00
Vadim Pisarevsky 02eb8e7c70 Merge pull request #4052 from ilya-lavrenov:typo 2015-05-25 13:07:34 +00:00
Vadim Pisarevsky 786d62e3e5 Merge pull request #4051 from Dikay900:2_4_to_master_2 2015-05-25 13:06:37 +00:00
Ilya Lavrenov 13cd052990 typo 2015-05-25 11:21:02 +03:00
GilLevi a4e5b09ea4 fixed whitespace issue 2015-05-25 01:28:05 +03:00
Andreas Stührk 3ec0e0943c TIFF loader: Allocate large enough buffer when (bpp * ncn) > 8.
Conflicts:
	modules/highgui/src/grfmt_tiff.cpp

floodfill return value removed
2015-05-24 14:06:33 +02:00
Vladislav Vinogradov 653810e4df fix installation layout for debian packages:
Install symlinks to shared libraries as a part of development package,
not runtime package.

It is default behavior for debian packages.
2015-05-24 14:06:32 +02:00
Ilya Lavrenov efa2baed83 TCP instead of UDP
Conflicts:
	modules/highgui/src/cap_ffmpeg_impl.hpp
2015-05-24 14:06:30 +02:00
Andreas Stührk c9481b0fd7 Don't allocate lots of memory when reading TIFFs with infinite rows per strip.
Some TIFF images consist of only one strip. The magic value 2**32-1 for the
"rows per strip" tag reflects that fact, effectively meaning "infinite".

Conflicts:
	modules/highgui/src/grfmt_tiff.cpp
	modules/highgui/test/test_grfmt.cpp

fix whitespace

fix compile error
2015-05-24 14:06:20 +02:00
Niklas Frisk 8138e26163 Fixes #3910, flags in _prepareImgAndDrawKeypoints are now binary OR'ed instead of added.
Conflicts:
	modules/features2d/src/draw.cpp
2015-05-24 13:31:11 +02:00
Alexander Smorkalov a04a0514b9 Turn off superres accuracy tests if video i/o is not supported. 2015-05-24 13:31:09 +02:00
Alexander Smorkalov a9ae0c8e82 Test fisheye.rectify disabled for Tegra. 2015-05-24 13:31:08 +02:00
jormansa 3c2e12a744 bug fixed
Conflicts:
	modules/highgui/src/cap_ffmpeg_impl.hpp
2015-05-24 13:31:07 +02:00
StevenPuttemans cb55d60f98 fixing GT and GE comparison symbol
Conflicts:
	modules/gpu/doc/per_element_operations.rst
2015-05-24 13:31:06 +02:00
Alexander Smorkalov 6e1a595342 GCC 4.8 warning array subscript is above array bounds fixed.
tiff test fixed
2015-05-24 13:31:01 +02:00
Alexander Smorkalov 5141141e2b Deb package build fix for CUDA 6.5 and newer.
(cherry picked from commit e650d87e47)
(cherry picked from commit ca9c52ac97)

Conflicts:
	cmake/OpenCVPackaging.cmake
2015-05-24 11:55:47 +02:00
Martijn Liem 7e6947a940 Bugfix for bug #3767
Fixed a memory leak in cap_dshow.cpp in videoInput::setVideoSettingCamera(). The leak was caused by not releasing an IBaseFilter object created in a call to getDevice(). Tho object is now properly released.

Conflicts:
	modules/highgui/src/cap_dshow.cpp
2015-05-24 11:55:46 +02:00
Vadim Pisarevsky bb989f2034 Merge pull request #4050 from Dikay900:2_4_to_master 2015-05-24 09:30:46 +00:00
Ruslan Baratov 9c8255feeb Doc: fix definition of macro CV_MAKETYPE
At least this is how it's defined in core/types_c.h

Conflicts:
	modules/core/doc/intro.rst
2015-05-23 19:09:34 +02:00
Leonid Beynenson 4f95e6c70b Fixed bug in cv::detail::waveCorrect
The function makes wave correction of a stitched panorama.
Earlier it gave wrong results for panorama made from 1 frame.
2015-05-23 19:09:33 +02:00
Camille 55a5e6be2c bug fix 3696 2015-05-23 19:09:31 +02:00
Mike Maraya 607d3b54ce Fixes resizeWindow() on OS X (Bug #3200) 2015-05-23 17:36:46 +02:00
Dikay900 7ca0557b40 typos in comments 2015-05-23 17:36:45 +02:00
Aleksandr Petrikov 25b4cface0 add NEON realization for StereoBM(findCorrespondence, prefilterXSobel)
Conflicts:
	modules/calib3d/src/stereobm.cpp

Add CV_Assert (ndisp % 8 == 0) to NEON version
2015-05-23 17:36:44 +02:00
Ehren Metcalfe e9bc9c47c2 Fix resource leak with iOS camera due to failure to remove AVCaptureSession input/outputs on stop (Bug #3389)
Conflicts:
	modules/highgui/src/cap_ios_abstract_camera.mm
2015-05-23 17:36:42 +02:00
aletheios 6a50a51b4e Bugfix #3705: params.setRecordingHint(true) breaks camera preview on Samsung Galaxy S2 2015-05-23 17:36:41 +02:00
Jüri Aedla 22c0238bf1 Android camera qcom HAL doesn't like it when no consumer usage bits are set. Set a usage bit for preview BufferQueue. 2015-05-23 17:36:39 +02:00
Alexander Smorkalov acbc7362db Bug #3611 Initializing static cv::Mat with cv::Mat::zeros causes segmentation fault fixed.
fix MatOpInitializer
2015-05-23 17:36:35 +02:00
Vadim Pisarevsky 2466ca02bf removed cameraMatrix modification in the currently disabled uPnP algorithm for SolvePnP problem (http://code.opencv.org/issues/3985) 2015-05-23 14:19:55 +03:00
Vadim Pisarevsky 7fd5b3a0c5 added another triangulation test case from http://code.opencv.org/issues/3461; fixed partial derivative on distortion coefficients, as http://code.opencv.org/issues/4101 suggests 2015-05-23 14:15:11 +03:00
Vadim Pisarevsky a1a35ca5f7 Merge pull request #4010 from cr333:triangulation_fix_master 2015-05-23 10:17:39 +00:00
Vadim Pisarevsky 90a78585fb reproduced test case from http://code.opencv.org/issues/4334 2015-05-23 13:16:32 +03:00
Vadim Pisarevsky f5be8f6c77 Merge pull request #4047 from MSOpenTech:videoio-refactor-contrib 2015-05-23 09:02:11 +00:00
Vadim Pisarevsky 526defab85 Merge pull request #4048 from vpisarev:hal_fixes 2015-05-22 21:19:03 +00:00
Maksim Shabunin 44d1738d47 Transition guide: how to check library version 2015-05-22 18:46:16 +03:00
Vadim Pisarevsky f32f0486e2 trying to eliminate warnings in Android build 2015-05-22 16:53:34 +03:00
Vadim Pisarevsky 8e392251ba Merge pull request #4016 from vladimir-dudnik:directx-opencl-sample 2015-05-22 13:21:36 +00:00
Maksim Shabunin 3863dc5b2b Updated pkg-config generation, added sample makefile 2015-05-22 16:09:07 +03:00
Samuel Martin 671a630f47 cmake/OpenCVGenPkgconfig.cmake: rework opencv.pc generation
Using absolute path to locate the components in the "Libs:" field of the
*.pc can badly break cross-compilation, especially when building
statically linked objects.

Indeed, pkg-config automatically replaces the '-I...' and '-L...' paths
when the PKG_CONFIG_SYSROOT_DIR and PKG_CONFIG_LIBDIR environment
variables are set [1]. This feature is very helpful and common in
cross-compilation framework like Buildroot [2,3].

When there are absolute paths in the *.pc files, pkg-config won't be
able to do the path substitutions for these paths when the
aforementioned environment variables are set.
In such case, since the prefix is the target one, not the sysroot one,
these libraries' absolute paths will point to:
- in the best case: a non-existing file (i.e. these files do not exists
  on the host system;
- at worst: the host system's libraries. This will make the linking
  failed because these host system's libraries will most likely not be
  build for the target architecture [4].

So, this patch replace the components' absolute paths by the form:
  -L<libdir> -l<libname>

This way, the linker will be able to resolve each dependency path,
whatever the kind of objects/build (shared object or static build) it
is dealing with.

Note that for static link, the library order does matter [5]. The order
of the opencv components has been carefully chosen to comply with this
requirement.

Fixes #3931

This patch is a port of [6] on the master branch.

[1] http://linux.die.net/man/1/pkg-config
[2] http://buildroot.org/
[3] http://git.buildroot.net/buildroot/tree/package/pkgconf/pkg-config.in
[4] http://autobuild.buildroot.net/results/e8a/e8a859276db34aff87ef181b0cce98916b0afc90/build-end.log
[5] http://stackoverflow.com/questions/45135/linker-order-gcc
[6] https://github.com/Itseez/opencv/commit/eceada586bbf18fc267e437522ec4f1f23ddc656

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
2015-05-22 16:09:05 +03:00
Vadim Pisarevsky d2aaa70e93 removed HAL calls from public OpenCV headers; put IPP calls back to hall:sqrt() and such (but they are disabled for now) 2015-05-22 16:04:10 +03:00
Maxim Kostin 4418ee6c77 Refactored internal helpers. Simplified structure. Updated comments. Updates #41
Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-05-22 15:41:50 +03:00
Vladimir Dudnik c64a15294d short description moved to the beginning of file 2015-05-22 14:12:00 +03:00
Vadim Pisarevsky ef8182e12a Merge pull request #4025 from vpisarev:features2d_fixes 2015-05-21 19:16:27 +00:00
laurentBerger b204013483 back to #include "opencv2/cvconfig.h" 2015-05-21 20:22:57 +02:00
Vadim Pisarevsky af47b6551f another attempt to make the MSER test pass. removed possible randomization in parameters from run to run 2015-05-21 17:10:35 +03:00
Vladimir Dudnik 892684ebe5 add short description 2015-05-21 17:08:13 +03:00
Vadim Pisarevsky 4c67ae1a0b fixed failure in Features2d_MSER.cases 2015-05-21 16:27:34 +03:00
Vadim Pisarevsky 021473e93e Merge pull request #4040 from dobrypd:libgphoto2-connection 2015-05-21 13:19:22 +00:00
laurentBerger b116d6c6e8 use ifndef HAVE_GTK 2015-05-21 14:57:49 +02:00
Vadim Pisarevsky 6b04c2b904 Merge pull request #4027 from zenev:master 2015-05-21 12:35:17 +00:00
Vadim Pisarevsky 7061bf0000 Merge pull request #4031 from apavlenko:revert_4014 2015-05-21 12:31:48 +00:00
Vadim Pisarevsky dab78c26b1 added reasonable test for MSER (including coverage for http://code.opencv.org/issues/4273, http://code.opencv.org/issues/1723 and http://code.opencv.org/issues/756); also, added some "in-progress" info to the Features2d_Feature2d.no_crash test. 2015-05-21 15:03:17 +03:00
laurentBerger a6a0fc5b21 replace "cvconfig.h" it with "opencv2/cvconfig.h". 2015-05-21 14:01:11 +02:00
Vadim Pisarevsky fede94e979 it's now true MSER algorithm that works well on binary images too 2015-05-21 05:44:14 +03:00
Piotr Dobrowolski 6d0407b65e VideoCapture with digital camera and gPhoto2 library 2015-05-21 00:41:39 +02:00
GilLevi 05a45ef6dc renamed LATCH 2015-05-21 00:04:24 +03:00
Vadim Pisarevsky 298c98ea32 Merge pull request #4026 from mshabunin:install-cvconfig 2015-05-20 09:58:48 +00:00
Andrey Pavlenko ab8afc3bcc Revert of "Merge pull request #4006 from sgjava:opencv-steve" (reverted from commit 4743184078) 2015-05-19 18:55:57 +03:00
Vladimir Dudnik af806bc816 replaced macros with template func 2015-05-19 16:08:25 +03:00
Andrey Pavlenko d67d32af48 Revert of "Merge pull request #4014 from sgjava:opencv-sgjava" (reverted from commit 52fa55a770) 2015-05-19 13:30:18 +03:00
zenev 6ac4a4ceb6 Merge branch 'master' of https://github.com/zenev/opencv 2015-05-18 13:29:54 -07:00
zenev 5cb70d34d7 fixed vector out of range exception in nextImg 2015-05-18 13:29:15 -07:00
Vadim Pisarevsky b5a7122855 added test to do smoke testing of ORB, KAZE, AKAZE and BRISK on images of different size 2015-05-18 21:16:53 +03:00
Maksim Shabunin e936670571 Install cvconfig.h file 2015-05-18 19:19:48 +03:00
Vadim Pisarevsky fc06a2384b added test for batch detection/descriptor extraction (http://code.opencv.org/issues/3943) 2015-05-18 19:01:00 +03:00
Vadim Pisarevsky 432cf1152a added read/write functions for vector<DMatch> + the test (http://code.opencv.org/issues/4308) 2015-05-18 18:59:37 +03:00
Vadim Pisarevsky 3136010e1a Merge pull request #4023 from Dikay900:cleanup_cascadedetect 2015-05-18 14:08:22 +00:00
Vadim Pisarevsky 2fc92448df Merge pull request #4024 from jet47:cuda-minmaxloc-one-row-input 2015-05-18 14:06:37 +00:00
Vladislav Vinogradov e22979f334 fix #4343 : cv::cuda::findMinMaxLoc incorrect output for single row matrix 2015-05-18 14:16:55 +03:00
Dikay900 a5242265d7 cleanup after last PR 2015-05-18 00:31:39 +02:00
Vadim Pisarevsky 8b791477df Merge pull request #3971 from Dikay900:2_4_to_master_3 2015-05-17 00:28:30 +00:00
laurentBerger 268283ff16 suppress android and mac warnings 2015-05-16 22:54:53 +02:00
GilLevi 6613519c2e added sample for LATCH 2015-05-16 22:37:38 +03:00
Vadim Pisarevsky e0136e39f4 Merge pull request #4011 from cr333:parula 2015-05-16 19:11:32 +00:00
laurentBerger 546f70a6f0 some warnings and errors 2015-05-16 21:01:31 +02:00
GilLevi f85eb23c3b sample for LATCH 2015-05-16 21:15:09 +03:00
Vadim Pisarevsky 78e89ba3ff Merge pull request #4001 from LaurentBerger:ExampleBLOB 2015-05-16 18:11:29 +00:00
Vadim Pisarevsky eb41a574b7 Merge pull request #4005 from MSOpenTech:videoio-contrib 2015-05-16 18:08:28 +00:00
laurentBerger 187ab0ca61 include cvconfig.h to use constant HAVE_OPENGL 2015-05-16 19:59:59 +02:00
laurentBerger 7cf5de0ed0 trailing whitespace and some bracket 2015-05-16 19:29:12 +02:00
laurentBerger 68e9d19743 An example how to use features2d for MSER. Data results are visualized in 3D using openglwith mouse or keyboard 2015-05-16 18:59:22 +02:00
Vladimir Dudnik f0197006e0 removed original samples and replace them with new ones. modified new samples (reduce code duplication, add cmd line params and short description) 2015-05-16 00:40:05 +03:00
Vadim Pisarevsky a85bb091c8 Merge pull request #4018 from vpisarev:imgproc_video_fixes 2015-05-15 16:15:01 +00:00
Maxim Kostin 3d20157d4f Added sample Windows Universal application (UAP) using videoio logic for video preview and processing.
Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-05-15 18:03:06 +03:00
Maxim Kostin 55f78f8a83 Added configuration changes enabling videoio WinRT support.
Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-05-15 16:29:06 +03:00
Maxim Kostin d08cb6b357 Added WinRT support for videoio.
Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-05-15 16:28:47 +03:00
Maxim Kostin d40eefd5a4 Moved old WinRT related wrappers from highgui to videoio fixing long broken logic.
Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-05-15 16:28:25 +03:00
Vadim Pisarevsky 4a9b244577 hopefully, fixed crash in sparse mat test 2015-05-15 16:15:10 +03:00
Vadim Pisarevsky cc086b9452 Merge pull request #3979 from ruslo:fix.cxx11 2015-05-15 12:32:46 +00:00
Vadim Pisarevsky 35884a7e3f Merge pull request #3982 from patrikhuber:vs2015-support-master 2015-05-15 12:32:27 +00:00
Vadim Pisarevsky 3109c77013 Merge pull request #3983 from ruslo:unify.ios 2015-05-15 12:32:05 +00:00
Vadim Pisarevsky a26ab3ab16 Merge pull request #3917 from yanlend:patch-1 2015-05-14 21:16:24 +00:00
Vadim Pisarevsky 66eb270cf7 significantly reduced sparse matrix footprint:
http://code.opencv.org/issues/2206,
http://code.opencv.org/issues/2924
2015-05-14 23:29:09 +03:00
Vadim Pisarevsky 354ed5c4d6 Merge pull request #4009 from mshabunin:fix-ann-moment 2015-05-14 18:25:16 +00:00
Vadim Pisarevsky c52092e6f8 Merge pull request #3992 from nomarek:master 2015-05-14 18:24:09 +00:00
Vadim Pisarevsky 52fa55a770 Merge pull request #4014 from sgjava:opencv-sgjava 2015-05-14 18:23:28 +00:00
Vadim Pisarevsky a87e1c2f90 Merge pull request #4012 from mshabunin:doc-fixes 2015-05-14 18:22:26 +00:00
Vadim Pisarevsky cc92cd07e8 Merge pull request #4017 from headupinclouds:master 2015-05-14 18:16:23 +00:00
Vadim Pisarevsky 7dd67f4997 use _mm_sad_epu8 instead of _mm_movemask_epi8 in countNonZero. Therefore, we do not need any popcount table and this solves http://code.opencv.org/issues/4333 2015-05-14 20:33:53 +03:00
Vadim Pisarevsky 3c769edea0 added extra check in CalibrateDebevec to make sure the points are within the image:
http://code.opencv.org/issues/4124
2015-05-14 19:54:48 +03:00
Vadim Pisarevsky 3c7f7de477 avoid possible problems with zero values in tone mapping algorithms (http://code.opencv.org/issues/4020) 2015-05-14 19:32:25 +03:00
Vadim Pisarevsky ffabbfa778 added test to prove that remap does not leak memory (http://code.opencv.org/issues/2502). disabled the test for now to save execution time. 2015-05-14 18:21:26 +03:00
Vadim Pisarevsky ca90667723 fixed compile warnings on Linux and Windows 2015-05-14 16:42:51 +03:00
Vadim Pisarevsky 05d888316a added test for http://code.opencv.org/issues/2957 2015-05-14 16:25:18 +03:00
Vadim Pisarevsky b37aaa8303 significantly improved parallel non-local means by using granularity parameter in parallel_for_ loop. Because the algorithm deals with sliding sums, it's essential that each thread has enough work to do, otherwise the algorithm gets higher theoretical complexity and thus there is no speedup comparing to 1-thread code (at best). 2015-05-14 15:39:42 +03:00
Vladimir Dudnik 3cb4954d70 fixed new blank line at EOF 2015-05-14 12:08:14 +03:00
Vadim Pisarevsky feb5b6aa93 increased singularity epsilon in LU decomposition. This solved singular case from http://code.opencv.org/issues/3305. Added the respective test. 2015-05-14 10:42:55 +03:00
Vadim Pisarevsky 2e7e754032 added support for n-channel (n>4) images in warpAffine/warpPerspective/remap: http://code.opencv.org/issues/4190 2015-05-14 08:06:46 +03:00
David Hirvonen cab0ecdf19 Avoid clearing HaarEvaluator::tofs variable (introduced fb8478eb7b) in HaarEvaluator::setImage(...) since it won't be recomputed by HaarEvaluator::computeOptFeatures() for cases where the input image dimensions and requested search scales are the same as the previous. If none of the above change then it should be correct, and if they do change it will be computed correctly inside HaarEvaluator::computeOptFeatures() (in commit 952f9dbe62)
I'm guessing there is a unit test for this that needs to be called 2x with the same image and search parameters (or another image with the same size) to illustrate the problem.
2015-05-13 17:34:16 -04:00
Vadim Pisarevsky d3b0cb878a added test for http://code.opencv.org/issues/2736 2015-05-13 22:16:35 +03:00
Vadim Pisarevsky 71002e0e79 some fixes from http://code.opencv.org/issues/3733 2015-05-13 22:00:02 +03:00
GilLevi a41ac8fd40 added sample code for LATCH 2015-05-13 21:20:28 +03:00
sgjava 8b3b2a52f0 Removed finalize() and added n_delete to release() 2015-05-13 13:45:19 -04:00
sgjava fe0ce9282a Changed delete() modifier to public from protected 2015-05-13 13:44:53 -04:00
Marek Nogacki 25bcca2edb fixed http://code.opencv.org/issues/4276 - set drawing thickness limit to 32767 2015-05-13 18:54:25 +02:00
laurentBerger 31ef944176 remove example_blob.bmp 2015-05-13 18:06:26 +02:00
laurentBerger 06b0fa6fc2 BLOB_MSER avec opengl 2015-05-13 18:03:58 +02:00
Maksim Shabunin 6d1cbc6458 Reorganized user guide 2015-05-13 18:46:21 +03:00
Maksim Shabunin 3f91b0d340 Fixed external link in python colorspace tutorial 2015-05-13 18:46:21 +03:00
Maksim Shabunin a7160d9b12 Docs: fixed _dest type in cv::compare 2015-05-13 18:46:21 +03:00
Maksim Shabunin e22c09c601 Documentation for CommandLineParser 2015-05-13 18:46:21 +03:00
Maksim Shabunin 61293a09ff Fixed RGB-to-HLS conversion formula in documentation 2015-05-13 18:46:21 +03:00
Maksim Shabunin c8cb03fd8f Replaced 'corrected' to 'distorted' in camera calibration tutorials 2015-05-13 18:46:21 +03:00
Christian Richardt 6425ac3b13 Added color map similar to Matlab's new default color map 'parula'. 2015-05-13 17:34:14 +02:00
Christian Richardt cbaf0ecaf6 Fixed triangulation bug http://code.opencv.org/issues/4334. 2015-05-13 16:28:14 +02:00
Maksim Shabunin b95769333c Fixed ANN_MLP dw initialization when moment is not 0 2015-05-13 16:56:34 +03:00
Vadim Pisarevsky 4743184078 Merge pull request #4006 from sgjava:opencv-steve 2015-05-13 11:36:15 +00:00
Vadim Pisarevsky 3f180b0ad9 Merge pull request #4007 from martin-ueding:master 2015-05-13 11:35:09 +00:00
Martin Ueding 1e00a93f97 Fix spelling 2015-05-13 08:16:39 +02:00
Vladimir Dudnik 450a276f87 directx opencl interop samples (with copy from opencl image2d to buffer) 2015-05-13 01:51:54 +03:00
sgjava 0f53526598 Added VideoWriter and changed finalize to delete 2015-05-12 14:18:39 -04:00
laurentBerger 780f4ae7c5 try to implement remark included in message 2015-05-12 19:01:05 +02:00
Vadim Pisarevsky 4af2eb22ab Merge pull request #3974 from StevenPuttemans:fix_RGB_naming_master 2015-05-12 15:12:27 +00:00
Vadim Pisarevsky 5de9d8e6e1 Merge pull request #3994 from mshabunin:fix-gtk-crash 2015-05-12 15:11:07 +00:00
Vadim Pisarevsky d3ef3cff94 Merge pull request #3996 from Ashod:opengl_context_clip 2015-05-12 15:06:31 +00:00
Vadim Pisarevsky 568303ac7f Merge pull request #3993 from vrabaud:master 2015-05-12 15:04:41 +00:00
Vadim Pisarevsky 09c26d6805 Merge pull request #3999 from berak:features2d_tutorial_fix 2015-05-12 15:01:54 +00:00
Vadim Pisarevsky 939c1d2474 Merge pull request #4000 from sdika:HOGSignedGradient 2015-05-12 14:47:36 +00:00
Vadim Pisarevsky b8d40b4ad5 Merge pull request #4002 from marvins:gdal-fix 2015-05-12 14:33:07 +00:00
Marvin Smith ae933db526 Fixing the gdal include error that Macports seems to only mess up. 2015-05-11 20:27:50 -07:00
laurentBerger dfc508bb15 problem float constant and position of > in vector 2015-05-11 13:45:08 +02:00
laurentBerger 05bc7621e6 trailing whitespace 2015-05-11 13:20:52 +02:00
laurentBerger a94fdbe0f0 Example about BLOB with a new image in data folder 2015-05-11 13:13:20 +02:00
laurentBerger e7fcffeead Exxemple MSER et BLOB séparés 2015-05-11 12:48:18 +02:00
msandler 8e82bed459 updated cap_libv4l.cpp to support CV_CAP_PROP_POS_MSEC, CV_CAP_PROP_POS_FRAMES and CV_CAP_PROP_FPS 2015-05-11 03:25:48 -07:00
berak 3fe69f4e67 small fixes for features2d tutorials 2015-05-10 13:44:49 +02:00
Michaël Sdika ab40c2acf7 added the signedGradient varaible to the HOGDescriptor class.
when true, use signed gradient for the angular histogram computation.
default to false for backward compatibility.
2015-05-10 09:23:30 +02:00
Ashod Nakashian 7cd198623e Prevent the parent from drawing over OpenGL context. 2015-05-09 12:23:09 -04:00
laurentBerger 16e20e5c73 An another improvement? 2015-05-09 10:29:53 +02:00
laurentBerger 9e97d7b4db Etude de MSER 2015-05-09 08:44:18 +02:00
laurentBerger 26d7da68fc warning C4101: 'e' line 146 2015-05-08 09:57:05 +02:00
laurentBerger f6f5b6035b trailing whitespace 2015-05-07 22:55:38 +02:00
laurentBerger 966d50762d Try to include comment from @eduardo and @berak
Akaze descriptor with DESCRIPTOR_KAZE_UPRIGHT added
2015-05-07 22:48:13 +02:00
Maksim Shabunin 01c3d491e7 Fixed python crash when both cv2.imshow and gtk module are used 2015-05-07 16:44:45 +03:00
Vincent Rabaud f052b0bc4d get code to compile on Ubuntu Saucy
A define was forgotten for the codecs and there was a typo for
another.
2015-05-07 11:38:59 +00:00
Vadim Pisarevsky a31b29308f Merge pull request #3919 from cbalint13:brisk 2015-05-07 10:38:31 +00:00
laurentBerger 3a53e726dd example BLOB_MSER and fixed bug in blobdetector 2015-05-07 11:52:06 +02:00
Marek Nogacki d59a6b29d5 fixed http://code.opencv.org/issues/4276 - removed drawing thickness upper limit 2015-05-07 11:19:22 +02:00
laurentBerger cfcef3ec98 File was not saved due to wrong file name.
Add a comment about bug 4308
2015-05-06 19:55:16 +02:00
Vadim Pisarevsky f49544f310 Merge pull request #3987 from vpisarev:core_fixes_part_1 2015-05-06 15:49:18 +00:00
laurentBerger 171b58e2ca Example BLOB_MSER 2015-05-06 16:50:22 +02:00
Vadim Pisarevsky 7a3c0cb70e Merge pull request #3991 from mshabunin:python-underscore 2015-05-06 14:48:34 +00:00
Vadim Pisarevsky 1756590117 Merge pull request #3985 from StevenPuttemans:fix_imread_parameters 2015-05-06 14:02:33 +00:00
Maksim Shabunin c137ba53a0 Wrap ANN_MLP class into Python 2015-05-06 15:21:23 +03:00
cbalint13 6b1d5e48b6 Merge branch 'brisk' of https://github.com/cbalint13/opencv into brisk 2015-05-06 11:23:50 +03:00
cbalint13 fb56d5c482 Squash all BRISK commits into one. 2015-05-06 11:21:25 +03:00
Vadim Pisarevsky d280205245 fixed compile errors on ARM, as well as failures in OCL_Dft* regression tests 2015-05-06 10:00:10 +03:00
Vadim Pisarevsky 0ee8634b2f fixed random failures in Core_DFT.complex_output2 test (the case of input_mat.cols == 1) 2015-05-05 20:31:30 +03:00
Vadim Pisarevsky 73f760fdf0 some more compile warnings fixed 2015-05-05 18:03:40 +03:00
Vadim Pisarevsky 931a519969 fixed warning in mathfuncs 2015-05-05 17:49:36 +03:00
StevenPuttemans 0baaf0a60f fixing old variables in documentation and transfering to the new interface 2015-05-05 15:05:39 +02:00
Vadim Pisarevsky 63a63e3eaa extended MinProblemSolver::Function to 1) report the space dimensionality, 2) compute gradient if needed 2015-05-05 15:56:06 +03:00
laurentBerger 6b9e273f92 Essai examleBlob et MSER 2015-05-05 12:06:16 +02:00
cbalint13 2c6114f58d Force newer build over buildbot. 2015-05-05 12:19:35 +03:00
cbalint13 8ba1ec22e4 Force buildbot to rebuild. 2015-05-04 19:54:08 +03:00
Maksim Shabunin 4bf6bd3d37 Merge pull request #3972 from PhilLab:docLineno 2015-05-04 09:48:07 +00:00
laurentBerger 09930938e8 Trailing white space first step 2015-05-04 10:59:43 +02:00
laurentBerger 09e9e8ad9f I have modified source file and add a chart to have distance between keypoint for decriptor function og matching algorithm
My english is not good so you can change some words in my comment
2015-05-04 10:36:24 +02:00
StevenPuttemans 34dacdea32 fixing all RGB instances to BGR where needed 2015-05-04 09:02:46 +02:00
laurentBerger 9ddb8bdb8b Problem with warning: comparison between signed and unsigned integer expressions 2015-05-03 14:08:24 +02:00
laurentBerger 56856a1810 Conversion size-t in int 2015-05-03 13:28:23 +02:00
laurentBerger 341de5d53f trailing whitespace 2015-05-03 12:04:19 +02:00
laurentBerger b28056e3dd Trailing whitespace 2015-05-03 11:58:32 +02:00
laurentBerger 3e25c085ba A sample program : how to use ORB AKAZE BRISK descriptors for matching.
see http://answers.opencv.org/question/61062/features2d-example/
2015-05-03 11:42:27 +02:00
Vadim Pisarevsky 5b9182ba43 reenabled conjugate gradient solver test 2015-05-03 11:36:24 +03:00
Vadim Pisarevsky 5a31f6b4e1 ok, so probably the failure in downhill simplex has been finally solved 2015-05-03 11:31:49 +03:00
Vadim Pisarevsky 2ec92ba440 added test for http://code.opencv.org/issues/1918 2015-05-03 02:46:33 +03:00
Vadim Pisarevsky 01e351de37 refactored downhill simplex implementation a bit; hopefully, fixed the bug with random failures in the tests 2015-05-03 02:29:15 +03:00
Ruslan Baratov 441f93d58d Unify iOS platform check
There is only one place that use condition `CMAKE_SYSTEM_NAME STREQUAL iOS`.
All other `if` command use just IOS.
2015-05-02 23:44:19 +02:00
Vadim Pisarevsky a33d7928a4 Fixed getContinuousSize() to handle huge matrices properly. This should solve http://code.opencv.org/issues/3232 2015-05-02 22:12:12 +03:00
Vadim Pisarevsky 9c0b740b84 improved randShuffle as suggested by John Stark in http://code.opencv.org/issues/3730 2015-05-02 21:31:47 +03:00
Vadim Pisarevsky 96b5ec14d4 fixed bug with simplex initialization in Downhill solver (thanks to Toby Rule for the patch): http://code.opencv.org/issues/3990.
re-enabled Downhill solver test, let's see how it goes
2015-05-02 20:59:57 +03:00
Vadim Pisarevsky 79ac0d05ce added test checking http://code.opencv.org/issues/4050 2015-05-02 20:38:30 +03:00
Patrik Huber 40b765b7c2 Add VS2015 compatibility to CMake scripts 2015-05-02 15:24:14 +01:00
cbalint13 f426778160 Force buildbot rebuild. 2015-05-02 11:25:22 +03:00
Ruslan Baratov f148eaace9 Fix errors while compiling with c++11 flag
Fix errors in file cap_avfoundation.mm.
Compiled with Xcode 6.2, iOS SDK 8.2

Example:

cap_avfoundation.mm:543:54: error: cannot initialize a parameter of
type 'AVCaptureFocusMode' with an rvalue of type 'int'
    if ([mCaptureDevice isFocusModeSupported:(int)value]){
                                             ^~~~~~~~~~
2015-05-01 21:29:20 +02:00
cbalint13 9b87c22e01 Fix bugs in non-max suppression routine. 2015-05-01 22:07:08 +03:00
Vadim Pisarevsky 9fbd1d68ad refactored div & pow funcs; added tests for special cases in pow() function.
fixed http://code.opencv.org/issues/3935
possibly fixed http://code.opencv.org/issues/3594
2015-05-01 21:49:11 +03:00
Roman Donchenko e01b485ac6 Merge pull request #3973 from xsorifc28:patch-1 2015-04-30 12:48:51 +00:00
cbalint13 bbdf21679f Leave AGAST at thresold=10, cosmetic for perf tests. 2015-04-30 02:23:58 +03:00
cbalint13 e2f74309f7 Default AGAST threshold is 40 (as authors recomandation) 2015-04-29 23:54:16 +03:00
cbalint13 0ec5561b4e Adjust AGAST perftest to be at parity (better) with FAST ones. 2015-04-29 23:42:57 +03:00
Vadim Pisarevsky 74e2b8cbcb fixed invalid output of cv::dft when using DFT_ROWS + DFT_COMPLEX_OUTPUT (http://code.opencv.org/issues/3428) 2015-04-29 23:08:22 +03:00
Vadim Pisarevsky 7918267d02 fixed U non-orthogonality in SVD (http://code.opencv.org/issues/3801) 2015-04-29 16:09:58 +03:00
Vadim Pisarevsky 135fa85e8f added vector<bool> support (http://code.opencv.org/issues/3826) 2015-04-29 15:36:45 +03:00
Vadim Pisarevsky d8f360316d fixed http://code.opencv.org/issues/3828, added test. thanks to berak for the patch 2015-04-29 13:12:53 +03:00
lujia b73894b271 bugfix_for_hog_detectMultiScale_with_weights 2015-04-29 11:46:26 +02:00
Vadim Pisarevsky 0746ec7035 fixed http://code.opencv.org/issues/4278 2015-04-29 11:58:49 +03:00
Vadim Pisarevsky a8226814c5 fixed http://code.opencv.org/issues/4189 2015-04-29 11:47:12 +03:00
Vadim Pisarevsky 30a3ff0de6 fixed compile errors on OSX and other systems where ffmpeg is detected manually, not via pkg-config 2015-04-29 11:43:53 +03:00
Philipp Hasper dadf53f17c Doxygen: replaced @includelineno by @include to enable copy-pasting 2015-04-29 09:31:53 +02:00
AfterEight f39d351d04 Modified resetCvImage() in cap_ximea.cpp, so that the IplImage* frame is also updated after the resolution has changed via set(CV_CAP_PROP_FRAME_WIDTH, value)/set(CV_CAP_PROP_XI_DOWNSAMPLING, value)
Conflicts:
	modules/highgui/src/cap_ximea.cpp
2015-04-28 18:07:39 +02:00
cbalint13 0039690f11 Merge branch 'master' of https://github.com/Itseez/opencv into brisk 2015-04-28 18:51:13 +03:00
Vadim Pisarevsky 07e07655d4 Merge pull request #3967 from Belev:fix-typo 2015-04-28 14:47:05 +00:00
Vadim Pisarevsky e60dcc9b3b Merge pull request #3966 from Dikay900:master_diff_to_2_4_2 2015-04-28 11:00:57 +00:00
Vadim Pisarevsky 7245803405 Merge pull request #3954 from martin-ueding:master 2015-04-28 10:55:05 +00:00
Vadim Pisarevsky ce7812fcb0 Merge pull request #3962 from apavlenko:fix_polylines_empty 2015-04-28 10:47:36 +00:00
Maksim Shabunin bcf02ae439 Merge pull request #3678 from mshabunin:explicit-sse-disable 2015-04-28 10:41:14 +00:00
Vadim Pisarevsky 8919c3162d Merge pull request #3964 from Dikay900:master_diff_to_2_4 2015-04-28 10:38:54 +00:00
Belev 2200e0fb7e Fix typo
Fixed difference in the given arguments to the ellipse function and the description after that

Fixed two more typos

Replaced unnecessary the with to
2015-04-28 13:10:08 +03:00
cbalint13 0ded2984b8 Merge remote-tracking branch 'upstream/master' into brisk 2015-04-28 06:48:52 +03:00
Samed Ozdemir 5e44aa37ff Fixed a typo, "requited" -> "required" 2015-04-27 23:00:39 -04:00
Maksim Shabunin 9efc57f24b Increased perf_imgproc.moments max error 2015-04-27 17:05:55 +03:00
kalistratovag 20156d1eeb Adding 1 to moments to avoid tests fails 2015-04-27 15:36:40 +03:00
Maksim Shabunin 1138a38dbe Use explicit no-sse flags when SSE is off
Also:
- Silence clang warnings about unsupported command line arguments
- Add diagnostic print to calib3d test
- Fixed perf test relative error check
- Fix iOS build problem
2015-04-27 15:36:10 +03:00
Thomas Gabrowski 63dbeeaac5 Fix iOS warnings about implicit conversion precision by changing double literals to float ones
Conflicts:
	modules/contrib/include/opencv2/contrib/retina.hpp
2015-04-26 12:22:41 +02:00
Mansour Moufid 655b28ee0c Use the CMake find_library command to find the FFmpeg libraries.
Conflicts:
	cmake/OpenCVFindLibsVideo.cmake
2015-04-25 19:00:33 +02:00
Roman Donchenko 5455e38e15 cap_msmf.hpp: fix a warning about nNull being unused
The two functions featuring nNull are not particularly needed, so
I simply removed them.

Conflicts:
	modules/highgui/src/cap_msmf.hpp
2015-04-25 18:54:54 +02:00
Mansour Moufid b99f7a29df Cast some image coordinates and sizes to double.
Conflicts:
	modules/gpu/perf/perf_imgproc.cpp

Cast a long integer to double explicitly.

Conflicts:
	modules/python/src2/cv2.cpp

Cast some matrix sizes to type int.

Change some vector mask types to unsigned.

Conflicts:
	modules/core/src/arithm.cpp
2015-04-25 18:54:53 +02:00
Luis Díaz Más b599774e30 Fix a bug that impede to set the trackbar pos using the Qt control panel
Conflicts:
	modules/highgui/src/window_QT.cpp
2015-04-25 18:54:53 +02:00
Luis Díaz Más e6f7e96ff4 Fixing the bug #4244 that I just reported in code.opencv.org 2015-04-25 18:54:52 +02:00
Craig Reynolds b4c7c011b7 In cvAddText, construct QString from "text" using fromUtf8. 2015-04-25 18:54:51 +02:00
Boris Daskalov 3b5530fb67 Fix a bad free space check in icvGrowSeq.
A difference of two pointers was casted to unsigned which can lead to
overflow on 64-bit systems.
2015-04-25 18:54:51 +02:00
Vladimir Kolesnikov 2c73e49dac Not block PDB file in multithreaded build on Windows.
If used cl compiler, but generator is not Visual Studio e.g. Ninja,
enable FS option to prevent blocking PDB file in multithreaded build.
2015-04-25 18:54:50 +02:00
Alexander Nitsch d6c95621e8 Implement CMAKE_CURRENT_LIST_DIR for older CMake
The use of built-in CMAKE_CURRENT_LIST_DIR requires at least
CMake 2.8.3. This fix properly defines the variable to allow its
use in versions < 2.8.3 as well.

Fixes issue #4205.

Exclude >= 2.8.3 from reimplementation of CMAKE_CURRENT_LIST_DIR

This avoids violation of possible future CMake policy checks
regarding reserved/read-only variables.
2015-04-24 23:10:50 +02:00
Milania1 b94c513cee fixed error in hough lines tutorial (the point (9,4) is not on the lines, but the point (4,9) is)
Conflicts:
	doc/tutorials/imgproc/imgtrans/hough_lines/hough_lines.rst
2015-04-24 22:48:44 +02:00
Ilya Lavrenov 614edafe73 typo 2015-04-24 22:38:51 +02:00
Dikay900 9f7548ab89 update openni sample comments referring #81 2015-04-24 18:19:03 +02:00
Andrey Pavlenko d2409d12c6 porting polylines with empty vector<Point> from 2.4 to master 2015-04-24 17:11:51 +03:00
Alexander Alekhin 6a5f413f27 Merge tag '3.0.0-rc1' 2015-04-24 14:56:47 +03:00
Vadim Pisarevsky 755527a90a Merge pull request #3958 from ilya-lavrenov:cuda_aarch64 2015-04-23 17:16:52 +00:00
Vadim Pisarevsky 1e90b2f51d Merge pull request #3957 from dhood:fm-8pt-bug 2015-04-23 17:16:25 +00:00
Ilya Lavrenov f57063efa2 port of aarch64 cuda changes from 2.4 2015-04-23 17:57:29 +03:00
Alexander Alekhin b057a62c8b Set status to rc 2015-04-23 17:29:40 +03:00
Vadim Pisarevsky 12a3156aff Merge pull request #3955 from vpisarev:fixed_mjpeg_encoder 2015-04-23 14:21:32 +00:00
Deanna Hood eee210f3b5 Fix Bug #3441, #4072, #4173: 8-point fundamental matrix calculation error 2015-04-23 10:09:48 -04:00
Deanna Hood 34bc3b8595 Don't relax error level for particular fundamental matrix calculation methods 2015-04-23 10:08:42 -04:00
Vadim Pisarevsky d825b7ee9a fixed mjpeg encoder so that libjpeg-based decoder does not complain on extra bytes in the end of stream 2015-04-23 14:40:44 +03:00
Martin Ueding 5ffb53f229 Add example data types for calibrateCamera call
It took me a while to figure out what was meant with

    OpenCV Error: Assertion failed (i < 0) in getMat

While searching for this error message I found [a list of error
messages](https://adventuresandwhathaveyou.wordpress.com/2014/03/14/opencv-error-messages-suck/)
which also explained what the problem was: The data type for `rvecs` was
not a simple `cv::Mat` but a `std::vector<cv::Mat>`.

After I fixed that, I got the next error message:

    OpenCV Error: Assertion failed (ni > 0 && ni == ni1) in
    collectCalibrationData, file
    /build/buildd/opencv-2.4.9+dfsg/modules/calib3d/src/calibration.cpp,
    line 3193

The problem here was that my data type for the `objectPoints` was just
`vector<Vec3f>` and not `vector<vector<Vec3f>>`.

In order to save other people the time looking for this, I added
explicit examples of the needed data types into the documentation of the
function. I had to re-read the current version a couple of times until I
can read the needed levels of `vector<>`. Having this example would have
really helped me there.
2015-04-23 13:30:14 +02:00
Vadim Pisarevsky dcf177e372 Merge pull request #3952 from vpisarev:fix_libav_case 2015-04-23 06:25:25 +00:00
Vadim Pisarevsky 30912b49f3 fixed compile warnings; hopefully fixed test failures 2015-04-23 00:39:44 +03:00
Vadim Pisarevsky 882dc0a7f6 Merge pull request #3950 from paroj:fix-gftt_ocl 2015-04-22 19:08:15 +00:00
Vadim Pisarevsky d8f62673d7 Merge pull request #3951 from kalistratovag:mjpeg_dec_uninitialized 2015-04-22 19:03:20 +00:00
Vadim Pisarevsky 2b2e3ee93c make sure opencv builds fine with the recent versions of libav (e.g. from Ubuntu 14.10) 2015-04-22 21:57:29 +03:00
kalistratovag 08925330e0 mjpec_decoder initialize m_movi_start variable 2015-04-22 19:49:11 +03:00
Pavel Rojtberg 1ea41e7246 fix gftt opencv kernel when using mask 2015-04-22 16:13:50 +02:00
Vadim Pisarevsky 7dd19f6d97 Merge pull request #3939 from paroj:fmtfix 2015-04-22 12:15:17 +00:00
Vadim Pisarevsky 415a212d09 Merge pull request #3936 from dhood:fitEllipse-bug 2015-04-22 11:22:35 +00:00
Vadim Pisarevsky bac4999ae4 Merge pull request #3948 from PhilLab:markdownPatch 2015-04-22 11:02:50 +00:00
Philipp Hasper 0b20ce696a Fixed markdown: **Note** -> @note 2015-04-22 08:08:10 +02:00
Vadim Pisarevsky a69b435c92 Merge pull request #3909 from Nuzhny007:master 2015-04-21 14:02:59 +00:00
Vadim Pisarevsky 063e4004ba Merge pull request #3935 from vpisarev:extending_hal_part1 2015-04-21 14:02:02 +00:00
Vadim Pisarevsky dce0405c4d Merge pull request #3947 from tcavallari:patch-1 2015-04-21 14:01:22 +00:00
Vadim Pisarevsky 8e493ef370 Merge pull request #3925 from ttagu99:findcontour_example2 2015-04-21 12:21:36 +00:00
Vadim Pisarevsky 887fe932cc Merge pull request #3926 from stoneyang:stone 2015-04-21 12:20:42 +00:00
Vadim Pisarevsky 0f13208d81 Merge pull request #3929 from daeyun:findEssentialMat_doc 2015-04-21 12:20:02 +00:00
Vadim Pisarevsky 737d866197 Merge pull request #3930 from berak:python_docs_stereobm 2015-04-21 12:19:37 +00:00
Vadim Pisarevsky 4c875dc393 Merge pull request #3932 from nisargthakkar:Bug4243 2015-04-21 12:18:37 +00:00
Vadim Pisarevsky 60a51b82d7 Merge pull request #3921 from sergarrido:master 2015-04-21 12:11:57 +00:00
Vadim Pisarevsky 99d0fcf49d Merge pull request #3938 from paroj:triangulatecpp 2015-04-21 12:02:26 +00:00
Vadim Pisarevsky faf84e7100 Merge pull request #3937 from mshabunin:android-engine3 2015-04-21 11:47:26 +00:00
Vadim Pisarevsky d01ee09fd6 Merge pull request #3945 from nisargthakkar:DocBugFix4282 2015-04-21 11:46:30 +00:00
Vadim Pisarevsky 926754a66e another attempt to resolve ABI checker complains 2015-04-21 12:42:46 +03:00
Pavel Rojtberg 78eac67a01 clean up cvTriangulatePoints by using C++ primitives directly.
- fixes the Calib3d_StereoCalibrate_C testcase.
update comment regarding cv::SVD::MODIFY_A
2015-04-21 11:29:26 +02:00
Vadim Pisarevsky fa41653420 trying to avoid ABI checker failures 2015-04-21 11:30:41 +03:00
tcavallari cca78e0601 Null Pointer check in vizimpl.cpp
Should fix #4191 (http://code.opencv.org/issues/4191)
2015-04-21 10:08:17 +02:00
Nisarg Thakkar 0fd1203b3b Fixed Doc Errors Bug#4282 2015-04-21 10:37:50 +05:30
Vadim Pisarevsky b27467d9f9 Merge pull request #3931 from mshabunin:fix-svm-train 2015-04-20 20:00:36 +00:00
Vadim Pisarevsky b4aa37aa30 Merge pull request #3933 from BKNio:putText_3_0 2015-04-20 20:00:11 +00:00
Vadim Pisarevsky 6916a1438f fixed some newly introduced compile errors and warnings 2015-04-20 21:34:37 +03:00
Vadim Pisarevsky ca9a2887fc extended universal intrinsics: added 64-bit integers, improved shift operators, renamed "pack" operations; changed semantics of extended integer multiplication, added v_dotprod.
also, split intrinsics into separate files. C implementation is compiled only when none of SSE2 or NEON is available.
2015-04-20 20:27:03 +03:00
Deanna Hood 37f77e7397 Change condition on parallel ellipse case so can only calculate t if necessary 2015-04-18 13:51:32 -04:00
Deanna Hood 5a552b6d8d Regression test for Bug #3989: check fitEllipse with rotation angles of n*pi/2 2015-04-18 13:51:26 -04:00
Pavel Rojtberg b02fc039cd fix python and numpy output formatters 2015-04-17 17:42:24 +02:00
Maksim Shabunin a362aca783 Rename manager package to OpenCV3 Manager 2015-04-17 16:59:52 +03:00
Vadim Pisarevsky 46a6f70d88 Merge pull request #3934 from mshabunin:add-cpp-sample-project 2015-04-17 13:40:34 +00:00
Maksim Shabunin 316d76bdb6 Rename OpenCV Engine to org.opencv.engine3 for release candidate 2015-04-17 16:00:33 +03:00
Vadim Pisarevsky 92f2ad0a11 trying to fix test failures (take 2) 2015-04-17 11:32:20 +03:00
Vadim Pisarevsky 17675b4cb8 trying to fix test failures 2015-04-17 10:51:49 +03:00
Vadim Pisarevsky ce7590bd24 continuing fixing universal intrinsics 2015-04-17 08:32:06 +03:00
Vadim Pisarevsky bfbf864a73 fixed some more compile warnings (2) 2015-04-17 00:13:08 +03:00
Vadim Pisarevsky 1fcc83b84b fixed some more compile warnings 2015-04-16 23:52:23 +03:00
Vadim Pisarevsky c7121e8772 fixed compile warnings 2015-04-16 23:42:00 +03:00
Vadim Pisarevsky ee11a2d266 fully implemented SSE and NEON cases of intrin.hpp; extended the HAL with some basic math functions 2015-04-16 23:00:26 +03:00
Deanna Hood 103336c76e Fix Bug #3989: correctly identify ellipse with its axes parallel to x-y axes during semi-major axis calculation 2015-04-16 11:59:05 -04:00
Maksim Shabunin b80142be69 Fix an issue in cmake tutorial 2015-04-16 17:52:00 +03:00
Maksim Shabunin bb0631a365 Add sample cmake project 2015-04-16 17:33:38 +03:00
Ahmatnurov Dinar 2358c79db2 move 3265 to 3.0; 2015-04-16 14:36:46 +03:00
Nisarg Thakkar 00094a8792 Fix for Bug4243. Made changes relating to non OpenCL devices 2015-04-16 00:22:08 +05:30
Nisarg Thakkar a0bc0ab7cb Fix for Bug4243 2015-04-15 23:49:01 +05:30
Maksim Shabunin cb00c7036f Fix cache error during SVM train 2015-04-15 15:46:07 +03:00
Vadim Pisarevsky a2bba1b9e6 HAL extensions: added initial version of universal intrinsics (C implementation and SSE2, NEON - TBD). added empty files where some functionality from core and imgproc will be moved to 2015-04-15 00:36:27 +03:00
Alexander Alekhin 81c5d58035 Merge pull request #3928 from ilya-lavrenov:android_4.6 2015-04-14 18:12:24 +00:00
berak 723c317108 changed create function in tutorial 2015-04-14 19:01:48 +02:00
Ilya Lavrenov 17bedd72f0 workaround for stange internal compiler error when cross-compiling with 4.6 2015-04-14 16:55:11 +03:00
Daeyun Shin 4686b935c1 Fix typo in documentation. F = K^-T * E * K^-1 2015-04-14 07:44:32 -05:00
Yang Fan 3b177eaaa3 ENH: explicitly declared outputFilename to surpress error C2668 2015-04-14 13:39:14 +08:00
ttagu99 3c797b0ca5 findcontour_example check image empty 2015-04-14 10:01:53 +09:00
S. Garrido 2f95acf273 completing and fixing gen_pattern.py 2015-04-11 19:03:17 +02:00
cbalint13 dee3a4b528 Add missing opencv_contrib PR #202 patch. 2015-04-11 17:43:28 +03:00
cbalint13 26997f32c6 Fix BRISK detector&descriptor using proper AGAST. 2015-04-11 12:09:13 +03:00
Vadim Pisarevsky b639353193 Merge pull request #3912 from kalistratovag:mjpeg_dec 2015-04-10 16:18:37 +00:00
yanlend 443b3157e0 Fix win32 search for same bitness executable
find_package(PythonInterp) calls find_program(PYTHON_EXECUTABLE), i.e. without version number. For the Win32-search before to be effective, the same variable has to be used.
2015-04-10 14:57:31 +02:00
Vadim Pisarevsky c094c58b51 Merge pull request #3916 from mshabunin:fix-winpack-test 2015-04-10 12:48:31 +00:00
kalistratovag 740ae3581c Initial commit of avi mjpeg decoder
std::streams removed

debug code removed

whitespaces removed

stdint.h added and trailing whitespaces removed

trailing whitespaces removed

warnings on windows fix

warnings on windows fix pt 2

Refactoring performed: AviMjpegStream class introduced. CAP_PROP_FRAME_WIDTH and CAP_PROP_FRAME_HEIGHT properties support added.

Windows warnings & uninitialized variable fix

Windows warning fix

Win32 warning fix
2015-04-10 14:16:43 +03:00
Maksim Shabunin 97c78838a4 Fixed windows build and one warning 2015-04-10 11:37:16 +03:00
Vadim Pisarevsky 369a3d1426 Merge pull request #3907 from yxiong:python-dependencies 2015-04-10 05:34:14 +00:00
Maksim Shabunin 728bd0ba84 Merge pull request #3905 from mshabunin:fix-android-mk 2015-04-09 12:08:05 +00:00
Alexander Alekhin c436cac797 Merge pull request #3913 from mshabunin:fix-world-build 2015-04-09 09:24:21 +00:00
Maksim Shabunin e7c02f376f Fixed world build with HAL 2015-04-08 19:56:17 +03:00
Maksim Shabunin f803c2a7bb Generators: updated the library gathering loop 2015-04-08 14:15:20 +03:00
Сергей Нужный e630375fd6 Merge branch 'master' of https://github.com/Nuzhny007/opencv 2015-04-08 12:53:04 +03:00
Сергей Нужный 4a65f3cee2 Squashed commit of the following:
commit 5c379aa1b8
Merge: e800800 3646967
Author: Сергей Нужный <snuzhny@stc-spb.ru>
Date:   Wed Apr 8 12:44:46 2015 +0300

    Merge branch 'master' of https://github.com/Nuzhny007/opencv

commit e800800bec
Author: Сергей Нужный <snuzhny@stc-spb.ru>
Date:   Wed Apr 8 12:43:38 2015 +0300

    Squashed commit of the following:

    commit 3646967deb
    Author: Сергей Нужный <snuzhny@stc-spb.ru>
    Date:   Tue Apr 7 15:48:30 2015 +0300

        Fix bug in SVM::trainAuto

    commit 0c24ccf538
    Author: Сергей Нужный <snuzhny@stc-spb.ru>
    Date:   Tue Apr 7 15:43:59 2015 +0300

        Revert "Fix bug in SVM::trainAuto"

        This reverts commit 225da0226e.

    commit 225da0226e
    Author: Сергей Нужный <snuzhny@stc-spb.ru>
    Date:   Tue Apr 7 15:09:47 2015 +0300

        Fix bug in SVM::trainAuto

commit 3646967deb
Author: Сергей Нужный <snuzhny@stc-spb.ru>
Date:   Tue Apr 7 15:48:30 2015 +0300

    Fix bug in SVM::trainAuto

commit 0c24ccf538
Author: Сергей Нужный <snuzhny@stc-spb.ru>
Date:   Tue Apr 7 15:43:59 2015 +0300

    Revert "Fix bug in SVM::trainAuto"

    This reverts commit 225da0226e.

commit 225da0226e
Author: Сергей Нужный <snuzhny@stc-spb.ru>
Date:   Tue Apr 7 15:09:47 2015 +0300

    Fix bug in SVM::trainAuto
2015-04-08 12:51:57 +03:00
Сергей Нужный 5c379aa1b8 Merge branch 'master' of https://github.com/Nuzhny007/opencv 2015-04-08 12:44:46 +03:00
Сергей Нужный e800800bec Squashed commit of the following:
commit 3646967deb
Author: Сергей Нужный <snuzhny@stc-spb.ru>
Date:   Tue Apr 7 15:48:30 2015 +0300

    Fix bug in SVM::trainAuto

commit 0c24ccf538
Author: Сергей Нужный <snuzhny@stc-spb.ru>
Date:   Tue Apr 7 15:43:59 2015 +0300

    Revert "Fix bug in SVM::trainAuto"

    This reverts commit 225da0226e.

commit 225da0226e
Author: Сергей Нужный <snuzhny@stc-spb.ru>
Date:   Tue Apr 7 15:09:47 2015 +0300

    Fix bug in SVM::trainAuto
2015-04-08 12:43:38 +03:00
Vadim Pisarevsky 5b3f89df0a Merge pull request #3911 from vpisarev:core_tweaks 2015-04-07 19:03:48 +00:00
Vadim Pisarevsky edb4a7ad03 Merge pull request #3879 from mshabunin:add-hal 2015-04-07 17:06:58 +00:00
Vadim Pisarevsky 259e41da73 reverted "typedef _InputArray InputArray", fixed warning from doxygen 2015-04-07 19:34:51 +03:00
Maksim Shabunin 35b2139929 Basic HAL module 2015-04-07 18:16:22 +03:00
Vadim Pisarevsky 052593c760 1. Input/OutputArray optimizations;
2. Algorithm::load/save added (moved from StatModel)
3. copyrights updated; added copyright/licensing info for ffmpeg
4. some warnings from Xcode 6.x are fixed
2015-04-07 16:44:26 +03:00
Сергей Нужный 3646967deb Fix bug in SVM::trainAuto 2015-04-07 15:48:30 +03:00
Сергей Нужный 0c24ccf538 Revert "Fix bug in SVM::trainAuto"
This reverts commit 225da0226e.
2015-04-07 15:43:59 +03:00
Сергей Нужный 225da0226e Fix bug in SVM::trainAuto 2015-04-07 15:09:47 +03:00
Vadim Pisarevsky 44f112a9de Merge pull request #3906 from yxiong:policy-0042 2015-04-07 09:35:07 +00:00
Vadim Pisarevsky bd2be9c79c Merge pull request #3890 from greensea:patch-1 2015-04-07 09:33:36 +00:00
greensea 52c727f09a Fix a segment fault issue in cascade classfier
work_var_count and sample_count are both 32bit integer, if the product of work_var_count and sample_count is bigger than 2^31, the compiler will treat (work_var_count*sample_count) as a negative number. Force work_var_count as an unsigned 64bit integer to avoid this issue.
2015-04-07 10:31:12 +08:00
Ying Xiong 2d8b4fea9f Add #ifdef's such that python wrapper builds independent of other components 2015-04-06 19:57:10 -04:00
Ying Xiong 9cccd87e79 Silence cmake 3.0+ warnings about MACOSX_RPATH 2015-04-06 16:37:06 -04:00
Nuzhny007 581923fa57 Merge pull request #1 from Itseez/master
merge with itseez/opencv/master
2015-04-06 16:24:53 +03:00
Maksim Shabunin 979721c979 Fix generating of android.mk 2015-04-06 16:12:00 +03:00
Vadim Pisarevsky ac22c524fc Merge pull request #3903 from SeninAndrew:master 2015-04-05 18:01:18 +00:00
Vadim Pisarevsky 08c84e0c34 Merge pull request #3729 from bitstars:AsyncServiceHelper.java-Android-5-hotfix 2015-04-05 17:57:53 +00:00
Vadim Pisarevsky caa03f72b7 Merge pull request #3694 from Ashod:jp2 2015-04-05 17:57:11 +00:00
Ashod Nakashian f75f2ffd48 Jpeg2k color to greyscale conversion on non-Windows is done post decoding because system libjasper segfaults when decoding color images as greyscale. 2015-04-03 21:01:45 -04:00
Ashod Nakashian 54ab3137d5 Simplified temp filename generation. 2015-04-03 21:01:44 -04:00
Ashod Nakashian 6fd2fdc2e6 Jasper unit-tests and removed a superfluous assertion. 2015-04-03 21:01:43 -04:00
Ashod Nakashian 03ea24f298 Fix for decoding large Jp2 images on Windows.
On Windows, the tmpnam function returns a temp filename in the current directory, which has a prepended backslash '\\'.
This subsequently fails the open function.

This patch creates a proper temp filename in the temp folder and makes unlike work by opening the file as short-lived.
2015-04-03 21:01:42 -04:00
Andrew Senin 58f20a3b7f Ximea camera fix (see issue #4235) 2015-04-03 22:49:50 +03:00
Vadim Pisarevsky 085b4ca741 Merge pull request #3902 from apavlenko:doc_fix_imwrite_master 2015-04-03 13:26:22 +00:00
Vadim Pisarevsky be9c6bdd67 Merge pull request #3901 from StevenPuttemans:add_breakrule_cascade_accuracy 2015-04-03 13:24:47 +00:00
Andrey Pavlenko ed9f933d41 fixing confusing variable naming in a sample code 2015-04-03 14:03:09 +03:00
StevenPuttemans 796c15d3e6 fixing wrong equation in accuracy break rule 2015-04-03 12:54:05 +02:00
Vadim Pisarevsky 240b52151d Merge pull request #3798 from StevenPuttemans:add_breakrule_cascade_accuracy 2015-04-03 10:19:03 +00:00
Vadim Pisarevsky 559dfa297d Merge pull request #3813 from hahne:iss1915 2015-04-03 10:16:30 +00:00
StevenPuttemans 7e35f76d06 allowing people to manually define how sharp a cascade classifier model should be trained 2015-04-03 10:02:13 +02:00
Vadim Pisarevsky a035d39158 Merge pull request #3892 from MSOpenTech:imgcodecs-contrib 2015-04-02 11:53:55 +00:00
Vadim Pisarevsky 246b7abe7e Merge pull request #3869 from Dikay900:remove_unused_variable 2015-04-02 11:48:43 +00:00
Vadim Pisarevsky da0e2c5bf3 Merge pull request #3889 from nitsch:fix-mingw-cmake 2015-04-02 11:45:20 +00:00
Vadim Pisarevsky 38ce0fe954 Merge pull request #3897 from sanchom:bugfix_4030 2015-04-02 11:44:32 +00:00
Simon Heinen d2dc7f4c27 Update android+AsyncServiceHelper.java
small formatting fixes
2015-04-02 09:05:56 +02:00
Simon Heinen 0df9dc8fb9 Update android+AsyncServiceHelper.java
changed tabs in last commit to spaces
2015-04-02 08:42:19 +02:00
Sancho McCann 6593422c05 Bugfix: #4030 SVM auto-training. 2015-04-01 20:44:51 +00:00
Dikay900 952f9dbe62 initialize tiltedOffset variable at correct location
do not use this variable if it is not an tilted feature
2015-04-01 20:32:30 +02:00
Vadim Pisarevsky 5ab26e3202 Merge pull request #3874 from paroj:calib_sample 2015-04-01 11:13:05 +00:00
Vadim Pisarevsky 6aaa6a50e3 Merge pull request #3887 from MSOpenTech:update_py_script 2015-04-01 11:05:56 +00:00
Vadim Pisarevsky 80c79d4021 Merge pull request #3891 from mshabunin:fix-v4l2-link 2015-04-01 10:49:52 +00:00
Evgeny Agafonchikov ae090fe10d Functionality for relocation of tests
This allows to start run.py with --move_tests parameter to place tests

to another location and keep them runnable from there
2015-04-01 11:50:05 +03:00
Evgeny Agafonchikov 1f04f9d63b Fixing help messages
--help message and starting run.py w/o parameters generate different messages

E. g. w/ and w/o build_path in the end

build_path is required, removing square brackets
2015-03-31 17:58:25 +03:00
Maxim Kostin 75850a1351 Added sample imgcodecs logic to winrt sample app
- Made use imread() in OcvImageProcessing sample.
 - Added test/sample logic to verify file creation via imgcodecs.

Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-03-31 17:09:09 +03:00
Pavel Rojtberg 7c5084e385 - update documentation
* correct the part about fixed aspect
    * improve formatting
    * add snippet markers to source
    * replace inline code by @snippet
  - do not run calibration twice when using a imageList
  - make output consistent in itself (CamelCase vs no_camel_case) as well as with old camera calibrate sample
  - respect write extrinsic/ points flags
  - set the aspectRatio value when specified
  - fix writing of calibration settings. also update grammar.
  - fix intendation and remove some size_t -> int casts by using size_t
2015-03-31 15:45:57 +02:00
Maxim Kostin 412a2aa4ab Added support for 'imgcodecs' module:
- Resolved GET_ENV and input type incompatibility
 - Made libjpeg compile for WINRT. So does imgcodecs module.
 - Updated .gitignore (log, tlog)
2015-03-31 16:31:37 +03:00
Roman Donchenko 149c1c16ba cap_libv4l.cpp depends on both libv4l 1 and 2, so search for both
How this worked before, I do not know.
2015-03-31 12:41:50 +03:00
Alexander Nitsch afd9de6f1b Fix static/shared lib detection
The check for BUILD_SHARED_LIBS had its logic backwards. If this
variable is not defined we must assume a build of static libs.
2015-03-31 00:05:49 +02:00
Alexander Nitsch 66e653d24d Remove local variables from CMAKE namespace 2015-03-31 00:05:48 +02:00
Alexander Nitsch 3fff0e5b3c Fix MinGW detection on x86
Make detection of x64 using the gcc's target triplet identical
to the one used in cmake/OpenCVDetectCXXCompiler.cmake.
Otherwise, MinGW-w64 setups will always be treated as x64 since
they contain "w64" as vendor key.
2015-03-31 00:05:48 +02:00
Alexander Nitsch 8f84a73b82 Fix MinGW architecture detection
Fix typo that would always lead to detection of x86 for MinGW
builds in the OpenCVConfig.cmake file.
2015-03-31 00:05:47 +02:00
Alexander Nitsch 2e86cedef2 Fix MinGW detection on x86
MinGW-w64 always uses "w64" as vendor key which the previously
used check for "64" anywhere in the target triplet matched. This
would lead to MinGW-w64 setups always being treated as x64.

Turns out we do not even need this additional check since the
architecture has been correctly determined earlier in this file.
No need to do it again.
2015-03-31 00:02:03 +02:00
Vadim Pisarevsky 864b4e3b26 Merge pull request #3873 from Dmitry-Me:reduceVariableScope10 2015-03-30 17:20:39 +00:00
Alexander Alekhin 13a9d4a61f Merge pull request #3888 from alalek:fix_build 2015-03-30 15:52:05 +00:00
Alexander Alekhin d326c77007 fix build (related to PR #3814) 2015-03-30 16:32:00 +03:00
Vadim Pisarevsky 4b0543c887 Merge pull request #3883 from kmsquire:python_cmake_fix 2015-03-30 09:38:18 +00:00
Vadim Pisarevsky fa9c9e791b Merge pull request #3876 from vpisarev:mjpeg_codec 2015-03-30 09:27:10 +00:00
Vadim Pisarevsky ff682a30b3 Merge pull request #3872 from mshabunin:add-rst-link 2015-03-30 09:13:26 +00:00
Alexander Alekhin d279f127c1 Merge pull request #3884 from mshabunin:fix-vc10-build 2015-03-27 18:03:37 +00:00
Vadim Pisarevsky 602d2c33c0 added video writer quality, which user may change dynamically in the case of motion jpeg; enabled NEON intrinsics in the encoder 2015-03-27 15:15:59 +03:00
Maksim Shabunin 56b02331f7 Commented unused constants in the RHO algorithm 2015-03-27 14:36:27 +03:00
Maksim Shabunin fab2a947ca Fix build for VC10 2015-03-27 12:15:26 +03:00
Kevin Squire 5e354fa844 Allow PYTHON_LIBRARY and PYTHON_INCLUDE_DIR to actually be overridden 2015-03-26 17:48:03 -07:00
Vadim Pisarevsky 77cbddf715 Merge pull request #3847 from mshabunin:android-build 2015-03-26 16:56:49 +00:00
Vadim Pisarevsky 1381564a84 Merge pull request #3880 from vpisarev:fix_emd 2015-03-26 16:40:17 +00:00
Vadim Pisarevsky 10e0540e61 Merge pull request #3871 from potpath:patch-1 2015-03-26 13:35:35 +00:00
Vadim Pisarevsky b123870871 Merge pull request #3868 from Dikay900:fix_cudalegacy_without_cudaimgproc 2015-03-26 13:35:12 +00:00
Vadim Pisarevsky b91313a84e initialize the output flow in EMD (thanks to Daniel DeMenthon for the bug report) 2015-03-26 16:26:41 +03:00
Vadim Pisarevsky eff302a231 Merge pull request #3875 from alalek:fix_build 2015-03-26 13:09:01 +00:00
Vadim Pisarevsky 8d1232cc7a fixed warnings; transpose qtab to make it compatible with neon branch 2015-03-26 15:59:49 +03:00
Vadim Pisarevsky 109b696599 Merge pull request #3878 from mshabunin:fix-python 2015-03-26 10:22:11 +00:00
Maksim Shabunin e94dfcee0d Add python test for inheritance structure generation 2015-03-26 11:43:49 +03:00
Maksim Shabunin 82adf7955f Fix python submodules inheritance detection 2015-03-26 11:22:56 +03:00
Vadim Pisarevsky 3df6b6fdcf added self-contained motion jpeg encoder (filename should end with .avi; fourcc should be "MJPG" 2015-03-26 00:39:29 +03:00
Alexander Alekhin 32da602bf7 fix build (related to PR #3814) 2015-03-25 19:12:36 +03:00
Dmitry-Me 75a65542ba Reduce variables scope 2015-03-25 17:17:06 +03:00
Vadim Pisarevsky 97bdc92d1b Merge pull request #3870 from Dmitry-Me:reduceVariableScope9 2015-03-25 13:32:33 +00:00
Maksim Shabunin 313e799df5 Add link to old documentation format 2015-03-25 16:27:35 +03:00
Dikay900 3465cef689 disable cuda::OpticalFlowNeedleMap if configured without cudaimgproc
disable cuda::FastOpticalFlowBM if configured without cudaarithm
2015-03-25 13:47:53 +01:00
potpath 86c7d601b0 Fix a typo in template_matching.markdown
Fix a typo in first equation under method=CV_TM_CCOEFF.
2015-03-25 18:07:01 +07:00
Vadim Pisarevsky 0545aeb11b Merge pull request #3670 from obilaniu:master 2015-03-25 10:10:05 +00:00
Vadim Pisarevsky bd7c78ffd5 Merge pull request #3866 from tdsmith:python-linkage 2015-03-25 09:51:20 +00:00
Dmitry-Me 6318409a5d Reduce variable scope 2015-03-25 10:35:11 +03:00
Vadim Pisarevsky f6c561a01b Merge pull request #3634 from mshabunin:transition-guide 2015-03-24 16:10:19 +00:00
Maksim Shabunin dddba2637f Changed Android Manager version to 3.0 2015-03-24 18:57:29 +03:00
Vadim Pisarevsky 5501cfd809 Merge pull request #3814 from erikrk:denoising-16bit-master 2015-03-24 15:23:58 +00:00
Vadim Pisarevsky 7ea0239776 Merge pull request #3835 from StevenPuttemans:upgrade_traincascade_memory_master 2015-03-24 15:19:56 +00:00
Vadim Pisarevsky 3c51fdffac Merge pull request #3849 from Dikay900:fix_tilted_features_crash 2015-03-24 15:19:13 +00:00
Vadim Pisarevsky f7f10a7d2c Merge pull request #3854 from Dmitry-Me:reduceVariableScope8 2015-03-24 15:13:34 +00:00
Vadim Pisarevsky d7cb99254e Merge pull request #3858 from MSOpenTech:fix-ml-test 2015-03-24 15:09:53 +00:00
Vadim Pisarevsky 70ff448067 Merge pull request #3859 from NewProggie:fix-doc-typo 2015-03-24 15:08:03 +00:00
Vadim Pisarevsky 54deb5ed5a Merge pull request #3860 from theodr:document_hconcat_vconcat 2015-03-24 15:07:34 +00:00
Vadim Pisarevsky 72b3dcd8b5 Merge pull request #3861 from wangyan42164:cascade_optimizing 2015-03-24 15:07:12 +00:00
Vadim Pisarevsky 174593643c Merge pull request #3863 from MSOpenTech:fix_winrt_linker 2015-03-24 15:05:43 +00:00
Vadim Pisarevsky dec722b2ee Merge pull request #3864 from MSOpenTech:removed-unused-winrttest 2015-03-24 15:05:15 +00:00
Vadim Pisarevsky f18eba44f8 Merge pull request #3867 from RafaRuiz:patch-1 2015-03-24 15:04:45 +00:00
theodore 02c3d8d792 documentation for the hconcat and vconcat functions 2015-03-24 13:59:09 +01:00
RafaRuiz 660a53e0e0 Update lkdemo.cpp because of memory leak
In MacOSx x64 it was getting a memory leak even without initializing points:
http://code.opencv.org/issues/4250
2015-03-24 09:06:55 +00:00
Tim D. Smith b9b743bbe3 Don't explicitly link Python on OS X
Explicitly linking to a Python framework on OS X prevents modules from
being built against one Python (i.e. system python) and imported from
another (i.e. Homebrew python); the interpreter segfaults if there's a
linkage to a foreign Python. Building the module with `-undefined
dynamic_lookup` instead of an explicit link allows the symbols to be
resolved at load time from a compatible python.
2015-03-23 23:36:46 -07:00
Erik Karlsson 01d3df0d00 Added normType parameter to fastNlMeansDenoisingMulti 2015-03-24 02:01:31 +01:00
Erik Karlsson 70a64ebe72 Added test cases 2015-03-24 01:16:17 +01:00
Erik Karlsson 5f8d688664 Added parameter normType to fastNlMeansDenoising 2015-03-24 00:47:11 +01:00
Erik Karlsson 9fff7896c5 Removed fastNlMeansDenoisingColored[Multi]Abs 2015-03-23 23:23:35 +01:00
Evgeny Agafonchikov c196df6db0 Do not link vfw32 library for WinRT
HAVE_VFW flag is defined by CMake try_compile check.

Check fails for WINRT as vfw.h begins with

and contains empty set of functions for Store apps.

So we can safely remove vfw32.lib for WINRT in general

(independently of availability for specific configuration)
2015-03-23 20:45:58 +03:00
Evgeny Agafonchikov 17d36b7835 Removing unused winrttest.cpp file 2015-03-23 16:56:50 +03:00
Maksim Shabunin e64188021a Merge pull request #3862 from mshabunin:abi-contrib-disable 2015-03-23 13:26:46 +00:00
Maksim Shabunin 796bf01797 Do not compare extra modules in ABI check 2015-03-23 13:10:40 +03:00
Yan Wang 433c3da7cf Optimize the performance of cascade OpenCL kernel.
1. Use built-in mad() instead of += and *.
2. For stump stages, if weight.z == 0, avoid unnecessary calculation
because some features only have 2 rectangles..

It could improve
OCL_Cascade_Image_MinSize_CascadeClassifier.CascadeClassifier/*
about 10% mean values.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-03-23 17:47:40 +08:00
Vadim Pisarevsky 5a0c7a1330 Merge pull request #3853 from alalek:ocl_fix_bufferpool_cleanup 2015-03-23 08:10:22 +00:00
Vadim Pisarevsky 7ab7322915 Merge pull request #3848 from yxiong:fix-4125 2015-03-23 08:04:41 +00:00
Vadim Pisarevsky daa99514fa Merge pull request #3846 from mshabunin:fix-headers 2015-03-23 08:01:25 +00:00
Kai Wolf f815bbab24 Fix typo in types_c.h 2015-03-22 10:55:54 +01:00
Evgeny Agafonchikov 91bd7df8c1 Fixing invalid opencv_test_ml calls 2015-03-20 17:49:03 +03:00
Dikay900 fb8478eb7b add resetting the offset variable after setting a new image 2015-03-20 13:26:13 +01:00
Vadim Pisarevsky d2da7dc3e5 Merge pull request #3841 from MSOpenTech:samples-contrib 2015-03-20 10:48:51 +00:00
Dmitry-Me ce167e233b Reduce variable scope 2015-03-20 13:27:08 +03:00
Alexander Alekhin b5529aef9c ocl/bufferpool: fix cleanup 2015-03-20 13:21:10 +03:00
Vadim Pisarevsky 8616cd875b Merge pull request #3836 from Dmitry-Me:uninitializedMember 2015-03-20 10:03:11 +00:00
Vadim Pisarevsky 072a4b5497 Merge pull request #3851 from ellbur:findTransformECC-initialize-bug 2015-03-20 09:34:04 +00:00
Owen Healy 86fb9f8409 Modify findTransformECC to support a mask of pixels to consider
Tests of the mask are also included.

This is useful for registering a non-square image against a non-square
template.

This also needs to relax a sanity check as per
https://github.com/Itseez/opencv/pull/3851
2015-03-19 22:16:32 -04:00
Owen Healy ff48387a8a Fix bug of uninitialized matrix in findTransformECC
The matrix templateZM needs to be initialized because otherwise
uninitialized values leak into the correlation in:

    const double correlation = templateZM.dot(imageWarped)

In the worst case this will lead the correlation to be NaN ruining the
whole routine. The subtraction does not initialize templateZM due to the
mask.

Unfortunately, the uninitialized values (by altering the correlation)
have the side effect of dragging out the computation a little longer
giving a slightly better error bound. This means that fixing this bug
breaks perf_ecc where

    SANITY_CHECK(warpMat, 1e-3);

is just a little too tight and happens to work due to the uninitialized
values. Since this is a performance not a accuracy test I think it is OK
to just relax the error bound a little bit (the tight error bound being
after all the result of a bug).
2015-03-19 20:50:49 -04:00
Dikay900 80069f384a resolve crash of haarclassifier when using a tilted feature 2015-03-19 20:47:33 +01:00
Ying Xiong decbdd1abb Fix compiler error on std::swap (CUDA7.0/clang/OSX) 2015-03-19 14:23:44 -04:00
Vadim Pisarevsky 9683f93a76 Merge pull request #3840 from MSOpenTech:concurrency-contrib 2015-03-19 15:11:01 +00:00
Maksim Shabunin ee4bea72bf Reverted unneeded change 2015-03-19 15:51:12 +03:00
Vadim Pisarevsky 9997e6d337 Merge pull request #3823 from lupustr3:pvlasov/implementation_detector_update 2015-03-19 12:47:22 +00:00
Maksim Shabunin 9f08310307 Disabled TrainData::getNormCatValues wrapping due to pointer in parameters 2015-03-19 15:45:34 +03:00
Vadim Pisarevsky e92645c588 Merge pull request #3838 from PhilLab:patch-3 2015-03-19 12:33:56 +00:00
Vadim Pisarevsky e157d70d43 Merge pull request #3837 from mshabunin:abi-compliance 2015-03-19 12:30:32 +00:00
Maksim Shabunin 231685133e OpenCV Manager: support 3.0.0 library 2015-03-19 15:27:14 +03:00
Maksim Shabunin 9b9ebe0999 Ported from 2.4 2015-03-19 15:25:44 +03:00
Maksim Shabunin 5709ec85d7 Disabled missing python method for static ml function 2015-03-19 15:11:49 +03:00
Maksim Shabunin fab51ac0af Removed blank line at EOF 2015-03-19 13:34:19 +03:00
Maksim Shabunin 5247eacc3c Add python and java support for ml module 2015-03-19 13:22:30 +03:00
Maksim Shabunin 4d7d354498 Added to TOC 2015-03-19 13:18:10 +03:00
Maksim Shabunin 8779d029b2 Added transition (from 2.4) guide 2015-03-19 13:15:08 +03:00
Maxim Kostin 349e3b546a Fixed 'doc' builder warnings. 2015-03-18 17:44:49 +03:00
Maksim Shabunin d5b954c2d4 Moved property implementation macros to private header 2015-03-18 17:33:12 +03:00
Maksim Shabunin 7335a40a61 Replaced CV_PURE_PROPERTY macros with corresponding code 2015-03-18 17:23:42 +03:00
Maxim Kostin 5ec908c5f0 Added WinRT 8.1 Modern Desktop JavaScript sample 2015-03-18 16:31:27 +03:00
Maxim Kostin d1a8171011 Added WinRT concurrency support. 2015-03-18 15:13:08 +03:00
Olexa Bilaniuk 8a1d8c8470 Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-03-18 02:21:36 -04:00
Olexa Bilaniuk 6d27d488bf Bugfix in n* optimization.
Similar to the problem in LevMarq, arg.inl was being used instead of
best.inl. This opened us up to a potential segfault.
2015-03-18 02:21:16 -04:00
Philipp Hasper e0efda7145 Fixed persistent.hpp documentation
Small error - object fs does not exist in this code example
2015-03-17 15:28:37 +01:00
Maksim Shabunin 9fbc92aace Added cmake option for abi descriptor generating (GENERATE_ABI_DESCRIPTOR) 2015-03-17 16:04:04 +03:00
Dmitry-Me 0c5faa6d24 Fix uninitialized members, fix log output typo 2015-03-17 14:47:00 +03:00
Vadim Pisarevsky e12a04ac7e Merge pull request #3811 from StevenPuttemans:fix_traincascade_getNegatives_master 2015-03-17 11:22:10 +00:00
Vadim Pisarevsky 903f10c237 Merge pull request #3804 from polarfuchs99:master 2015-03-17 11:12:49 +00:00
Vadim Pisarevsky 0f4d57d59e Merge pull request #3833 from sgrayb:houghline_bugfix 2015-03-17 10:37:10 +00:00
Vadim Pisarevsky b708969326 Merge pull request #3832 from Dmitry-Me:fixNullPointerDereference3 2015-03-17 10:36:52 +00:00
Vadim Pisarevsky 8cf45ce0af Merge pull request #3828 from vpisarev:fix_win32_perf_calib3d_solvepnp_failure 2015-03-17 10:34:53 +00:00
StevenPuttemans d0ad599a24 update traincascade assigned memory buffers 2015-03-17 09:00:41 +01:00
Dmitry-Me 52a8d37f11 Fix potential null pointer dereference 2015-03-16 18:36:12 +03:00
Vadim Pisarevsky ca19ae8b5a in solvePnPRansac call the solvePnP in the end with all the inliers to get more precise estimate 2015-03-16 16:56:26 +03:00
Vadim Pisarevsky 5c352c9146 temporarily use EPNP in SolvePnP instead of UPNP or DLS algorithms, since the latter two are not quite stable 2015-03-16 12:46:24 +03:00
Vadim Pisarevsky 3c54c50c5a Merge pull request #3802 from sanuj:master 2015-03-16 09:25:41 +00:00
Vadim Pisarevsky f80e7530f3 Merge pull request #3827 from MSOpenTech:license-26 2015-03-16 09:11:24 +00:00
Vadim Pisarevsky c6e9280373 Merge pull request #3816 from ilya-lavrenov:il/cvround 2015-03-16 09:09:55 +00:00
Vadim Pisarevsky f9b2444735 Merge pull request #3826 from mshabunin:fix-install-paths 2015-03-16 09:08:54 +00:00
Vadim Pisarevsky 259a54a6dd Merge pull request #3830 from NaerChang:issue.3710 2015-03-16 09:05:42 +00:00
Vadim Pisarevsky a1f86d01e2 Merge pull request #3831 from Dmitry-Me:reduceVariableScope7 2015-03-16 09:05:18 +00:00
Naer Chang cdc9bc397d Revert "issue 3710"
Trying to fix whitespace issue.
This reverts commit dcc2512f58.
2015-03-14 18:32:46 -04:00
Olexa Bilaniuk ac1099deb8 Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-03-14 12:41:56 -04:00
Olexa Bilaniuk 7e3cc44738 More docs on variable accesses.
Listed accesses for more functions.
2015-03-14 12:41:25 -04:00
Dmitry-Me 8ed4bae4dd Reduce variable scope, make formatting consistent with surrounding code 2015-03-14 12:50:42 +03:00
Naer Chang dcc2512f58 issue 3710
added a check to prevent illegal access to operator[] when vector is empty
2015-03-14 02:56:29 -04:00
Scott Graybill 3d2c0ed97f Removed check on limits. A common use of HoughLines would be to restrict theta to be between a small negative number and a small positive number, e.g. -pi/16 to pi/16. This wasn't possible with the previous checks. 2015-03-13 17:04:13 -07:00
Vadim Pisarevsky 1760078f67 trying to make solvePnPSmallPoints pass 2015-03-13 20:11:33 +03:00
Maxim Kostin 79f512337d Changed encoding from ANSI to UTF8. 2015-03-13 19:28:36 +03:00
Vadim Pisarevsky 7e07220440 made the solvepnp a bit more modest; test 5-point configuration instead of 4-point in some cases; reduce the noise in 4-point configurations in other cases 2015-03-13 18:04:23 +03:00
Vadim Pisarevsky 930808c22b Merge pull request #3820 from LorenaGdL:patch-1 2015-03-13 13:20:09 +00:00
Vadim Pisarevsky 04f16965d5 Merge pull request #3780 from StevenPuttemans:fix_locale_master 2015-03-13 13:16:09 +00:00
Vadim Pisarevsky 133bd56436 Merge pull request #3769 from adamgreig:fix-py3-submodules 2015-03-13 13:15:51 +00:00
Vadim Pisarevsky 18904036dc Merge pull request #3825 from alalek:fix_msvs2010_build 2015-03-13 13:02:43 +00:00
Maxim Kostin 6cef4eba29 Replacing license headers per PR-3700 feedback. Updates #26 2015-03-13 14:33:09 +03:00
Maksim Shabunin 632afe6ae3 Fixed mangled install layout on unix machines 2015-03-13 14:18:37 +03:00
Alexander Alekhin 50b99e5aef fix compilation on MSVS2010 2015-03-12 19:07:53 +03:00
Pavel Vlasov 085409340e Implementation collector update;
Moved out of TLS to properly collect data from different threads;
Concurrent access guards were added to collection functions;
2015-03-12 17:58:03 +03:00
Vadim Pisarevsky 74e88cc0f1 Merge pull request #3801 from StevenPuttemans:add_parameter_info_annotation_master 2015-03-12 14:28:19 +00:00
Vadim Pisarevsky 79a77cb91f Merge pull request #3819 from MSOpenTech:readme-24 2015-03-12 13:11:59 +00:00
Vadim Pisarevsky 06703c9d56 Merge pull request #3817 from SpecLad:forward-ports 2015-03-12 12:15:24 +00:00
Vadim Pisarevsky 362c1a23ea Merge pull request #3821 from i-ito:master-flann-lsh-addable-index 2015-03-12 12:14:23 +00:00
ippei ito 518fd59a10 fixed whitespace error 2015-03-12 01:09:15 +09:00
ippei ito 49b38fe793 Fixed compile error build with VisualStudio2013 on windows.
REG_NONE defined in ml.hpp conflicts with defined in Winnt.h
2015-03-12 00:32:17 +09:00
LorenaGdL b21b24fd8a Update train_HOG.cpp
Incorrect number of input arguments in main function
2015-03-11 14:18:07 +01:00
Ilya Lavrenov 6f8b3fc633 cvRound 2015-03-11 16:14:39 +03:00
Maxim Kostin b194812f5a Fixed trailing whitespace. 2015-03-11 13:22:22 +03:00
Adam Greig 211a131351 Fix Python3 binding's submodules
Previously the Python3 cv2 package ends up with no submodules (bgsegm, face,
etc) in it, which makes a lot of functionality unusable. By not writing over
our root reference we ensure the new submodules are added to the correct cv2
module.
2015-03-10 22:07:53 +00:00
Maxim Kostin 052c010d3f Reformatted since this is not a markdown file 2015-03-10 17:02:31 +03:00
Max Kostin deb2cb752b Updates README for setup_script
Updates README to reflect setup_script build capabilities and requirements to setup binaries and includes for sample applications. Fixes #24
2015-03-10 16:58:06 +03:00
Roman Donchenko c71e94f054 Mark the libs component required
Everything else depends on it, after all.

(cherry picked from commit cf54e3b97e)

Conflicts:
	cmake/OpenCVPackaging.cmake
2015-03-10 16:24:23 +03:00
Roman Donchenko 8a732e306f Add component display names
(cherry picked from commit 6d52ea8984)
2015-03-10 16:24:23 +03:00
Roman Donchenko 87eb3f6e68 Update the CPack variables to match the changes in asmorkalov/CMake#1
Which also happens to align the non-Debian specific variables
with the ones used by upstream CMake.

(cherry picked from commit b8c60234c3)

Conflicts:
	cmake/OpenCVPackaging.cmake
2015-03-10 16:24:23 +03:00
Roman Donchenko 35760bb6bf Add a script to run all tests on Windows
It's pretty much a simplified copy of the Linux script, lacking fancy colors.
Also, I had to drop Python testing, because it's not easy to pass the Python
module location to the script, and I have no pressing need to run the Python
tests at the moment.

(cherry picked from commit c1e3ca170e)

Conflicts:
	CMakeLists.txt
2015-03-10 16:24:23 +03:00
Roman Donchenko 592122bf4f Install data on Windows
Because why not?

(cherry picked from commit e8a7394009)

Conflicts:
	data/CMakeLists.txt
2015-03-10 12:55:17 +03:00
Roman Donchenko 1a3273a7e3 Remove useless CPACK_*_COMPONENT_INSTALL variables
They don't actually do anything. And even if they did, all components are
enabled by default, anyway.

(cherry picked from commit 49fe496914)

Conflicts:
	cmake/OpenCVPackaging.cmake
2015-03-10 12:53:28 +03:00
Roman Donchenko 34ad2e0fa4 Fix a memory leak in CvCapture_FFMPEG::close
FFmpeg now requires that frames allocated with avcodec_alloc_frame are
freed with avcodec_free_frame.

(cherry picked from commit 77578d415f)

Conflicts:
	modules/highgui/src/cap_ffmpeg_impl.hpp
2015-03-10 12:48:46 +03:00
Roman Donchenko 1858b5cfba Don't install documentation if it isn't built
The HAVE_DOC_GENERATOR variable was always true.

(cherry picked from commit 3d46c1f960)

Conflicts:
	doc/CMakeLists.txt
2015-03-10 12:46:00 +03:00
Roman Donchenko 6274e1fc5f cvOpenFileStorage: reduce the scope of xml_buf and make sure it's freed...
... before any exceptions occur.

(cherry picked from commit 08da247a87)
2015-03-10 12:38:45 +03:00
Roman Donchenko 6b8ebf3e94 Fix memory leaks appearing when cvOpenFileStorage throws
(cherry picked from commit 16ce114e0c)
2015-03-10 12:38:45 +03:00
Erik Karlsson 82c54104d6 Fix warnings on Win x64 2015-03-10 01:39:43 +01:00
Erik Karlsson 812edb5fdc Fixed bug, maxDist() should reurn int, not double 2015-03-10 01:34:02 +01:00
Erik Karlsson 8aa0783995 Changed parameter type of fastNlMeansDenoising[Multi][Abs] from std::vector<float> to const std::vector<float>& 2015-03-09 23:47:49 +01:00
Vadim Pisarevsky baf191fab2 Merge pull request #3771 from mshabunin:arm-round 2015-03-09 21:49:15 +00:00
Vadim Pisarevsky 3ee03a860d Merge pull request #3803 from Dmitry-Me:doubleUsedAsBoolean 2015-03-09 21:47:09 +00:00
Vadim Pisarevsky 368213290f Merge pull request #3806 from enpe:master 2015-03-09 21:44:33 +00:00
Vadim Pisarevsky 192e630cb8 Merge pull request #3807 from guopei:patch-1 2015-03-09 21:41:41 +00:00
Vadim Pisarevsky a9ce2333c3 Merge pull request #3808 from guopei:patch-2 2015-03-09 21:41:02 +00:00
Vadim Pisarevsky 64bd77cf4d Merge pull request #3794 from vpisarev:ubuntu_x86_fixes 2015-03-09 21:34:17 +00:00
Erik Karlsson 5a7118a88b Merging in master 2015-03-09 22:00:58 +01:00
Erik Karlsson b471f9ee26 Fixed call to tegra::fastNlMeansDenoising 2015-03-09 18:52:25 +01:00
hahne 1af4521239 fix for issue 1915 2015-03-09 16:19:47 +01:00
Erik Karlsson 4b5753daea Corrected documentation 2015-03-09 16:11:18 +01:00
Erik Karlsson a594a0677a Cleanup 2015-03-09 16:00:24 +01:00
Erik Karlsson c44488629a Changed parameters of fastNlMeansDenoising[Multi][Abs] from float * to std::vector<float> 2015-03-09 15:52:16 +01:00
StevenPuttemans bf16f74618 fixing universal location execution 2015-03-09 13:11:29 +01:00
guopei f94b22fa5e grammar fix: then -> than 2015-03-08 18:59:28 +08:00
guopei 0e5c7720a4 grammar fix: a -> the 2015-03-08 18:51:48 +08:00
Nils Plath ee55e4595c - Fixed compile error that appeared with Clang 5.1 on Mac 10.8.5:
modules/videoio/src/cap_gstreamer.cpp:577:31: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
            filename = "v4lsrc ! "COLOR_ELEM" ! appsink";
                              ^
    modules/videoio/src/cap_gstreamer.cpp:585:32: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]
            filename = "v4l2src ! "COLOR_ELEM" ! appsink";
2015-03-08 00:23:38 +01:00
Prof. Dr. Rudolf Haussmann 5e3d986ad8 Merge remote-tracking branch 'upstream/master' 2015-03-07 13:10:41 +01:00
Prof. Dr. Rudolf Haussmann 9f1eb70dbc Changes to be committed:
(use "git reset HEAD <file>..." to unstage)

	modified:   modules/java/generator/gen_java.py
	modified:   modules/videoio/include/opencv2/videoio.hpp
	modified:   modules/videoio/include/opencv2/videoio/videoio_c.h
	modified:   modules/videoio/src/cap_dshow.cpp
	modified:   modules/videoio/src/cap_pvapi.cpp

Following changes have been made:
1. Some minor bugs have been removed.
2. In the PvAPI module the option CAP_PROP_MONOCROME has been removed because
   this option does not make sense and causes an error if a color camera is used.
3. Instead the new option CAP_PROP_PVAPI_PIXELFORMAT has been added which allows
   to activate the different pixel formats (color modes) of an AVT camera.
4. Since there were two identical defines
   CAP_PROP_MONOCROME = 19
   CAP_PROP_MONOCHROME = 19
   which were also used in the other module DSHOW, the first one with an orthographic
   error has been removed in favor of the second one.
2015-03-07 12:53:32 +01:00
Erik Karlsson 21160137d4 Addition of test cases 2015-03-06 20:44:31 +01:00
Erik Karlsson cc8d94c6fc Addition of per-channel h-values for fastNlMeansDenoising[Multi][Abs] 2015-03-06 20:43:55 +01:00
Erik Karlsson 324fa26848 Refactoring of OpenCL implementation 2015-03-06 19:07:13 +01:00
Olexa Bilaniuk 9c432f4f75 Silence Windows warnings. 2015-03-06 12:16:38 -05:00
Olexa Bilaniuk d6534912d8 Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-03-06 09:25:01 -05:00
Olexa Bilaniuk 2113636d29 Made seed a constant. 2015-03-06 09:24:45 -05:00
Olexa Bilaniuk fcdbacdbb0 Corrected initialization of smart pointer. 2015-03-06 09:15:00 -05:00
Erik Karlsson 41ffcc27dd Added support for h = 0.0 2015-03-06 15:06:11 +01:00
Dmitry-Me 135701feac Double used as boolean for no reason 2015-03-06 17:04:54 +03:00
Vadim Pisarevsky 643bbb2d93 looks like Maksim was right; the new fix does not do the second attempt to detect python libs, it finds it correctly with the first attempt 2015-03-06 16:57:38 +03:00
sanuj 441cd22343 Add documentation for solvePnP in calib3d 2015-03-06 19:18:22 +05:30
Erik Karlsson 1e82a67cc4 Additional refactoring 2015-03-06 14:28:43 +01:00
Maksim Shabunin ee2d7a1f39 Fixed warnings for iOS 2015-03-06 16:16:57 +03:00
Maksim Shabunin 451972f3cf Added ARM implementation in cvRound function
- note: uses VFPv3 instructions
- also added overloaded cvRound variants with float and int parameters
- thanks to Marina Kolpakova from Itseez for idea
- thanks to developers from #llvm IRC channel for help with inline asm
2015-03-06 16:14:37 +03:00
StevenPuttemans a58bfbf3c7 info on how to use the tool 2015-03-06 13:52:02 +01:00
Vadim Pisarevsky 4aa6d10a60 added Maksim's fix as well; they both handle correctly more cases than each of them individually 2015-03-06 15:48:36 +03:00
StevenPuttemans cef2cf2852 fixing locale settings - making it universal 2015-03-06 13:13:53 +01:00
Vadim Pisarevsky 5d8a1bf813 explained reason why IPP is disabled on 32-bit Linux. disable IPP's minMaxLoc_32f on 32-bit OSes only 2015-03-06 15:02:22 +03:00
Vadim Pisarevsky 361eb633f6 Merge pull request #3795 from samyak-268:sqr-filter-doc 2015-03-06 10:22:56 +00:00
Vadim Pisarevsky fd7a76fe5d Merge pull request #3796 from enpe:master 2015-03-06 10:21:57 +00:00
Vadim Pisarevsky 092f599aac Merge pull request #3797 from Dmitry-Me:reduceVariableScope6 2015-03-06 10:20:45 +00:00
Vadim Pisarevsky a65dbc5dcd Merge pull request #3793 from sanuj:master 2015-03-06 10:20:16 +00:00
Vadim Pisarevsky 8c69266cbf Merge pull request #3786 from jviney:fix_background_subtractor_knn_width_step 2015-03-06 10:17:43 +00:00
Dmitry-Me 2fb4178f7c Reduce variable scope 2015-03-06 10:17:37 +03:00
Nils Plath 32d56c6b43 Fixed: wrong conversion of float-based Mat input inside the AKAZE. 2015-03-05 23:55:07 +01:00
Samyak Datta 20efcff166 Added doxygen comments for sqrBoxFilter() method 2015-03-06 03:50:51 +05:30
Erik Karlsson c41efe4e30 Refactoring in preparation for per-channel h-values 2015-03-05 17:50:52 +01:00
Alexander Alekhin 4e87deae28 Merge pull request #3790 from StevenPuttemans:fix_cmakelist_annotation_master 2015-03-05 16:01:39 +00:00
Vadim Pisarevsky 7a52c3d9f1 1) make sure Python 2.7 is detected on Ubuntu (including libs) when it's there.
2) disable IPP on 32-bit Linux when OpenCV is built as shared libs. Otherwise we get linker errors
3) disable IPP's minMaxIdx 32-bit floating-point flavor in a hope that it fixes some test failures
2015-03-05 18:58:54 +03:00
sanuj 1f53b65511 Fix documentation in python binding tutorial 2015-03-05 20:00:19 +05:30
StevenPuttemans 217f628915 update cmakelists for annotation tool 2015-03-05 14:46:52 +01:00
Erik Karlsson 18be52c05b Changed LUTs from IT to int 2015-03-05 13:55:06 +01:00
Erik Karlsson 305cff36e2 Changed from IT to int for distance calculation 2015-03-05 13:36:42 +01:00
Vadim Pisarevsky 2baf1a3c9f Merge pull request #3788 from berak:fix_features2d_tut 2015-03-05 12:22:50 +00:00
Vadim Pisarevsky aa113c5a85 Merge pull request #3787 from Dmitry-Me:fixNullPointerDereference2 2015-03-05 12:19:02 +00:00
berak b7f2a4da69 fix features2d tutorials 2015-03-05 10:26:45 +01:00
Dmitry-Me d164d51380 Fix potential null pointer dereference 2015-03-05 10:31:51 +03:00
Vadim Pisarevsky f9b8ce1d25 Merge pull request #3784 from ilya-lavrenov:nvidia_android 2015-03-05 06:43:03 +00:00
Jonathan Viney 4f24dc0959 Fix KNN background subtraction not honoring width step. 2015-03-05 12:46:07 +13:00
Vadim Pisarevsky 0b99f6bcd6 Merge pull request #3777 from ilya-lavrenov:nvidia_cvtcolor_eps 2015-03-04 13:53:41 +00:00
Ilya Lavrenov cf4c79ebdd disabled some kernels for Android && NVidia 2015-03-04 14:46:49 +03:00
Vadim Pisarevsky e4bc592c46 Merge pull request #3583 from oresths:tbb_canny 2015-03-04 10:49:27 +00:00
Vadim Pisarevsky ebac739a35 Merge pull request #3781 from Dmitry-Me:dangerousStringManipulation 2015-03-04 10:45:25 +00:00
Olexa Bilaniuk 52e67c1a29 Whitespace & Doc fixes on lower half of rho.cpp.
Spaced methods & functions more consistently, and started documenting
which members does each method access directly or through its callers
within RHO_HEST_REFC.
2015-03-04 05:04:52 -05:00
Dmitry-Me f8c454733b Remove dangerous string manipulation, merge declaration with assignment 2015-03-04 10:35:06 +03:00
Olexa Bilaniuk 27fd810b6f Silenced build warnings on Windows. 2015-03-04 02:09:59 -05:00
Olexa Bilaniuk 736b42b372 Refactorings and renamings.
- Deleted "RefC" from names of external-interface functions.
- Renamed rhorefc.[cpp|hpp] to rho.[cpp|hpp]
- Introduced RHO_HEST base class, from which RHO_HEST_REFC inherits.
- rhoInit() currently only returns a Ptr<RHO_HEST_REFC>, but in the
future it will be allowed to return pointers to other derived classes,
depending on the values returned by cv::checkHardwareSupport().
2015-03-04 01:43:13 -05:00
Olexa Bilaniuk 3a4d9a77b2 Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-03-03 23:15:05 -05:00
Olexa Bilaniuk 408f93340a External interface converted to use OpenCV Ptr<> smart pointer. 2015-03-03 23:12:33 -05:00
Olexa Bilaniuk f592321771 Internal buffers converted to use OpenCV dynamic memory allocation. 2015-03-03 22:57:40 -05:00
Vadim Pisarevsky 4bb496409c Merge pull request #3779 from Dmitry-Me:uniformComputationOfVariableSize 2015-03-03 18:51:56 +00:00
Vadim Pisarevsky c9ea878d10 Merge pull request #3722 from berak:py_houghlines_sample 2015-03-03 18:16:25 +00:00
Vadim Pisarevsky 4701b22e14 Merge pull request #3607 from soyersoyer:yuyv_pixfmt 2015-03-03 18:15:50 +00:00
Olexa Bilaniuk bb01231990 Substituted the NaN check with OpenCV's implementation. 2015-03-03 13:06:36 -05:00
Olexa Bilaniuk e7d5e57264 Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-03-03 11:56:03 -05:00
Olexa Bilaniuk 16f36a5fda Replaced division by reciprocal + multiply in a few places. 2015-03-03 11:55:36 -05:00
Olexa Bilaniuk e1abc416cf Changed seeding in initialization.
The call to rand()/random() is now a call to (unsigned)cv::theRNG().
2015-03-03 11:48:41 -05:00
Olexa Bilaniuk 0f6ea38eac Added OPENCV_ prefix to #include guard. 2015-03-03 11:42:04 -05:00
Olexa Bilaniuk a2affe70d9 Deleted last remnants of restrict keyword. 2015-03-03 11:40:44 -05:00
Vadim Pisarevsky dcff28b778 Merge pull request #3717 from Dmitry-Me:removeUnneededIndirections 2015-03-03 16:15:25 +00:00
Dmitry-Me c587bae997 Uniform computation of variable size 2015-03-03 16:11:07 +03:00
Olexa Bilaniuk b229d6b7ac Moved constants to cv:: namespace. 2015-03-03 08:05:52 -05:00
Vadim Pisarevsky 62b8895814 Merge pull request #3654 from StevenPuttemans:add_annotation_master 2015-03-03 12:53:07 +00:00
Vadim Pisarevsky 6820292256 Merge pull request #3700 from MSOpenTech:winrt-cmake-contrib 2015-03-03 12:52:03 +00:00
Vadim Pisarevsky d3b74cdcb2 Merge pull request #3773 from ilya-lavrenov:warning 2015-03-03 12:33:17 +00:00
Vadim Pisarevsky f38339c089 Merge pull request #3775 from Dmitry-Me:reduceVariableScope5 2015-03-03 12:29:18 +00:00
Ilya Lavrenov 26eebb3ee3 increased EPS for cvtColor for NVIDIA 2015-03-03 15:26:51 +03:00
Dmitry-Me 1b7066fc95 Reduce variable scope, only compute values that are used later 2015-03-03 11:04:22 +03:00
Erik Karlsson 69eae13ff3 Changed pointers from sample_t * to uchar *. Rescaling psz accordingly. 2015-03-03 03:02:44 +01:00
Erik Karlsson d56d04e41b Updated documentation 2015-03-03 01:34:29 +01:00
Erik Karlsson ac6771f975 Added test cases 2015-03-03 01:20:33 +01:00
Erik Karlsson ae08884854 Added support for 4-component input for fastNlMeansDenoising[Multi][Abs] 2015-03-03 01:19:34 +01:00
Olexa Bilaniuk ed2a23768e Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-03-02 17:55:34 -05:00
Erik Karlsson 87760d13fb Cleanup and addition of 4-component support for ocl_fastNlMeansDenoising 2015-03-02 22:33:14 +01:00
Vadim Pisarevsky 7c7a63bebc Merge pull request #3772 from Dmitry-Me:reduceVariableScope4 2015-03-02 19:52:18 +00:00
Vadim Pisarevsky aa506c6521 Merge pull request #3759 from mshabunin:wrap-all 2015-03-02 19:51:42 +00:00
Maxim Kostin ad1149ff12 Enabled property sheets for WinRT related samples 2015-03-02 22:26:46 +03:00
Maxim Kostin 530c8dc0c0 Fixing 'doc' buildbot job: removing trailing whitespaces and tab indents
Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-03-02 22:26:45 +03:00
Maxim Kostin 22a30af353 Fixing buildbot job:
- explicitly turning OCL off since WinRT does not support it
 - fixing macro definitions in core/ocl.cpp

Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-03-02 22:26:45 +03:00
Maxim Kostin 213a6bc5c4 Adding Widows Phone 8 sample apps
Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-03-02 22:26:45 +03:00
Maxim Kostin 59d6a281cd Added WinRT Universal Apps samples
Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-03-02 22:26:44 +03:00
Maxim Kostin 5810845777 Added and updated WinRT samples
Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-03-02 22:26:44 +03:00
Maxim Kostin 86ebf4a2d8 Added build script to automate generating, building and installing OCV for WinRT, WindowsPhone 8, WindowsPhone 8.1. Added readme and .bat script wrapper. Added standalone script to build and install pre-generated projects.
Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-03-02 22:26:44 +03:00
Maxim Kostin cdd23440c9 Adding support for WinRT(WinPhone 8/8.1 and Win Store) via CMake 3.1
- Substituted HAVE_WINRT with WINRT
- Fixed compilation issues in ocl.cpp and parallel.cpp
- Fixed compiler issue for WP8: "C2678: binary '+' : no operator found which takes a left-hand - Fixed gitignore
- Added #ifdef HAVE_OPENCL to remove compiler warnings in ocl.cpp
- Used NO_GETENV similar to '3rdparty\libjpeg\jmemmgr.c;
- Added ole32.lib for core module (for WindowsStore 8.0 builds)
- Made OpenCV_ARCH aware of ARM

Signed-off-by: Maxim Kostin <v-maxkos@microsoft.com>
2015-03-02 22:26:43 +03:00
Maksim Shabunin 37c74e38f4 Python support 2015-03-02 18:13:00 +03:00
Maksim Shabunin 457123027e Modified java wrapping mechanism 2015-03-02 18:12:30 +03:00
Erik Karlsson 50bb14a0a8 Avoiding unnecessary copy by creating borders in place after RGB -> RGBA conversion 2015-03-02 15:48:00 +01:00
Ilya Lavrenov ffc453ebfd fixed [-Wsign-compare] warning 2015-03-02 16:41:06 +03:00
Dmitry-Me 4e582b131b Reduce veriables scope, move declaration to first use 2015-03-02 16:27:48 +03:00
Vadim Pisarevsky 5850a9b8c3 Merge pull request #3744 from es0m:remotes/upstream/2.4.10.x-prep 2015-03-02 11:38:25 +00:00
Vadim Pisarevsky 22ad72d08e Merge pull request #3690 from theodr:moprh_lines_detection_tut 2015-03-02 11:36:15 +00:00
Vadim Pisarevsky e28a5803d9 Merge pull request #3742 from StevenPuttemans:fix_4151 2015-03-02 11:30:16 +00:00
Vadim Pisarevsky e9d30a9383 Merge pull request #3746 from theodr:pca_tutorial 2015-03-02 11:29:33 +00:00
Vadim Pisarevsky e43a14ccd2 Merge pull request #3750 from Dmitry-Me:reduceVariableScope3 2015-03-02 10:55:37 +00:00
Vadim Pisarevsky de0997ab32 Merge pull request #3749 from alalek:fix_android_camera_master 2015-03-02 10:55:16 +00:00
Vadim Pisarevsky 8e37a693e5 Merge pull request #3758 from ilya-lavrenov:aarch64 2015-03-02 10:50:31 +00:00
Vadim Pisarevsky 845d3edb67 Merge pull request #3757 from ilya-lavrenov:popcnp 2015-03-02 10:50:08 +00:00
Vadim Pisarevsky 0a5df01626 Merge pull request #3763 from laomaiweng:patch-1 2015-03-02 10:35:40 +00:00
Vadim Pisarevsky f3f2f8ba97 Merge pull request #3764 from jet47:runtime-disable-optimizations 2015-03-02 10:35:18 +00:00
Vadim Pisarevsky 7b0abf52b3 Merge pull request #3767 from StevenPuttemans:fix_GPU_cascadeclassifiers 2015-03-02 10:34:12 +00:00
Erik Karlsson 73663dcdd1 Added support for 16-bit input 2015-03-02 03:29:17 +01:00
Erik Karlsson 3bde9e9365 Added test cases 2015-03-01 22:22:09 +01:00
Erik Karlsson a9ff335a89 Added OpenCL support for FastNlMeansDenoisingAbs 2015-03-01 22:21:36 +01:00
Erik Karlsson 9f7cac8c59 Addtion of test cases for CV_8UC3 2015-03-01 21:01:57 +01:00
Erik Karlsson 0fdb95e195 Refactoring and addition of CV_8UC3 to ocl_fastNlMeansDenoising 2015-03-01 20:59:34 +01:00
Olexa Bilaniuk 094f143735 Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-02-28 16:29:54 -05:00
Alexander Alekhin 7d4d286050 Merge pull request #3752 from mshabunin:fix-legacy-cmake-issue 2015-02-27 14:49:25 +00:00
StevenPuttemans aea328e326 fixing CUDA cascade classifiers function and needed models 2015-02-27 14:20:27 +01:00
Vladislav Vinogradov 4254e35f6a merge new setUseOptimizations function with existed setUseOptimized 2015-02-27 14:24:51 +03:00
Vladislav Vinogradov 4800a34be3 do not dump OpenCL info if it is disabled 2015-02-27 12:52:44 +03:00
Vladislav Vinogradov c10f1851cb rename setOptimizations -> setUseOptimizations 2015-02-27 12:52:28 +03:00
Vladislav Vinogradov cda6fed41f move tegra namespace out of cv to prevent conflicts 2015-02-27 12:52:11 +03:00
Olexa Bilaniuk 5748cea80d Removed unnecessary precision in damped Cholesky decomposition.
Cholesky decomposition is stable; It is not necessary to carry it out
internally at double precision if the result will be truncated to single
precision when stored.
2015-02-26 21:47:29 -05:00
Olexa Bilaniuk 43a4124bdd Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-02-26 20:47:16 -05:00
Quentin Minster 98d7e52b0a Update OpenCVDetectCUDA.cmake
Add check for CUDA version >= 7.0 (currently in RC1), which drops support for arches 1.x.
2015-02-27 00:41:31 +01:00
Vladislav Vinogradov d696fac8b8 move cuda tests from core to cudaarithm 2015-02-26 19:49:12 +03:00
Ilya Lavrenov c5a80193a8 aarch64 support 2015-02-26 19:43:32 +03:00
Vladislav Vinogradov 57b8640a76 disable all optimizations for CUDA tests 2015-02-26 19:36:13 +03:00
Vladislav Vinogradov 12180bd7b1 add generic method to disable/enable all optimizations (IPP, OpenCL, Tegra) 2015-02-26 19:36:04 +03:00
Vladislav Vinogradov 44e41baffe use new functions before all tegra:: calls 2015-02-26 19:34:58 +03:00
Vladislav Vinogradov f8484e3266 add fucntion to control tegra optimizations in run-time 2015-02-26 19:34:20 +03:00
Maksim Shabunin f73c6e6147 Merge pull request #3753 from biicode:biicode_docs 2015-02-26 14:55:43 +00:00
theodore 79bc85fb09 Introduction to PCA tutorial 2015-02-26 15:53:03 +01:00
Olexa Bilaniuk 59d6279d4b Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-02-25 20:26:42 -05:00
Ilya Lavrenov b963d84b41 fixed bug #4215 2015-02-25 21:57:17 +03:00
mariadeanton 191336de97 Added biicode docs to introduction tutorials
biicode docs added with fixes
fixed biicode docs

added biicode docs
added biicode docs

fixed #include typos

fixed whitespaces and tabs in indent

fixed whitespaces

small fixes

fixed trailing whitespace

trial fix #includes

fixed #includes

fixed link and branch name
2015-02-25 16:43:23 +01:00
Maksim Shabunin eb30799aed Disable object libraries building for cmake 2.8.7 and earlier 2015-02-25 15:00:44 +03:00
StevenPuttemans 0833352660 add annotation tool master branch 2015-02-25 11:31:50 +01:00
Dmitry-Me 2311504c44 Reduce variables scope 2015-02-25 10:38:44 +03:00
Alexander Alekhin 52effe9e72 Android: fix JavaCameraView implementation
1) Fixed deadlock if camera is started and stopped immediately
2) Invalid pattern usage of Object.wait(). Refer to "spurious wakeup": http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait
3) Fixed buffer usage:
  a) fix eliminates processing of zero NV12 (green in RGB) first frame
  b) latest ready frame is delivered for processing (not previous)
2015-02-24 18:52:54 +03:00
Vadim Pisarevsky bdb088dcca Merge pull request #3712 from jet47:fix-cuda-build-on-windows 2015-02-24 15:39:01 +00:00
Vadim Pisarevsky 457758b537 Merge pull request #3733 from StevenPuttemans:fix_4004_master 2015-02-24 15:38:40 +00:00
Vadim Pisarevsky b64b82a1ef Merge pull request #3734 from Dmitry-Me:reduceVariableScope2 2015-02-24 15:38:19 +00:00
Vadim Pisarevsky 0016f6d73d Merge pull request #3736 from nisargthakkar:Bug3634_master 2015-02-24 15:38:02 +00:00
Vadim Pisarevsky 5dc569866e Merge pull request #3743 from StevenPuttemans:fix_3887_master 2015-02-24 15:37:13 +00:00
theodore 96c824f375 Morphology Lines Extraction Tutorial 2015-02-24 14:33:15 +01:00
Vadim Pisarevsky 90fb43cd11 Merge pull request #3709 from StevenPuttemans:fix_traincascade_load_message_master 2015-02-24 12:50:38 +00:00
Alexander Smorkalov 1a795ac2ea Merge pull request #3738 from ilya-lavrenov:cc_master 2015-02-24 10:47:20 +00:00
Maksim Shabunin 1fe1ebf20c Merge pull request #3728 from StevenPuttemans:fix_3714_master 2015-02-24 10:09:22 +00:00
Maksim Shabunin 02488215e6 Merge pull request #3741 from StevenPuttemans:fix_3028_master 2015-02-24 10:05:16 +00:00
Eric Sommerlade 998a909705 fixed whitespace issues 2015-02-23 08:15:34 -07:00
StevenPuttemans 6902fa6b1c fix formula getGaussianKernel in docs 2015-02-23 15:23:02 +01:00
StevenPuttemans 370389c7af add extra output argument to tutorial 2015-02-23 15:13:33 +01:00
StevenPuttemans 7401b02022 fix ellipse fitting notice 2015-02-23 15:05:55 +01:00
Eric Sommerlade a07d7a70a0 added support for uncompressed parameters to tiff image format as described here: expertland.net/question/b6o3n6p9a72341db823b48nl98m91dx8n1/detail.html 2015-02-23 06:12:42 -07:00
Ilya Lavrenov 58b3869730 fixed cross-compilation 2015-02-22 13:20:37 +03:00
Olexa Bilaniuk eb7a7884f6 Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-02-21 12:32:25 -05:00
Olexa Bilaniuk f454929d9c PRNG changes: xorshift128+ algorithm, and seeding API.
- Switched to the extremely fast, while simple and high-quality,
xorshift128+ PRNG algorithm by Sebastiano Vigna in "Further scramblings
of Marsaglia's xorshift generators. CoRR, abs/1402.6246, 2014" (2^128-1
period, passes BigCrush tests). Performance improved by 10% over
random().
- Added an API to allow seeding with a specified seed, rather than using
rand() or random(). This allows deterministic, reproducible results in
tests using our algorithm (although findHomography() does not yet
support passing an entropy source on its own end).
2015-02-21 12:31:55 -05:00
Alexander Alekhin 08dd1e085b Merge pull request #3730 from ilya-lavrenov:fix_bug 2015-02-21 08:10:25 +00:00
Nisarg Thakkar b8f65d0252 Same as Bug #3309. Pushing to master 2015-02-21 09:20:00 +05:30
Eric Sommerlade 6447c7b2f4 Merge pull request #1 from Itseez/master
Update from original
2015-02-20 17:21:38 +00:00
Dmitry-Me 53566f2ec0 Reduce variable scope, fix indenting 2015-02-20 17:46:48 +03:00
StevenPuttemans ea54c01125 add remarks for iOS tutorial 2015-02-20 14:30:11 +01:00
Olexa Bilaniuk 0ea009f611 Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-02-20 08:26:04 -05:00
Ilya Lavrenov 5f7a994ad1 fixed internal compiler error 2015-02-20 15:46:22 +03:00
StevenPuttemans 350dccf84a fix error 3714 2015-02-20 13:30:40 +01:00
Simon Heinen 5d97dd0ea5 Update android+AsyncServiceHelper.java 2015-02-20 12:54:54 +01:00
berak c83044d45a fix houghlines.py sample and tutorial
fix whitespace
2015-02-20 10:51:52 +01:00
Vadim Pisarevsky 7b270f4c69 Merge pull request #3679 from mshabunin:remove-algorithm-factory 2015-02-19 18:43:58 +00:00
Vadim Pisarevsky 0a1da4461b Merge pull request #3718 from mshabunin:image-max-width 2015-02-19 18:36:27 +00:00
Vadim Pisarevsky aec8fd3243 Merge pull request #3719 from theodr:document_findnonzero_function 2015-02-19 18:36:09 +00:00
theodore cfccdc9b0c documenting findnonzero() function 2015-02-19 17:57:52 +01:00
theodore 453f384bd7 adding documentation for the findnonzero() function 2015-02-19 17:38:44 +01:00
theodore 4a1adab9b4 Merge branch 'master' of https://github.com/theodr/opencv 2015-02-19 13:28:03 +01:00
Dmitry-Me 98a8045aaf Reduce variable scope 2015-02-19 13:10:02 +01:00
Nisarg Thakkar e6876fecd3 Fixed doc error in optical flow 2015-02-19 13:10:02 +01:00
Olexa Bilaniuk f148f23382 Merge remote-tracking branch 'refs/remotes/upstream/master' 2015-02-18 21:04:39 -05:00
Dmitry-Me c4c3e4fe83 Remove unneeded indirections 2015-02-18 18:25:17 +03:00
Maksim Shabunin e57359a3a0 Documentation: set max-width property for inserted images 2015-02-18 18:19:36 +03:00
Erik Karlsson 8e7aff4486 Changed fastNlMeansDenoising and fastNlMeansDenoisingMulti back to sum of sq distances. Moved sq sum of abs distances to fastNlMeansDenoisingAbs and fastNlMeansDenoisingMultiAbs 2015-02-18 14:59:52 +01:00
Vadim Pisarevsky 6ff2f395e6 Merge pull request #3702 from Dmitry-Me:reduceVariableScope 2015-02-18 13:55:58 +00:00
Vadim Pisarevsky 009ab70272 Merge pull request #3711 from nisargthakkar:optical_flow_doc_fix 2015-02-18 13:52:09 +00:00
Vadim Pisarevsky b64e106bb1 Merge pull request #3703 from BKNio:fixing_bad_alloc 2015-02-18 13:50:14 +00:00
Vadim Pisarevsky 1d356b6a48 Merge pull request #3714 from uqtimes:fixUIImageToMat 2015-02-18 13:49:14 +00:00
Vadim Pisarevsky 6b371865af Merge pull request #3716 from mshabunin:fix-vs-solution-build 2015-02-18 13:48:18 +00:00
Vadim Pisarevsky 87f86b31fa Merge pull request #3715 from mshabunin:enable-stl 2015-02-18 12:12:14 +00:00
Vadim Pisarevsky 4f8bf98e6f Merge pull request #3706 from exeltior:patch-1 2015-02-18 11:30:05 +00:00
Maksim Shabunin 2085251df2 Exclude object libraries from visual studio solution build 2015-02-18 14:16:54 +03:00
Maksim Shabunin c41db69f98 Fixed cmake issues 2015-02-18 12:44:48 +03:00
Maksim Shabunin 553020c448 Enabled STL usage within the library 2015-02-18 12:36:50 +03:00
UQ Times 1944443d10 iOS: fix crash from overrelease in UIImageToMat
- previous pull request: https://github.com/Itseez/opencv/pull/3340
2015-02-18 13:30:08 +09:00
Erik Karlsson e647b7c7e8 Calculating almost_dist2weight at full size to avoid bounds checking 2015-02-17 23:08:36 +01:00
Erik Karlsson baf266c29e Changed from sum of squared differences to sum of abs differences 2015-02-17 21:30:52 +01:00
Vladislav Vinogradov 671b59aa9d fix windows build with CUDA
rename cv::cuda::internal namespace
to cv::cuda::device to prevent conflicts
with cv::internal
2015-02-17 21:50:39 +03:00
Nisarg Thakkar 437ef99ba5 Fixed doc error in optical flow 2015-02-17 22:14:57 +05:30
StevenPuttemans 2738939126 add same functionality as 2.4 2015-02-17 10:25:18 +01:00
Maksim Shabunin 79e8f0680c Updated ml module interfaces and documentation 2015-02-17 11:46:14 +03:00
exeltior b51805e245 Update mser.cpp
Need to initialize boolean variable pass2Only, otherwise the result is not predictable
2015-02-16 18:17:41 +01:00
Vadim Pisarevsky d1a15097fe Merge pull request #3664 from wangyan42164:ocl_cascasde_barrier 2015-02-16 15:42:26 +00:00
Ahmatnurov Dinar 21ee113af3 fixig std::bad_alloc
if points0 is empty checkVector(2) return -1, it causes the exception
2015-02-16 17:15:54 +03:00
Dmitry-Me 103687871d Reduce variable scope 2015-02-16 15:39:52 +03:00
Maksim Shabunin da383e65e2 Remove deprecated methods from cv::Algorithm 2015-02-16 15:28:54 +03:00
Vadim Pisarevsky fdf31ec14f Merge pull request #3650 from StevenPuttemans:fix_tutorials_master 2015-02-16 11:45:37 +00:00
Vadim Pisarevsky d509ecd19a Merge pull request #3666 from mshabunin:meta-module 2015-02-16 11:43:30 +00:00
Vadim Pisarevsky 23633c1945 Merge pull request #3685 from alalek:ocl_android_default_off 2015-02-16 11:31:02 +00:00
Vadim Pisarevsky edab3916aa Merge pull request #3696 from Dmitry-Me:shouldPassByReference 2015-02-16 11:29:22 +00:00
Vadim Pisarevsky 7164f22347 Merge pull request #3701 from jet47:internal-namespace 2015-02-16 11:27:05 +00:00
Vladislav Vinogradov a932d8aba1 use full qualified name for all internal namespaces to prevent ambiguous symbol errors 2015-02-16 11:31:21 +03:00
Olexa Bilaniuk 86b6cab7fa Merge branch 'master' of https://github.com/obilaniu/opencv
Conflicts:
	modules/calib3d/src/fundam.cpp
	modules/calib3d/src/rhorefc.cpp
2015-02-13 08:20:09 -05:00
Olexa Bilaniuk 5d79b1092f Merge remote-tracking branch 'refs/remotes/upstream/master' into rho 2015-02-13 08:12:11 -05:00
Olexa Bilaniuk e5696bc5e6 Whitespace change reverts to minimize delta w.r.t master. 2015-02-13 08:07:15 -05:00
Erik Karlsson c339720af9 Preparation for 16-bit colored denoising. Currently not working due to cvtColor not supportint 16-bit Lab conversion. 2015-02-13 13:38:37 +01:00
Hamid Bazargani 5070f2a334 Fix sacCalcJacobianErrors arguments. (curr.inl replaced with best.inl)
Fix the issue given NULL inlMask
2015-02-13 00:44:19 -05:00
Hamid Bazargani 44f906eb35 Fix sacCalcJacobianErrors arguments. (curr.inl replaced with best.inl)
Fix the issue given NULL inlMask
2015-02-13 00:38:19 -05:00
Hamid Bazargani e22678018b Fix sacCalcJacobianErrors arguments. (curr.inl replaced with best.inl)
Fix the issue given NULL inlMask
2015-02-13 00:30:18 -05:00
Hamid Bazargani 42176f8eb1 Fix sacCalcJacobianErrors arguments. (curr.inl replaced with best.inl)
Fix the issue given NULL inlMask
2015-02-13 00:09:37 -05:00
ASUS 9a555063e8 Fix sacCalcJacobianErrors arguments. (curr.inl replaced with best.inl)
Fix the issue given NULL inlMask
2015-02-12 23:34:48 -05:00
Erik Karlsson 584372bbf2 Fixed bounds checking 2015-02-13 04:33:29 +01:00
ASUS 6b04351ce1 Merge branch 'accuracy' of https://github.com/obilaniu/opencv into accuracy
Conflicts:
	modules/calib3d/src/rhorefc.cpp
2015-02-12 21:27:08 -05:00
ASUS 6dbf13d7b5 saveBestModel() is modified. accuracy test is passed. 2015-02-12 21:22:52 -05:00
Erik Karlsson d588c717da Using WEIGHT_THRESHOLD to limit table size. Still problematic with 16-bit and big h-values. 2015-02-13 00:11:30 +01:00
Erik Karlsson 42db9e7153 Basic 16-bit implmentation of fastNlMeansDenoising. Table-based exponetiation leads to high memory footprint and loss of precision in 16-bit mode. 2015-02-12 22:14:01 +01:00
Erik Karlsson 49e93747b1 Added saturate_cast from int64 and uint64 2015-02-12 22:05:05 +01:00
Olexa Bilaniuk ff2509af56 Fixed printouts in testcase to blame the correct method for a failure.
Previously, certain test failures by the method RHO would result in an
error blaming RANSAC instead. The fix involves a parameter change to
several functions in test_homography.cpp.
2015-02-12 14:42:37 -05:00
Erik Karlsson 8368fb9ea8 Additional refactoring preparing for 16-bit implementation 2015-02-12 18:45:09 +01:00
Dmitry-Me c3f8fc41b7 Parameters should have been passed by reference 2015-02-12 17:32:43 +03:00
Erik Karlsson e178294b49 Refactoring in preparation for 16-bit implementation of fastNlMeansDenoising 2015-02-12 15:23:28 +01:00
Maksim Shabunin a5a510da4b Support for compound modules, support for contrib_world 2015-02-10 18:30:05 +03:00
Vadim Pisarevsky 5466e321b8 Merge pull request #3687 from Dmitry-Me:fixPossibleNullPtrDeref 2015-02-10 12:17:11 +00:00
Vadim Pisarevsky f6b82d99ad Merge pull request #3684 from SeninAndrew:master 2015-02-10 12:03:52 +00:00
Vadim Pisarevsky dd1878c64f Merge pull request #3688 from jet47:test-script-optional-color-3.0 2015-02-10 12:02:36 +00:00
Vladislav Vinogradov 6a3f33090d make color output in run_test script optional 2015-02-09 15:24:46 +03:00
Dmitry-Me ea48fcfc9f Fix possible null pointer dereference 2015-02-09 12:38:02 +03:00
Vadim Pisarevsky 05e404c2ff Merge pull request #3681 from jet47:fix-run-tests-script-3.0 2015-02-08 17:07:28 +00:00
Alexander Alekhin 79416cdf10 ocl: disable OpenCL by default for Android builds 2015-02-08 13:08:14 +03:00
Olexa Bilaniuk ccd33a721e Fixed build failures related to designSPRTTest(). 2015-02-07 01:19:40 -05:00
Olexa Bilaniuk 7e273396c1 Merge remote-tracking branch 'refs/remotes/upstream/master' into rho 2015-02-07 01:08:10 -05:00
Olexa Bilaniuk adac8c04bb Converted to C++ style, + bugfixes.
The code has been refactored in response to feedback on Pull Request

Also, outputZeroH() now also zeroes the inlier set, much like
outputModel().
2015-02-07 00:56:58 -05:00
Andrew Senin 8c7b3b91fa Fixing XIMEA parameters mapping (issue #4176) 2015-02-07 00:50:23 +03:00
Vadim Pisarevsky 6c8681a472 Merge pull request #3656 from SeninAndrew:master 2015-02-06 11:49:27 +00:00
Vladislav Vinogradov 098389d8eb fix opencv_run_all_tests_unix.sh script:
use `bash` shell instead of `sh`, since on Ubuntu `sh` by default is `dash`,
and `dash` doesn't support `PIPESTATUS` feature used in this sctipt
2015-02-06 12:36:18 +03:00
Vadim Pisarevsky 1e47c6cc56 Merge pull request #3612 from guoyejun:fix_face_detect 2015-02-05 07:50:13 +00:00
Vadim Pisarevsky bbec7f8e89 Merge pull request #3669 from vbystricky:fix_tr_cascade_boost 2015-02-05 07:47:39 +00:00
Vadim Pisarevsky 5524e8d2c0 Merge pull request #3673 from jet47:colorize-run-test-script-3.0 2015-02-05 07:36:14 +00:00
Vadim Pisarevsky 3f86e7b75a Merge pull request #3668 from mshabunin:fix-ann-memory-access 2015-02-05 07:33:49 +00:00
Vadim Pisarevsky 7854ef3840 Merge pull request #3675 from alalek:fix_coreTlsData 2015-02-05 07:32:58 +00:00
Olexa Bilaniuk 87c2b8197a Bug fixes in mask output.
Previously, the output mask of inliers could remain completely
uninitialized. This fix is the first part of a solution.
2015-02-05 02:18:41 -05:00
Olexa Bilaniuk b90800f0c7 Corrected typo in comment.
The inverted JtJ does not multiply itself, but rather Jte. Correct this
in the comment.
2015-02-04 12:12:14 -05:00
Alexander Alekhin 2054123890 coreTlsData -> getCoreTlsData() 2015-02-04 13:03:27 +03:00
Vladislav Vinogradov a9325102a2 colorize opencv_run_all_tests_unix.sh script output 2015-02-04 12:39:51 +03:00
Olexa Bilaniuk 2609e77af7 Silence spurious loss-of-data warnings from Windows.
Added explicit casts to silence warnings in fundam.cpp and rhorefc.cpp.
2015-02-04 02:26:01 -05:00
Olexa Bilaniuk ce0570b777 Splitting vectorized code into separate branch.
Deleted SSE code from master branch.
Slight cleanups in fundam.cpp were made as a consequence.
2015-02-03 23:33:52 -05:00
Olexa Bilaniuk 69b146412a Edited Doxygen documentation in the module calib3d.
Added a mention within calib3d.hpp that the flag RHO is available as an
option on calls to findHomography().
2015-02-03 22:55:40 -05:00
Olexa Bilaniuk 8907e6feac Merge remote-tracking branch 'refs/remotes/upstream/master' into rho 2015-02-03 22:50:45 -05:00
VBystricky f5987c258f Fix small error in traincascade application 2015-02-03 21:32:47 +04:00
Maksim Shabunin c85197da55 Fixed allocated vector size in ML ANN algorithm
- updated return value of points_classifier sample
2015-02-03 18:16:20 +03:00
Vadim Pisarevsky 4c52dfc956 Merge pull request #3657 from BelBES:sb/tegra_optimization_fix 2015-02-02 10:18:59 +00:00
Vadim Pisarevsky 94431c23f6 Merge pull request #3661 from StevenPuttemans:fix_models_2.4 2015-02-02 10:15:40 +00:00
Vadim Pisarevsky e64fb44f67 Merge pull request #3632 from theodr:dist_transf_tutorial 2015-02-02 10:10:39 +00:00
Vadim Pisarevsky 71a333dd78 Merge pull request #3644 from mshabunin:ml-docs 2015-02-02 10:08:40 +00:00
Vadim Pisarevsky 72194b2115 Merge pull request #3651 from mshabunin:shape-test 2015-02-02 10:07:01 +00:00
Vadim Pisarevsky bbf3607fa8 Merge pull request #3652 from alalek:ocl_message 2015-02-02 10:04:39 +00:00
Yan Wang 99aaf4030a Remove unnecessary barrier in runHaarClassifier().
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-02-02 16:55:11 +08:00
StevenPuttemans 9944f46b47 fixing wrong model sizes 2015-02-01 15:08:43 +01:00
sergei 0d72420480 HAVE_TEGRA_OPTIMIZATION was fixed 2015-01-30 11:57:35 +03:00
Andrew Senin 52535b356c Fix for assert in compute when subimage is used (see issue #4149) 2015-01-29 21:39:07 +04:00
Alexander Alekhin f282fd0ebf ocl: print missing error message only if OPENCV_OPENCL_RUNTIME is used 2015-01-29 13:16:31 +03:00
Vadim Pisarevsky 97aa8d3341 Merge pull request #3603 from alalek:ocl_svm 2015-01-29 05:35:46 +00:00
Vadim Pisarevsky bdebf4cea7 Merge pull request #3637 from wangyan42164:LBP_mad24_opt 2015-01-28 18:51:52 +00:00
Vadim Pisarevsky f3311f9e2a Merge pull request #3638 from jet47:remove-cuda-module 2015-01-28 18:51:32 +00:00
Vadim Pisarevsky 7d7d323f53 Merge pull request #3639 from cbenhagen:patch-1 2015-01-28 18:50:58 +00:00
Vadim Pisarevsky 5cbdce97aa Merge pull request #3645 from SeninAndrew:mp-msvs-fix 2015-01-28 18:50:39 +00:00
Maksim Shabunin cf0a29ce4d Fixed win64 compile warning 2015-01-28 18:11:53 +03:00
Maksim Shabunin 10639c9526 Shape module tests refactored
- common operations moved to separate class
- debug console messages removed
- test results are stored in memory instead of file
2015-01-28 17:01:37 +03:00
StevenPuttemans be1728fba1 fixing tutorial errors master branch 2015-01-28 13:56:29 +01:00
tt 4ea2eceb70 Image Segmentation .cpp tutorial
Distance Transform tutorial fixes

Distance Transform fixes v.2

Distance Transform fixes v.3

Distance Transform fixes v.4
2015-01-27 16:44:52 +01:00
Andrew Senin d08589d435 Fix for Visual Studio multiprocess builds for CMake versions > 2.8 2015-01-26 18:54:27 +04:00
Vadim Pisarevsky 6e565ab4a4 Merge pull request #3642 from ilya-lavrenov:linux_x86 2015-01-26 09:44:59 +00:00
Vadim Pisarevsky f1fb474459 Merge pull request #3643 from jet47:find-cuda-fix 2015-01-26 09:44:31 +00:00
Vladislav Vinogradov 482feb7266 FindCUDA fix : do not unset CACHE variables on first call
This will allow to override CUDA CMake variables from first CMake call,
like cmake -DCUDA_TOOLKIT_ROOT_DIR=... -DCUDA_CUDA_LIBRARY=...
2015-01-26 10:24:53 +03:00
Maksim Shabunin 53c9460454 Reorganized ML module documentation
- fixed one BiB record
- moved algorithms overview to separate page
- added docs for some enumerations
- fixed some small documentation errors
2015-01-23 23:43:06 +03:00
Alexander Alekhin 0a07d780e0 ocl: OpenCL SVM support 2015-01-23 20:37:45 +03:00
Vladislav Vinogradov fa23a01775 fix FindCUDA CMake module:
do not unset variables if CUDA_TOOLKIT_TARGET_DIR is not defined
2015-01-23 19:17:00 +03:00
Alexander Alekhin 58ad952b1a UMat: added USAGE_ALLOCATE_SHARED_MEMORY 2015-01-23 18:44:12 +03:00
Ilya Lavrenov dcb0c68ed3 fix for -m32 2015-01-23 17:26:48 +03:00
Vladislav Vinogradov c9e07bbc95 exclude compactPoints and calcWobbleSuppressionMaps from compilation
if they are not needed
2015-01-22 16:36:16 +03:00
Ben Hagen 8914fa51ff Do not blacklist GStreamer on Apple 2015-01-22 14:17:43 +01:00
Vladislav Vinogradov 6ebc95470b fix videostab compilation without CUDA 2015-01-22 15:02:22 +03:00
Vladislav Vinogradov 2660eee961 restore CUDA module introduction
put it into core documentation
2015-01-22 15:02:21 +03:00
Vladislav Vinogradov a0691289f9 fix cudalegacy sanity test 2015-01-22 15:02:21 +03:00
Vladislav Vinogradov 124ac15f1e remove cuda module 2015-01-22 15:02:21 +03:00
Vladislav Vinogradov ce0e595a4f move the rest cuda functions to cuda legacy 2015-01-22 15:02:21 +03:00
Vladislav Vinogradov f1e1785386 move vstab related CUDA routines to vstab module 2015-01-22 15:02:20 +03:00
Vladislav Vinogradov b416e8715d move labeling routines from cuda to cudalegacy 2015-01-22 15:02:20 +03:00
Vadim Pisarevsky 3f1fb281be Merge pull request #3635 from jet47:cuda-optflow-refactoring 2015-01-22 09:45:19 +00:00
Vadim Pisarevsky 9c81338cb9 Merge pull request #3505 from karelknoest:lsd_subpixel 2015-01-22 09:44:29 +00:00
Vadim Pisarevsky f93be25cc8 Merge pull request #3629 from nstiurca:matx-fix 2015-01-22 09:43:33 +00:00
Yan Wang df697f6520 Optimize runLBPClassifierStumpSimple by built-in mad24.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-01-22 16:36:16 +08:00
Vadim Pisarevsky 4949f70860 Merge pull request #3633 from mshabunin:fix-gdal-warning 2015-01-21 13:07:53 +00:00
Vladislav Vinogradov 710617034b remove unused function from pyrlk_optical_flow sample 2015-01-21 15:50:22 +03:00
Vladislav Vinogradov 63ff39f9f3 remove obsolete gpu optical flow samples 2015-01-21 15:50:22 +03:00
Vladislav Vinogradov b3a743f09a fix gpu samples compilation 2015-01-21 15:50:22 +03:00
Vladislav Vinogradov 62f8240b00 fix videostab module compilation 2015-01-21 15:50:21 +03:00
Vladislav Vinogradov 03ae1e5aae fix superres module compilation 2015-01-21 15:50:21 +03:00
Vladislav Vinogradov 2dc3b0f7f9 fix cudaoptflow tests build 2015-01-21 15:50:21 +03:00
Vladislav Vinogradov 381216aa54 refactor cudaoptflow public API:
* use opaque algorithm interfaces
* add stream support
2015-01-21 15:50:21 +03:00
Vladislav Vinogradov 19c6bbe7d9 move obsolete algorithms from cudaoptflow to cudalegacy 2015-01-21 15:50:21 +03:00
Vladislav Vinogradov c4b2058d23 simplify TVL1 accuracy test to reduce run time 2015-01-21 15:50:21 +03:00
Vladislav Vinogradov 71c391cd8d remove unused memory transfer from TVL1 CUDA implementation
it caused runtime failures
2015-01-21 15:50:21 +03:00
Maksim Shabunin 036b13ee05 Fixed GDAL loader check 2015-01-21 14:01:21 +03:00
Vadim Pisarevsky cc1090cf3b Merge pull request #3521 from ana-GT:registration_openni2 2015-01-21 10:48:23 +00:00
Vadim Pisarevsky bd4580a242 Merge pull request #3589 from JBosch:master 2015-01-21 10:46:53 +00:00
Vadim Pisarevsky 03fc3d1ceb Merge pull request #3591 from ilya-lavrenov:sse_avx 2015-01-21 10:46:23 +00:00
Vadim Pisarevsky adbe84425f Merge pull request #3622 from nagua:fix_find_gstreamer 2015-01-21 10:44:11 +00:00
Vadim Pisarevsky b49fa7d384 Merge pull request #3625 from wangyan42164:ocl_cascade_deadlock 2015-01-21 10:43:50 +00:00
Vadim Pisarevsky 479cac2a14 Merge pull request #3626 from jet47:cuda-bgsegm-refactoring 2015-01-21 10:40:47 +00:00
Maksim Shabunin 1a15596f21 Fixed build warning in GDAL support module 2015-01-21 12:53:50 +03:00
Nicu Știurcă 8722faa167 fix whitespace 2015-01-20 23:58:05 -05:00
Nicu Știurcă 7a3ca99894 fix _OutputArray::assign() for _OutputArrays of type MATX when data types differ 2015-01-20 23:49:04 -05:00
Olexa Bilaniuk 045f8294bb Merge remote-tracking branch 'refs/remotes/upstream/master' into rho 2015-01-20 13:11:09 -05:00
Ilya Lavrenov e9a6c5db21 sqsum 2015-01-20 21:10:06 +03:00
karelknoest b5bd2fd880 Improved documentation and method comment to clarify that LineSegmentDetector::detect method accepts both Vec4i and Vec4f as return vector. 2015-01-20 17:05:57 +01:00
karelknoest 1ded2de2dd Let LineSegmentDetector output line segment coordinates in float precision, as supported by the LSD algorithm. 2015-01-20 17:05:38 +01:00
Vadim Pisarevsky 95ecdc3af9 Merge pull request #3600 from jet47:cuda-objdetect-module 2015-01-20 13:29:32 +00:00
Vadim Pisarevsky 579ce93885 Merge pull request #3598 from caraffi:bug4108_testCasesLinkError 2015-01-20 12:59:34 +00:00
Vadim Pisarevsky 21a9a17478 Merge pull request #3568 from ilya-lavrenov:neon_runtime 2015-01-20 12:47:51 +00:00
Vadim Pisarevsky e501c61c04 Merge pull request #3611 from jet47:fix-gpumat-setto 2015-01-20 12:37:45 +00:00
Vadim Pisarevsky aacb9b7cf5 Merge pull request #3610 from jet47:fix-ocv_add_module-3.0 2015-01-20 12:35:36 +00:00
Vadim Pisarevsky f647054c8c Merge pull request #3616 from marvins:gdal-fixes 2015-01-20 12:31:14 +00:00
Vadim Pisarevsky 52d3afd798 Merge pull request #3624 from jet47:fix-arm-linux-toolchain 2015-01-20 12:30:42 +00:00
Vadim Pisarevsky 696a6561d3 Merge pull request #3627 from cbenhagen:patch-1 2015-01-20 12:27:19 +00:00
Vadim Pisarevsky ea38f7fa66 Merge pull request #3628 from cbenhagen:patch-2 2015-01-20 12:18:04 +00:00
Yan Wang f5b21e8141 Avoid deadlock becasue some work item couldn't reach barrier in loop
and unsynchronized.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-01-20 13:45:33 +08:00
Nicu Știurcă e97d18ba81 implement _OutputArray::assign() for _OutputArrays of type MATX 2015-01-19 16:20:10 -05:00
Ben Hagen 5422cbcecb make PlaneTracker class more thread-safe 2015-01-19 21:57:23 +01:00
Ben Hagen 3f8cefea0e store user-provided data in PlaneTracker class 2015-01-19 21:51:19 +01:00
Vadim Pisarevsky 5e92a777ef Merge pull request #3569 from ilya-lavrenov:sse_mul 2015-01-19 13:42:36 +00:00
Vladislav Vinogradov dae188d14f move obsolete algorithms from cudabgsegm to cudalegacy:
* GMG
* FGD
2015-01-19 14:17:00 +03:00
Vadim Pisarevsky 17b1152fa3 Merge pull request #3544 from jet47:cuda-warping-refactoring 2015-01-19 11:10:48 +00:00
Vadim Pisarevsky 381917b762 Merge pull request #3563 from cjmayo:pyexamples 2015-01-19 11:09:58 +00:00
Vadim Pisarevsky 5cc4aa0e93 Merge pull request #3554 from wangyan42164:match_template_mask 2015-01-19 11:03:44 +00:00
Vadim Pisarevsky dc27a13426 Merge pull request #3570 from a-wi:Win32_UI_commctrl_defs_v3 2015-01-19 10:54:26 +00:00
Vadim Pisarevsky 225c3e78cb Merge pull request #3582 from ptzafrir:fix_samples 2015-01-19 10:53:42 +00:00
Vadim Pisarevsky 219d315c8d Merge pull request #3615 from jaybosamiya:grabcuttypo 2015-01-19 10:50:52 +00:00
Vadim Pisarevsky fe2a7d23a5 Merge pull request #3606 from jet47:warnings-fix 2015-01-19 10:49:53 +00:00
Vadim Pisarevsky 49f2bd6f17 Merge pull request #3608 from jet47:cmake-CMP0054-fix 2015-01-19 10:49:08 +00:00
Vadim Pisarevsky bcfcc779f6 Merge pull request #3605 from jet47:cuda-photo-refactoring 2015-01-19 10:48:44 +00:00
Vadim Pisarevsky 3a84444488 Merge pull request #3596 from jet47:cuda-features2d-refactoring 2015-01-19 10:48:18 +00:00
Vadim Pisarevsky b6023eab9c Merge pull request #3594 from asmorkalov:opencv4tegra_support 2015-01-19 10:47:49 +00:00
Vladislav Vinogradov 5978ef1df5 Fix arm linux toolchain file
Use find_program() to set CMAKE_C_COMPILER and CMAKE_CXX_COMPILER.

Originally the variables was set to compiler name, without absolute path.
CMake 3.0 tries to find them in CMAKE_FIND_ROOT_PATH (since 
CMAKE_FIND_ROOT_PATH_MODE_PROGRAM was set to ONLY) and fails.
2015-01-19 10:43:49 +03:00
Nicolas Riebesel 052fe626b3 Corrected the WITH_GSTREAMER and WITH_GSTREAMER_0_10 semantic 2015-01-18 20:27:09 +01:00
Alexander Smorkalov cc97c57fd4 Accuracy fix for blenaders in stitching module. 2015-01-18 20:45:57 +03:00
Marvin Smith 9a0e038a48 Fixed compile warning from redefined macro. 2015-01-17 20:37:51 -08:00
Marvin Smith 91fbe00caa Updated gdal tutorial to include comments. 2015-01-17 19:28:58 -08:00
Marvin Smith 9a1a9d9aff Updating CMake to get GDAL working again on OS X. 2015-01-17 16:59:56 -08:00
Jay Bosamiya 10cc7c78dd Fix typo 2015-01-17 22:53:30 +05:30
Vladislav Vinogradov 698c367d8d fix ocv_add_module CMake macro:
it tries to remove 'opencv_' prefix from 'name' variable, but
it creates new variable with the same name as module
2015-01-16 11:00:56 +03:00
Yan Wang 46ed461e22 Add template match with mask.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-01-16 11:09:26 +08:00
Guo Yejun 595ec6b852 correct the size of buf which holds integral sum/sumsq
layer_dy is not initialized correctly, it results in a small height
of the buffer, and so memory write is out of range in cv::integral.
2015-01-16 10:51:39 +08:00
Vladislav Vinogradov f676bfb3d7 fix GpuMat::setTo method in case if mask is empty:
it might be called from _OutputArray::setTo
2015-01-15 19:33:27 +03:00
Vladislav Vinogradov 0376a8643e fix CMake CMP0054 warning:
ported from c105b72945
2015-01-15 18:40:33 +03:00
Vladislav Vinogradov a524a677e4 disable warnings caused by CUDA headers 2015-01-15 17:20:35 +03:00
Vladislav Vinogradov c120001178 fix -Wsign-compare warnings 2015-01-15 17:17:35 +03:00
Vladislav Vinogradov 14e15fb4f7 fix documentation warnings 2015-01-15 17:15:59 +03:00
soyer d84d3a519b Allow YUYV capture via libv4l 2015-01-15 15:10:15 +01:00
Vladislav Vinogradov f48befc6f0 refactor CUDA part of photo module 2015-01-15 16:46:48 +03:00
Vadim Pisarevsky df57d038b8 Merge pull request #3572 from berak:python_samples_30 2015-01-15 13:17:26 +00:00
Vadim Pisarevsky 713aa5c5b9 Merge pull request #3557 from ilya-lavrenov:sse_add_weighted 2015-01-15 13:14:06 +00:00
Vadim Pisarevsky 61f111143a Merge pull request #3599 from a-wi:DShow_COM_interfaces_v3 2015-01-15 13:12:51 +00:00
Tzafrir 997dded1ac add default file to load in case sample was run without command line arguments 2015-01-15 14:10:31 +02:00
Vadim Pisarevsky 16b56e71d9 Merge pull request #3561 from jet47:cuda-arithm-refactoring 2015-01-15 11:44:35 +00:00
Vadim Pisarevsky c58373dbea Merge pull request #3574 from mikeizbicki:patch-1 2015-01-15 11:36:51 +00:00
Vadim Pisarevsky 1c9668b371 Merge pull request #3584 from nisargthakkar:UMatDimsZeroAfterRelease 2015-01-15 11:27:11 +00:00
Vadim Pisarevsky bd6ad79759 Merge pull request #3595 from timsat:error_messages 2015-01-15 11:24:53 +00:00
Vadim Pisarevsky ce5e2697cb Merge pull request #3597 from wangyan42164:cascade_cl_opt 2015-01-15 11:24:25 +00:00
Vadim Pisarevsky bcc9dac087 Merge pull request #3602 from vbystricky:cap_images_frames_cnt 2015-01-15 11:21:23 +00:00
berak fd60e98c5b fixes for latest changes in opencv3.0 api
fixes for latest changes in opencv3.0 api

waitKey() normalization

fixed mser bindings
2015-01-15 12:01:47 +01:00
Olexa Bilaniuk 02124f19e6 Further LevMarq improvements.
Implemented a damping-parameter choice strategy similar to that
described in http://www2.imm.dtu.dk/documents/ftp/tr99/tr05_99.pdf.
Removed a few debug statements.
Chosen a new starting lambda value, 0.01.
We now actually output the mask of inliers.
2015-01-15 04:21:16 -05:00
Vladislav Vinogradov dccdadc38a fix documentation warnings 2015-01-15 10:34:43 +03:00
VBystricky d5092a6f7c Add CV_CAP_PROP_POS_FRAMES property to cap_images.cpp 2015-01-15 01:55:17 +04:00
Alexander Smorkalov 54f52c3f45 Build fix for non-TEGRA case. 2015-01-14 22:17:37 +03:00
Vladislav Vinogradov 734212a402 refactor CUDA CascadeClassifier 2015-01-14 19:50:05 +03:00
Vladislav Vinogradov 8257dc3c1e refactor CUDA HOG algorithm:
use abstract interface with hidden implementation
2015-01-14 19:50:05 +03:00
Vladislav Vinogradov 0af7597d36 fix CUDA HOG for multi GPU systems:
move GPU constants initialization from constructor to compute method
2015-01-14 19:50:05 +03:00
Vladislav Vinogradov f126f371b2 move CUDA object detection algorithms to separate module 2015-01-14 19:50:05 +03:00
Artur Wieczorek 1264be8785 Check if _WIN32_IE is defined with proper value in window_w32.cpp
TBBUTTONINFO struct and BTNS_xxx symbols used in the code need _WIN32_IE to be defined with at least 0x0500 value (_WIN32_IE_IE50) in order to be included from commctrl.h.
2015-01-14 14:52:32 +01:00
Artur Wieczorek 01717c83d7 Don't define destructors for COM-based interfaces. 2015-01-14 14:06:42 +01:00
Yan Wang 07ab0c1c53 Avoid compile unnecessary OpenCL kernel.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-01-14 19:52:41 +08:00
Claudio Caraffi efc7dbaae2 Prevent linking failure, bug 4108 2015-01-14 11:55:41 +01:00
Olexa Bilaniuk ff91af825d LevMarq made semi-functional.
Replaced the complex rules OpenCV uses to select lambda with a naive but
fast heuristic. It's imperfect but produces good results. It is still
subject to the same problem as OpenCV - namely, on occasion LevMarq will
make a poor result even worse.
2015-01-14 04:22:48 -05:00
Olexa Bilaniuk 8a5182662e Merge remote-tracking branch 'refs/remotes/upstream/master' into rho 2015-01-14 04:11:24 -05:00
Vladislav Vinogradov 5f1282afdb fix documentation warnings 2015-01-13 18:23:59 +03:00
Vladislav Vinogradov 8a178da1a4 refactor CUDA BFMatcher algorithm:
use new abstract interface and hidden implementation
2015-01-13 18:03:57 +03:00
Vladislav Vinogradov 764d55b81d add extended documentation for Features2DAsync 2015-01-13 18:03:57 +03:00
Vladislav Vinogradov f960a5707d refactor CUDA ORB feature detector/extractor algorithm:
use new abstract interface and hidden implementation
2015-01-13 18:03:57 +03:00
Vladislav Vinogradov 554ddd2ec4 fix compilation without CUDA 2015-01-13 18:03:57 +03:00
Vladislav Vinogradov 9f77ffb03f extend Feature2DAsync interface 2015-01-13 18:03:57 +03:00
Vladislav Vinogradov 14ef62ed66 refactor CUDA FAST feature detector algorithm:
use new FastFeatureDetector abstract interface and hidden implementation
2015-01-13 18:03:56 +03:00
Vladislav Vinogradov 6f91b7f6a4 remove firstLevel=2 test case, because CPU implementation fails 2015-01-13 18:03:56 +03:00
Vladislav Vinogradov 1421e306fb fix compilation without CUDA 2015-01-13 18:00:27 +03:00
Vladislav Vinogradov ecee388236 move buildWarp*Maps to stitching 2015-01-13 18:00:26 +03:00
Vladislav Vinogradov 4cc7b0a74f move ImagePyramid to cudalegacy 2015-01-13 18:00:26 +03:00
Vadim Pisarevsky b2a5e66fc5 Merge pull request #3593 from kilobyte:master 2015-01-13 12:25:21 +00:00
Vadim Pisarevsky f566f6baa9 Merge pull request #3535 from wangyan42164:use_hypot 2015-01-13 11:22:21 +00:00
Vadim Pisarevsky 2ecca8f59c Merge pull request #3566 from jet47:cuda-imgproc-refactoring 2015-01-13 11:21:51 +00:00
Vadim Pisarevsky 60cedd7a68 Merge pull request #3592 from jet47:cuda-7.0-android 2015-01-13 11:18:20 +00:00
Vadim Pisarevsky bc23f29b27 Merge pull request #3537 from mshabunin:ml-old-xml 2015-01-13 11:17:36 +00:00
Adam Borowski 7b0d1c932e Get rid of sysctl includes on Linux.
The 'sysctl' syscall has been strongly deprecated on Linux for ages.
Currently, on old architectures it will spam syslog whenever used, and on
newer ones it's missing from the headers altogether.  Opencv has migrated
away on Linux already, but #includes were left lingering.  This commit
removes them on non-__APPLE__, unbreaking x32 (and probably others).
2015-01-13 01:52:56 +01:00
Ilya Lavrenov 81f786393a NEON detection in runtime 2015-01-13 01:35:53 +03:00
Alexander Smorkalov 1fa37fe733 OpenCV for Tegra compilation fix for
- Gaussian blur;
- CascadeClassifier;
- Blenders in stitching module;
- Laplacial pyromids in stitching module.
2015-01-12 23:43:26 +03:00
Olexa Bilaniuk f73b48b8b6 Merge remote-tracking branch 'refs/remotes/upstream/master' into rho 2015-01-12 11:59:38 -05:00
Olexa Bilaniuk 4401095b38 Optimizations to Jacobian and error calculations.
Deleted multiplications by zero and consequent additions of zero terms.
2015-01-12 11:33:05 -05:00
Vadim Pisarevsky 390f17d1e0 Merge pull request #3575 from Ashod:multipage_imread 2015-01-12 11:31:04 +00:00
Vadim Pisarevsky 9eba746eb8 Merge pull request #3586 from wangyan42164:bfm 2015-01-12 10:55:34 +00:00
Olexa Bilaniuk 7fca146b21 More LevMarq bugfixes.
LevMarq now doesn't outright fail, but doesn't seem to improve things
much if at all.
2015-01-12 05:37:40 -05:00
Olexa Bilaniuk 33a3fba2d1 Work on LevMarq code.
Refactoring of Cholesky decomposition.
Fix for memory corruption bug.
LevMarq as a whole still non-functional.
2015-01-12 04:58:07 -05:00
Ilya Lavrenov 8c94568cc3 cv::sum 2015-01-12 10:59:31 +03:00
Ilya Lavrenov 33176db5dc compareHist 2015-01-12 10:59:31 +03:00
Ilya Lavrenov 6bce6ee34a checks 2015-01-12 10:59:31 +03:00
Ilya Lavrenov 1d3c860411 SinCos_32f 2015-01-12 10:59:31 +03:00
Ilya Lavrenov 3b23e57925 convertMaps 2015-01-12 10:59:31 +03:00
Ilya Lavrenov 0fd8f50522 warpAffine INTER_NEAREST 2015-01-12 10:59:31 +03:00
Ilya Lavrenov d92f67ee2c warpPerspective 2015-01-12 10:59:31 +03:00
Ilya Lavrenov ef29b15c9a reciprocal 2015-01-12 10:59:30 +03:00
Ilya Lavrenov 44d89638fd divide 2015-01-12 10:59:30 +03:00
Ilya Lavrenov 7b060d9122 cvtColor 4 cn 2015-01-12 10:59:30 +03:00
Ilya Lavrenov f2cd65cf1e fixes 2015-01-12 10:59:30 +03:00
Ilya Lavrenov 25e99c453f avx2 in arithm 2015-01-12 10:59:30 +03:00
Ilya Lavrenov 70933ea999 convert from f64 2015-01-12 10:59:30 +03:00
Ilya Lavrenov 612b8ce2cb fixed compilation issues 2015-01-12 10:59:30 +03:00
Ilya Lavrenov b2f851af06 cornerMinEigenVal 2015-01-12 10:59:30 +03:00
Ilya Lavrenov d87457a025 split/merge 2015-01-12 10:59:30 +03:00
Ilya Lavrenov fc0869735d used popcnt 2015-01-12 10:59:30 +03:00
Ilya Lavrenov 31827d8dfe fixed typo 2015-01-12 10:59:30 +03:00
Ilya Lavrenov bc394e7516 detection of other CPU features 2015-01-12 10:59:30 +03:00
Ilya Lavrenov 3a426660ea sse_utils.hpp 2015-01-12 10:59:30 +03:00
Ilya Lavrenov a340ea872e cvtColor Luv 2 RGB u8 2015-01-12 10:59:30 +03:00
Ilya Lavrenov e20613a776 cvtColor RGB 2 Luv u8 2015-01-12 10:59:30 +03:00
Ilya Lavrenov 584eed633e cvtColor Lab 2 RGB u8 2015-01-12 10:59:30 +03:00
Ilya Lavrenov 05e21015e9 cvtColor HLS 2 RGB u8 2015-01-12 10:59:30 +03:00
Ilya Lavrenov 51684c109e cvtColor RGB 2 HLS u8 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 51e7fb76b6 cvtColor HSV 2 RGB u8 2015-01-12 10:59:29 +03:00
Ilya Lavrenov c4c86a8990 cvtColor XYZ 2 RGB f32 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 93f8800844 cvtColor RGB 2 XYZ f32 2015-01-12 10:59:29 +03:00
Ilya Lavrenov e1773749ae cvtColor RGB 2 gray 16s 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 1c9e886a6a cvtColor YCrCb 2 RGB 32f 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 97fad1cb53 cvtColor RGB 2 YCrCb 32f 2015-01-12 10:59:29 +03:00
Ilya Lavrenov b99396ab12 cvtColor RGB 2 YCrCb 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 940f1e7914 interliving / deinterliving 2015-01-12 10:59:29 +03:00
Ilya Lavrenov fe371bf624 cvtColor Gray 2 BGR5x5 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 9cacd3261d cvtColor BGR5x5 2 Gray 2015-01-12 10:59:29 +03:00
Ilya Lavrenov edee922b59 cvtColor YCrCb 2 RGB 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 5f2135695e cvtColor rgb 2 YCrCb 2015-01-12 10:59:29 +03:00
Ilya Lavrenov bfb45b27e6 column sum 32s 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 1ca35b7424 resize are fast 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 56f3c92737 pyrUp and pyrDown 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 63fc6ef316 convertTo from 64f 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 8870ef4159 convertTo from 16u, 16s, 32s, 32f 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 116fb275a8 convertTo from 8s 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 19e77e4787 convertTo from 8u 2015-01-12 10:59:29 +03:00
Ilya Lavrenov b758dbd384 convertTo AVX2 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 3a78a22733 convertScaleAbs for s8, f64 2015-01-12 10:59:29 +03:00
Ilya Lavrenov 5578088983 countNonZero 2015-01-12 10:59:28 +03:00
Ilya Lavrenov 972ff1d0c4 polarToCart 2015-01-12 10:59:28 +03:00
Ilya Lavrenov 0a5c9cf145 magnitude 64f 2015-01-12 10:59:28 +03:00
Ilya Lavrenov 6ab928fb39 phase 64f 2015-01-12 10:59:28 +03:00
Ilya Lavrenov a2a8ba17fc compare 2015-01-12 10:59:28 +03:00
Ilya Lavrenov 8d48632ebe avx2 2015-01-12 10:59:28 +03:00
Vladislav Vinogradov d8272b9395 remove "-target-os-variant" NVCC option for CUDA 7.0
it is marked as obsolete
2015-01-12 10:58:43 +03:00
Olexa Bilaniuk c175a86cbb Merge remote-tracking branch 'upstream/master' into rho 2015-01-12 02:11:14 -05:00
Timur Sattarov 4762728fd5 More sensible error messages 2015-01-11 03:56:07 +04:00
Josep Bosch 75c99d65a5 Fisheye calibration methods available now in python 2015-01-09 10:05:36 +01:00
Yan Wang 75277bb770 Remove unnecessary global/local dim for radius match.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-01-09 13:37:00 +08:00
Nisarg Thakkar a11c02497f Fixed Bug similar to Bug#3757. UMat all dims zero after release. 2015-01-08 13:48:48 +05:30
orestis c7b2e48efe Canny TBB Optimization 2015-01-07 19:54:20 +02:00
Alexander Alekhin 28833421ae Merge pull request #3580 from JoeHowse:master 2015-01-05 19:40:37 +00:00
Alexander Alekhin e607a4ec02 Merge pull request #3579 from basheersubei:patch-1 2015-01-05 19:39:39 +00:00
Joe Howse 379de5708f Fix shadowed variable warning 2015-01-05 10:56:46 -04:00
Basheer Subei fd1cae0dcc typo fix in instructions of fitline.py sample 2015-01-05 00:09:00 +03:00
Ashod Nakashian 473964806c Added imread and imreadmulti regression tests. 2015-01-03 12:48:29 -05:00
Ashod Nakashian 61ca38103c Added imreadmulti API to read multi-paged images into a vector of Mat. 2015-01-03 00:09:35 -05:00
Ashod Nakashian ecf359b8c9 Support for multipage decoding in BaseImageDecoder and implemented in TiffDecoder. 2015-01-03 00:09:34 -05:00
Mike Izbicki ac47c0c624 fix to work with python 2.6
I had to make this modification locally to get opencv to build with python 2.6.  Python 2.6 requires indices in the format string (the `0` I added).  This requirement was relaxed in 2.7, so what used to be there would be working for people who could upgrade. I don't think the change has any negative consequences for future python versions, but I'm no expert.
2015-01-02 14:41:44 -08:00
Ilya Lavrenov 68962adc54 SSE mul 2014-12-31 17:58:54 +03:00
Ilya Lavrenov 60f2f7898a SSE4.1 addWeighted fo 16u 2014-12-31 17:55:30 +03:00
Vadim Pisarevsky 6cb93445e1 Merge pull request #3548 from alalek:fix_sample_python 2014-12-31 09:31:33 +00:00
Vadim Pisarevsky 2f6db4dfac Merge pull request #3547 from ilya-lavrenov:ocl_setto 2014-12-31 09:30:40 +00:00
Vadim Pisarevsky 33a6e5ac04 Merge pull request #3493 from vbystricky:createsamples 2014-12-31 09:29:57 +00:00
Maksim Shabunin 38d37d2b00 Fixed uninitialized memory usage in ANN_MLP 2014-12-31 12:16:26 +03:00
Maksim Shabunin d004ee58c5 Support loading old models in ML module
- added test for loading legacy files
- added version to new written models
- fixed loading of several fields in some models
- added generation of new fields from old data
2014-12-31 12:16:25 +03:00
Vadim Pisarevsky 1c8493fb0d Merge pull request #3549 from mshabunin:sphinx-doc-remove 2014-12-31 09:14:22 +00:00
Vadim Pisarevsky c937e15763 Merge pull request #3555 from ilya-lavrenov:sse_integral 2014-12-31 09:13:18 +00:00
Vadim Pisarevsky f792fdc3e0 Merge pull request #3559 from ilya-lavrenov:sse_dot_s8 2014-12-31 08:06:06 +00:00
Vadim Pisarevsky 2bddbd2cb5 Merge pull request #3558 from ilya-lavrenov:sse_resize 2014-12-31 08:04:00 +00:00
Vadim Pisarevsky ba8a971742 Merge pull request #3551 from serval2412:master 2014-12-31 06:09:29 +00:00
Vadim Pisarevsky 2b30759af0 Merge pull request #3556 from rokm:semicolon-warnings 2014-12-31 06:08:12 +00:00
Vadim Pisarevsky 622cf566b9 Merge pull request #3560 from ilya-lavrenov:sse_remap 2014-12-31 06:07:02 +00:00
Vadim Pisarevsky 9c872f5316 Merge pull request #3567 from vbystricky:intelperc_fix 2014-12-31 06:06:18 +00:00
vbystricky 083d8645a5 Fix error of compilation of cap_intelperc.cpp 2014-12-30 15:38:03 +03:00
Vladislav Vinogradov f50a061225 added stream parameter to all cudaimgproc routines 2014-12-30 15:37:45 +03:00
Vladislav Vinogradov 220d937d9a removed buffered versions of histogram functions
used BufferPool mechanism instead
2014-12-30 15:37:45 +03:00
Vadim Pisarevsky 2fd01ee24e Merge pull request #3550 from JoeHowse:master 2014-12-30 11:10:02 +00:00
Chris Mayo 34f0da6010 Act on INSTALL_PYTHON_EXAMPLES 2014-12-30 10:13:10 +00:00
Maksim Shabunin f8d09945ac Added dummy build targets for compatibility 2014-12-30 12:11:37 +03:00
Vladislav Vinogradov b4e7ee46c6 fix compilation without CUDA 2014-12-30 11:06:33 +03:00
Vladislav Vinogradov cd0e95de16 refactor cudaarithm reductions:
* remove overloads with explicit buffer, now BufferPool is used
* added async versions for all reduce functions
2014-12-30 11:06:33 +03:00
Vladislav Vinogradov a4e598f474 use new BufferPool class for some cudaarithm routines 2014-12-30 11:06:33 +03:00
Vladislav Vinogradov 7454189c2a use new getInputMat/getOutputMat/syncOutput methods in cudaarithm routines 2014-12-30 11:06:33 +03:00
Vladislav Vinogradov 3d0410c147 remove reciprocal version of cuda::divide
it might cause errors, due to implicit type conversion and another cuda::divide
overload
2014-12-30 11:06:32 +03:00
Vladislav Vinogradov 00e7816c1b add auxiliary functions to work with Input/Output arrays:
they allow to perform asynchronous upload/download into temporary buffer
to get valid GpuMat object
2014-12-30 11:06:32 +03:00
Maksim Shabunin d04fc15e06 Replaced tabs with spaces in stylesheet 2014-12-30 10:52:08 +03:00
Ilya Lavrenov 02b2fdeda9 SSE resize Lanczos 2014-12-30 10:41:23 +03:00
Yan Wang 9699fde8d2 Use hypot to do vector calculation.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2014-12-30 14:12:28 +08:00
Olexa Bilaniuk 46631c4b18 Merge remote-tracking branch 'upstream/master' into rho 2014-12-29 20:55:24 -05:00
Ilya Lavrenov 042895977e SSE2 conversio in remap 2014-12-30 01:00:22 +03:00
Ilya Lavrenov f57136fd79 SSE2 cv::Mat::dot 2014-12-30 00:34:09 +03:00
Ilya Lavrenov f6b3bc01e5 addWeighted 2014-12-29 22:01:53 +03:00
Rok Mandeljc e3b32cce80 modules/core: removed extra semi-colon from mat.inl.hpp and utility.hpp
This silences the pedantic warning messages from gcc 4.8.3
2014-12-29 16:23:43 +01:00
Ilya Lavrenov 9436103ed6 SSE2 optimization of cv::integral 2014-12-29 15:51:55 +03:00
Ilya Lavrenov 1af7d397d4 optimization of UMat::setTo 2014-12-29 13:34:21 +03:00
Julien Nabet 2d5e3b57ea Fix cppcheck reports warnings:
(performance) Possible inefficient checking for 'lmap' emptiness
(warning) Assignment of function parameter has no effect outside the function. Did you forget dereferencing it?
(style) Array index '<xxx>' is used before limits check
2014-12-27 10:54:34 +01:00
Joe Howse 2d16026df6 more const correctness in OpenNI2 getProperty 2014-12-27 00:11:14 -04:00
Joe Howse b7a3204c57 const correctness in OpenNI and OpenNI2 getProperty 2014-12-26 23:54:03 -04:00
Joe Howse a963ade012 Removing whitespace to appease doc builder 2014-12-26 21:15:45 -04:00
Joe Howse 450ba8b43f Frontal cat face detectors 2014-12-26 20:13:13 -04:00
Maksim Shabunin 11591b3e9d Added Qt help generation support 2014-12-26 19:17:18 +03:00
Maksim Shabunin 3ffae9f7b7 Some documentation customization 2014-12-26 19:17:18 +03:00
Maksim Shabunin b4050c775e Updated sample files documentation inclusions 2014-12-26 19:17:18 +03:00
Maksim Shabunin ec9a17e71a Restored PlantUML support for doxygen 2014-12-26 19:17:18 +03:00
Maksim Shabunin ad6a80f68c Moved tutorial table-of-contents files to corresponding root level 2014-12-26 19:17:14 +03:00
Maksim Shabunin bebf6c47c6 Removed Sphinx generation commands from cmake scripts 2014-12-26 19:17:08 +03:00
Maksim Shabunin d01bedbc61 Removed Sphinx documentation files 2014-12-26 19:12:19 +03:00
Vadim Pisarevsky 61991a3330 Merge pull request #3444 from Sync-my-L2P:patch-1 2014-12-26 14:40:29 +00:00
Vadim Pisarevsky 27b224ac74 Merge pull request #3485 from mapycz:fix-calibrate-crash 2014-12-26 14:38:54 +00:00
Vadim Pisarevsky 61886a61de Merge pull request #3504 from a-wi:VideoCapture_get_const_v3 2014-12-26 14:37:47 +00:00
Vadim Pisarevsky 9c2ef369ed Merge pull request #3530 from jet47:win-install-testdata 2014-12-26 14:34:39 +00:00
Vadim Pisarevsky 0ff67253f7 Merge pull request #3531 from jet47:cuda-core-refactoring 2014-12-26 12:12:42 +00:00
Vadim Pisarevsky f85838087a Merge pull request #3539 from mshabunin:openni-linux-paths 2014-12-26 12:12:01 +00:00
Vadim Pisarevsky 18025c2908 Merge pull request #3546 from jet47:cuda-imgproc-fixes 2014-12-26 12:07:12 +00:00
Alexander Alekhin 63fc313d02 samples: fix python contants 2014-12-26 14:47:36 +03:00
Vladislav Vinogradov fe3f236aa5 disable GeneralizedHoughGuil performance test 2014-12-26 12:04:07 +03:00
Vladislav Vinogradov f36546dbd2 improve error reporting in _InputArray methods 2014-12-26 12:03:25 +03:00
Vladislav Vinogradov 7c901e39e1 disable sanity test for GeneralizedHoughGuil
the algorithm is not stable yet
2014-12-25 19:23:16 +03:00
Vladislav Vinogradov 18d1be4530 fix tests for match template 2014-12-25 19:23:16 +03:00
Vladislav Vinogradov 26afa49d71 fix cuda match template:
use correct types for integral/sum outputs
2014-12-25 19:23:16 +03:00
Vladislav Vinogradov 9b8c3fd675 rewrite cuda::cvtColor with new device layer and fix test failures 2014-12-25 19:23:15 +03:00
Maksim Shabunin 128e509527 Added enviroment search paths for OpenNI2 for linux and fixed specific warning 2014-12-24 15:07:05 +03:00
Vadim Pisarevsky 1bdd86edeb Merge pull request #3523 from jet47:fix-cuda-buffer-pool 2014-12-24 11:20:27 +00:00
Vadim Pisarevsky cddee22cf2 Merge pull request #3527 from jet47:cuda-deprivate-old-device-layer 2014-12-24 11:20:06 +00:00
Vadim Pisarevsky 214f633dd4 Merge pull request #3541 from jet47:find-cuda-update 2014-12-24 11:14:54 +00:00
Vadim Pisarevsky 5d15676b7b Merge pull request #3532 from oresths:filter_neon 2014-12-24 09:02:24 +00:00
Vadim Pisarevsky 8d4d36f805 Merge pull request #3538 from alalek:icv_fix_package 2014-12-24 09:00:32 +00:00
Vladislav Vinogradov e4d0652899 [FindCUDA] improvements for cross-platform build
* improve `CUDA_TARGET_CPU_ARCH` cache initialization,
    allow to override initial value from calling script;
* add `CUDA_TARGET_OS_VARIANT` option to select OS variant;
* add `CUDA_TARGET_TRIPLET` option to select target triplet from
    `${CUDA_TOOLKIT_ROOT_DIR}/targets` folder;
* remove `CUDA_TOOLKIT_TARGET_DIR` option, now it is calculated from
    `CUDA_TARGET_TRIPLET`, the old approach still can be used for compatibility;
* for CUDA 6.5 and newer try to locate static libraries too, because
   in 6.5 toolkit for ARM cross compilation only static libraries are included.
2014-12-23 17:48:18 +03:00
Vladislav Vinogradov c4246bc59c update FindCUDA CMake module to the latest version from upstream 2014-12-23 17:47:04 +03:00
Vladislav Vinogradov e7e0da0153 fix GpuMat::swap method:
add swap instruction for allocator field
2014-12-23 17:43:28 +03:00
Vladislav Vinogradov b33f3bb2cc refactor CV_CUDA_TEST_MAIN, use CV_TEST_MAIN for it
use CV_CUDA_TEST_MAIN for opencv_test_core to initialize CUDA
device information
2014-12-23 17:43:14 +03:00
Vladislav Vinogradov 8237418be6 add Allocator parameter to cudev::GpuMat_ contructors 2014-12-23 17:42:49 +03:00
Vladislav Vinogradov f054d6316a add cuda::HostMem::getAllocator method
it allows to use cudaHostAlloc methods for cv::Mat objects
2014-12-23 17:42:49 +03:00
Vladislav Vinogradov 2f8e1798ca add more FeatureSet constants 2014-12-23 17:42:49 +03:00
Vladislav Vinogradov 1be1a28920 move CUDA core tests to core module 2014-12-23 17:42:49 +03:00
Vladislav Vinogradov 53862687d5 rename CudaMem -> HostMem to better reflect its purpose 2014-12-23 17:42:49 +03:00
Vladislav Vinogradov 9210d8e542 move allocMatFromBuf function to farneback.cpp:
* it is the only place, where it is used
* no need to make this function public
2014-12-23 17:42:49 +03:00
Vladislav Vinogradov 1d82aecf45 minor reorganization for CUDA doxygen groups:
move main CUDA group to modules/core/cuda.hpp
2014-12-23 17:42:20 +03:00
Vladislav Vinogradov b5ab82fdbd mark old CUDA device layer as deprecated and remove it from doxygen documentation
add a note to use new cudev module as a replacement
2014-12-23 17:42:14 +03:00
Vladislav Vinogradov 68e08bbecd fix null stream initialization for multi-gpu systems 2014-12-23 17:41:24 +03:00
Vladislav Vinogradov 05d40946f3 move StackAllocator to cpp file
it is internal class, no need to export it
2014-12-23 17:41:24 +03:00
Vladislav Vinogradov 7ed38b97c3 fix cuda::BufferPool deinitialization
The deinitialization of BufferPool internal objects is controled by global
object, but it depends on other global objects, which leads to errors
caused by undefined deinitialization order of global objects.

I merge global objects initialization into single class, which performs
initialization and deinitialization in correct order.
2014-12-23 17:41:24 +03:00
Vladislav Vinogradov b75b0c822d install test data on Windows platform too 2014-12-23 17:40:41 +03:00
Alexander Alekhin 864ec5ef45 IPPICV: don't use full paths in dependencies 2014-12-23 17:23:35 +03:00
Vadim Pisarevsky fd6ef87c32 Merge pull request #3529 from jet47:fix-linux-install 2014-12-23 13:38:23 +00:00
Vadim Pisarevsky 95ec92994d Merge pull request #3536 from mshabunin:doxygen-intro 2014-12-23 13:36:40 +00:00
Jiri Drbalek d71e001736 fix crash when sample point out of image boundaries 2014-12-22 21:01:17 +00:00
Maksim Shabunin 06c2a70c49 Fixed some mistakes 2014-12-22 17:21:37 +03:00
Maksim Shabunin 637b615e08 Tutorial: documenting OpenCV 2014-12-22 15:51:37 +03:00
Vadim Pisarevsky d9f159a554 Merge pull request #3513 from mshabunin:compat-30 2014-12-22 11:58:01 +00:00
Vadim Pisarevsky c0005fd293 Merge pull request #3520 from JoeHowse:master 2014-12-22 11:14:29 +00:00
Vadim Pisarevsky f12bd999bf Merge pull request #3524 from jet47:fix-cuda-warnings 2014-12-22 10:58:07 +00:00
Vadim Pisarevsky a1df295079 Merge pull request #3525 from jet47:fix-cudev-tests 2014-12-22 10:57:07 +00:00
Vadim Pisarevsky 7b20ce4952 Merge pull request #3490 from oresths:symmcolumnsmall_fix 2014-12-22 10:44:47 +00:00
Vadim Pisarevsky 432546e4c4 Merge pull request #3512 from vins31:OpenNi2_AsusXtion 2014-12-22 10:39:42 +00:00
Vadim Pisarevsky 700a388173 Merge pull request #3499 from StevenPuttemans:fix_2432 2014-12-22 10:29:31 +00:00
Vadim Pisarevsky 5fea331d42 Merge pull request #3510 from boaz001:feature-4057 2014-12-22 10:27:33 +00:00
Vadim Pisarevsky 1ab551487d Merge pull request #3516 from ana-GT:openni2_defaultMode 2014-12-22 10:26:30 +00:00
Vadim Pisarevsky 060d67517a Merge pull request #3518 from wangyan42164:ocl_cascade_detect 2014-12-22 10:25:47 +00:00
Vadim Pisarevsky 199f1aec2e Merge pull request #3519 from fvgoto:patch-1 2014-12-22 10:25:00 +00:00
Vadim Pisarevsky 35d730bf2b Merge pull request #3528 from ilya-lavrenov:update_android_cmake 2014-12-22 10:22:20 +00:00
Vladislav Vinogradov ec33c4ae36 increase epsilons for tests due to different optimizations (IPP vs CUDA, float vs double) 2014-12-22 11:48:45 +03:00
Vladislav Vinogradov 25f33a7e30 update cudev color conversions according to the latest changes in CPU code 2014-12-22 11:48:45 +03:00
Vladislav Vinogradov 48c9c24da6 disable -Wshadow warning for CUDA modules:
it is generated by CUDA headers and we can't fix it
2014-12-22 11:48:19 +03:00
orestis fffe2464cd Change DescriptorExtractor_ORB regression test
to compensate for neon ieee754 non-compliancy.
Also changed the comparison between max valid and calculated distance to
make the error message more accurate (in case curMaxDist == maxDist)
2014-12-21 21:27:03 +02:00
orestis 9811a739b0 Change gaussianBlur5x5 perf test epsilon
Set it 1 instead of 0.001, as is already done in gaussianBlur3x3. That
will allow integer destination matrices that are not exactly the same,
but very close to the expected result, to pass the test.
2014-12-20 17:14:21 +02:00
orestis 9c6da03504 SymmRowSmallVec_32f 1x5 asymm
NEON speedup: 2.31x
Auto-vect speedup: 2.26x

Test kernel: [-0.9432, -1.1528, 0, 1.1528, 0.9432]
2014-12-19 22:51:42 +02:00
orestis 13c0855114 SymmRowSmallVec_32f 1x5
NEON speedup: 2.36x
Auto-vect speedup: 2.36x

Test kernel: [0.1, 0.2408, 0.3184, 0.2408, 0.1]
2014-12-19 22:47:06 +02:00
orestis ed0ce48179 SymmColumnVec_32f16s asymm
NEON speedup: 9.46x
Auto-vect speedup: 1x

Test kernel: [-0.9432, -1.1528, 0, 1.1528, 0.9432]
2014-12-19 22:44:39 +02:00
orestis a2a131799f SymmColumnVec_32f16s
NEON speedup: 8.64x
Auto-vect speedup: 1x

Test kernel: [0.1, 0.2408, 0.3184, 0.2408, 0.1]
2014-12-19 22:42:31 +02:00
orestis 37e018454d SymmColumnSmallVec_32s16s 3x1 asymm
NEON speedup: 2.12x
Auto-vect speedup: 1.01x

Test kernel: [-2, 0, 2]
2014-12-19 22:40:55 +02:00
orestis 4443d6b0a1 SymmColumnSmallVec_32s16s [-1, 0, 1]
NEON speedup: 3.27x
Auto-vect speedup: 1.01x
2014-12-19 22:37:52 +02:00
orestis 99e782e62c SymmColumnSmallVec_32s16s 3x1
NEON speedup: 1.75x
Auto-vect speedup: 1x
2014-12-19 22:36:46 +02:00
orestis 33dfeb85be SymmColumnSmallVec_32s16s [3, 10, 3] Scharr
NEON speedup: 2.04x
Auto-vect speedup: 1x
2014-12-19 22:35:52 +02:00
orestis 61a7f48bf4 SymmColumnSmallVec_32s16s [1, -2, 1]
NEON speedup: 2.75x
Auto-vect speedup: 1.01x
2014-12-19 22:34:11 +02:00
orestis 4f906372e2 SymmColumnSmallVec_32s16s [1, 2, 1]
NEON speedup: 2.66x
Auto-vect speedup: 1x
2014-12-19 22:33:11 +02:00
orestis 80a0364465 SymmColumnVec_32s8u asymm
NEON speedup: 2.95x
Auto-vect speedup: 1x

Test kernel: [-0.9432, -1.1528, 0, 1.1528, 0.9432]
2014-12-19 22:29:54 +02:00
orestis 4f5916f12d SymmColumnVec_32s8u
NEON speedup: 1.96x
Auto-vect speedup: 1x

Test kernel: [0.0708, 0.2445, 0.3694, 0.2445, 0.0708]
2014-12-19 22:26:41 +02:00
orestis 1fb966dc61 SymmRowSmallVec_8u32s 1x5 asymm
NEON speedup: 3.14x
Auto-vect speedup: 1.6x

Test kernel: [-5, -2, 0, 2, 5]
2014-12-19 22:23:09 +02:00
orestis 2e7b9a2c0f SymmRowSmallVec_8u32s 1x3 asymmetric
NEON speedup: 1.95x
Auto-vect speedup: 1.17x

Test kernel: [-2, 0, 2]
2014-12-19 22:15:37 +02:00
orestis 969a218057 SymmRowSmallVec_8u32s [-1, 0, 1]
NEON speedup: 1.84x
Auto-vect speedup: 1.2x
2014-12-19 22:11:52 +02:00
orestis c0019a42e4 SymmRowSmallVec_8u32s 1x5 general
NEON speedup: 3.86x
Auto-vect speedup: 1.67x

Test kernel: [0.0708, 0.2445, 0.3694, 0.2445, 0.0708]
2014-12-19 22:10:58 +02:00
orestis cb48d7798d SymmRowSmallVec_8u32s 1x3 general
NEON speedup: 2.56x
Auto-vect speedup: 1.26x

Test kernel: [1, 3, 1]
2014-12-19 22:08:23 +02:00
orestis 0ba3b06efd SymmRowSmallVec_8u32s [1, 2, 1]
NEON speedup: 4.1
Auto-vect speedup: 2.25
2014-12-19 22:02:57 +02:00
Maksim Shabunin c485aee464 Included c-headers for better 2.4 compatibility 2014-12-19 17:05:26 +03:00
Vladislav Vinogradov b15cf355af remove opencv_testing.sh installation to /etc/profile.d/
opencv_run_all_tests_unix.sh already exports OPENCV_TEST_DATA_PATH
2014-12-19 11:55:38 +03:00
Ilya Lavrenov 96adeb71ca update android.toolchain.cmake 2014-12-18 19:31:10 +03:00
Vadim Pisarevsky 79f770455b Merge pull request #3517 from wangyan42164:ocl_denoising_2 2014-12-18 14:50:13 +00:00
Joe Howse 13c04120dd For Java compatibility, avoiding explicit pseudonym in enum 2014-12-16 21:37:14 -04:00
Ana Huaman Quispe 1ad1b737c2 Fixed registration bug: It was ALWAYS OFF - even after changing the property 2014-12-16 19:45:50 -05:00
Joe Howse 620a969285 Allow BGR, RGB, or gray capture via libv4l 2014-12-16 20:07:37 -04:00
Artur Wieczorek 854a722c70 Implement VideoCapture::get, CvCapture::getProperty, IVideoCapture::getProperty as constant methods. 2014-12-16 16:08:22 +01:00
Florian Verdet f87f0cc481 fix obvious copy+paste typo in computeDistance()
(with this else-branch, argument contour2 would not be used at all)
2014-12-16 12:46:07 +01:00
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
Yan Wang fd2d800c06 Remove unnecessary local variable "size".
It should also be better for optimizing when compiling kernel.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2014-12-16 14:25:24 +08:00
Ana Huaman Quispe 0b429fee7b Changed CV_DbgAssert to CV_Assert when setting video modes for OpenNI2. Otherwise, in release mode the default modes never get set 2014-12-15 18:16:25 -05:00
Vadim Pisarevsky 009aec5164 Merge pull request #3491 from mshabunin:ios-extra-world 2014-12-15 18:07:09 +00:00
Vadim Pisarevsky 3c74c23bad Merge pull request #3473 from TobyWanKenobi:master 2014-12-15 18:04:01 +00:00
Vadim Pisarevsky d54b069ae1 Merge pull request #3448 from Ashod:highgui_trackbar_improvements 2014-12-15 18:03:01 +00:00
Olexa Bilaniuk bcc630a8dc Merge remote-tracking branch 'upstream/master' into rho 2014-12-15 12:31:22 -05:00
StevenPuttemans edb608d206 fix documentation bug 2432 2014-12-15 11:53:55 +01:00
vincentweb 4d12beb723 Added better OpenNI2 support to the Asus Xtion and Occipital Structure
sensors which do not have image generators.
2014-12-14 20:52:24 +01:00
Boaz Stolk bb873b1de5 add option to link to dynamic IPP libraries 2014-12-12 14:21:47 +01:00
Sync-my-L2P 5a43c7a28e Update segmentation.cpp
removed trailing whitespaces
2014-12-11 17:36:36 +01:00
vbystricky c48f30d4ec Move createsamples application from 2.4 version 2014-12-10 12:17:58 +04:00
Vadim Pisarevsky fed1b3fd59 Merge pull request #3495 from taka-no-me:fix_android_arm64 2014-12-09 14:12:22 +00:00
Vadim Pisarevsky 25378587e2 Merge pull request #3479 from mshabunin:doxygen-tutorials 2014-12-09 14:06:23 +00:00
Vadim Pisarevsky 10dc5a3759 Merge pull request #3492 from Dmitry-Me:reduceVariablesScope1 2014-12-09 14:05:35 +00:00
Andrey Kamaev 9582c33eab Fix build for Android arm64-v8a 2014-12-09 12:06:56 +03:00
Alexander Alekhin 0f7721e915 Merge pull request #3486 from Chuanbo-Weng:repeat-perf 2014-12-08 15:49:21 +00:00
Dmitry-Me f269828160 Reduce variables scope, move declaration to first use point 2014-12-08 18:21:17 +03:00
TobyWanKenobi b35f5d115f Removed "FORMAT_XML" to generalize format
Removed the "FileStorage::FORMAT_XML" to generalize format of the String
model.
2014-12-08 09:21:55 +01:00
orestis c762da9893 Fix SymmColumnSmallVec_32s16s SSE code
Specifically, in general antisymmetric case src[-1] (S0) should be
subtracted from from src[1] (S2), and not the opposite.
2014-12-06 19:53:07 +02:00
Ashod Nakashian 006384edaf highgui: Support to change trackbar count in setTrackbarPos and replaced deprecated CreateToolbarEx in Windows. 2014-12-06 11:55:17 -05:00
Vadim Pisarevsky 0a4c616d43 Merge pull request #3487 from taka-no-me:ctrl_s_gtk 2014-12-06 10:04:22 +00:00
Vadim Pisarevsky ef347f4b62 Merge pull request #3472 from Dmitry-Me:preventDivByZero 2014-12-06 08:09:01 +00:00
Vadim Pisarevsky e0ab007b2b Merge pull request #3475 from fhsm:master 2014-12-06 08:08:44 +00:00
Vadim Pisarevsky ef534537b4 Merge pull request #3478 from akarsakov:rect_fix_typo 2014-12-06 08:08:27 +00:00
Vadim Pisarevsky bada364eb3 Merge pull request #3481 from mshabunin:python-test 2014-12-06 08:07:39 +00:00
Olexa Bilaniuk 51963f95dd Merge remote-tracking branch 'upstream/master' into rho 2014-12-05 15:56:33 -05:00
Maksim Shabunin c28fea32c7 Build separate world-like iOS framework for contrib 2014-12-05 17:48:28 +03:00
Alexander Alekhin 893deb4040 Merge pull request #3483 from wangyan42164:ocl_orb_improve 2014-12-05 12:55:54 +00:00
Alexander Alekhin 1252e870f9 Merge pull request #3482 from wangyan42164:ocl_brute_match_improve 2014-12-05 12:55:29 +00:00
Maksim Shabunin ecfd056111 Fixed whitespace warnings in new tutorials 2014-12-05 15:33:53 +03:00
Andrey Kamaev 05bc48e8f4 Make Ctrl+S open save dialog on Gtk backend 2014-12-05 14:53:19 +03:00
Andrey Kamaev fac99de7ec It turns opengl gheck is not needed for win ctrl+s 2014-12-05 14:52:44 +03:00
Yan Wang 2df606f098 Use sincos instead of sin and cos.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2014-12-04 15:48:23 +08:00
Yan Wang 1c9f956b88 Remove unnecesary operations and calculations in loop body.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2014-12-04 15:25:18 +08:00
Chuanbo Weng 2d8c89c40b Remove unnecessary kercn limitation of 4.
When accessing global memory by DWORD4, memory bandwidth
can be fully utilized on Intel platform. This patch will
make more image format(e.g. 8UC4) be processed in DWORD4
by work-item. After applying this patch, 3 subcase of
./opencv_perf_core --gtest_filter=OCL_RepeatFixture_Repeat.Repeat/*
can be speedup on HD4000 graphics card with Beignet:
OCL_RepeatFixture_Repeat.Repeat/2, 64% improvement.
OCL_RepeatFixture_Repeat.Repeat/6, 50% improvement.
OCL_RepeatFixture_Repeat.Repeat/8, 56% improvement.

Signed-off-by: Chuanbo Weng <chuanbo.weng@intel.com>
2014-12-04 11:15:13 +08:00
TobyWanKenobi f54b80d2c8 Re-edition of documentation
Re-edited the documentation again.
2014-12-03 17:13:11 +01:00
Maksim Shabunin 84379140ba Python test: added options to provide local data path 2014-12-03 18:12:01 +03:00
TobyWanKenobi b3bba3476d Re-editing Documentation
Attempting to re-editing the documentation, to satisfy buildbot error
status.
2014-12-03 15:54:25 +01:00
TobyWanKenobi 270af2ca79 Changing tabs to spaces.
Edited previous code to change tabs into spaces.
2014-12-03 15:40:12 +01:00
Alexander Karsakov bcca34bc96 Fixed typo in description of Rect operations 2014-12-03 16:01:03 +03:00
fhsm 146d66267f White space and spelling in meanshift tutorial
Removed a leading whitespace from a parenthetical comment and corrected the spelling of "maybe"
2014-12-02 12:46:05 -05:00
TobyWanKenobi a1e04c98aa Add method in StatModel class, to load from String
Added a method "loadFromString" which is based on the "load" one. It
allow to directly pass the XML string which can be usefull and faster
when you have a huge file in a variable.
2014-12-02 15:15:06 +01:00
Maksim Shabunin 6d282ddf72 Documentation: removed mention of Mat(IplImage*) constructor 2014-12-02 15:15:10 +03:00
Dmitry-Me cb049657e5 Prevent division by zero 2014-12-02 14:44:09 +03:00
Vadim Pisarevsky be5c910358 Merge pull request #3443 from HelenWong:bug3363Fix 2014-12-02 09:14:36 +00:00
Vadim Pisarevsky f61db41d25 Merge pull request #3453 from mshabunin:doxygen-others 2014-12-02 09:05:32 +00:00
Vadim Pisarevsky 46858c4328 Merge pull request #3463 from Dikay900:fix_sample_video_writer 2014-12-02 09:04:27 +00:00
Vadim Pisarevsky 726ed2632d Merge pull request #3469 from a-wi:Fill_ellipse_arc_v3 2014-12-02 09:03:52 +00:00
Vadim Pisarevsky bf5ff7fcd0 Merge pull request #3470 from Dmitry-Me:simplifyOverengineeredCode 2014-12-02 09:00:59 +00:00
Maksim Shabunin d3beb755df Doxygen tutorials: support contrib, some minor changes 2014-12-01 19:22:04 +03:00
Dmitry-Me c669b7e4cd Simplify overengineered code 2014-12-01 17:58:06 +03:00
Maksim Shabunin 4ccbd44559 User guide converted to doxygen 2014-12-01 16:40:06 +03:00
Artur Wieczorek 41afe54696 Fix determining bounding box of the edge collection in FillEdgeCollection().
There is necessary to account also x-coordinate of the end of the edge when determining bounding box of the edge collection.
2014-12-01 14:30:05 +01:00
Maksim Shabunin 812ce48c36 Doxygen tutorials: python final edits 2014-12-01 16:05:38 +03:00
Maksim Shabunin 875f922332 Doxygen tutorials: python basic 2014-12-01 16:05:38 +03:00
Maksim Shabunin 36a04ef8de Doxygen tutorials: cpp done 2014-12-01 16:05:38 +03:00
Maksim Shabunin c5536534d8 Doxygen tutorials: warnings cleared 2014-12-01 16:05:38 +03:00
Maksim Shabunin 8375182e34 Doxygen tutorials: basic structure 2014-12-01 16:05:37 +03:00
Maksim Shabunin 220f671655 Doxygen tutorials: some fixes in RST-docs 2014-12-01 16:05:37 +03:00
Maksim Shabunin 03e213ccae Doxygen documentation: BiB references and fixes 2014-12-01 15:50:55 +03:00
Maksim Shabunin 1523fdcc1c Doxygen documentation: more fixes and cleanups 2014-12-01 15:50:36 +03:00
Maksim Shabunin f9a83c28e5 Doxygen documentation: mathbbm support 2014-12-01 15:47:13 +03:00
Maksim Shabunin 6dcafe0c2d Doxygen documentation: cuda submodules reorganized 2014-12-01 15:47:13 +03:00
Maksim Shabunin 397bf7f2b7 Doxygen documentation: viz 2014-12-01 15:47:13 +03:00
Maksim Shabunin 9d89f8d3dc Doxygen documentation: shape, superres, videostab 2014-12-01 15:47:13 +03:00
Maksim Shabunin ceb6e8bd94 Doxygen documentation: cuda 2014-12-01 15:47:13 +03:00
Maksim Shabunin 472c210687 Doxygen documentation: flann, photo and stitching modules 2014-12-01 15:47:13 +03:00
Maksim Shabunin 8e9ea0e3d1 Doxygen doucmentation: ml module 2014-12-01 15:47:13 +03:00
Maksim Shabunin c5a698fb54 Doxygen documentation: calib3d and features2d modules 2014-12-01 15:47:13 +03:00
Maksim Shabunin dcae7698ad Doxygen documentation for: highgui, video, imgcodecs and videoio 2014-12-01 15:47:13 +03:00
Vadim Pisarevsky 1f43999f2a Merge pull request #3428 from 23pointsNorth:patch-6 2014-12-01 10:45:31 +00:00
Vadim Pisarevsky aadab03b7b Merge pull request #3452 from Dmitry-Me:fixIncorrectSizeComputation 2014-12-01 10:43:44 +00:00
Vadim Pisarevsky 02f4f2f96d Merge pull request #3426 from mshabunin:doxygen-imgproc 2014-12-01 10:43:13 +00:00
Vadim Pisarevsky d368a7ceb4 Merge pull request #3446 from pokeefe:fix-compilation-without-videoio 2014-12-01 10:41:35 +00:00
Vadim Pisarevsky 2f4c11b5e5 Merge pull request #3467 from Dikay900:fix_gpu_surf_perf_test_cpu_part 2014-12-01 10:37:40 +00:00
Vadim Pisarevsky 7106d3e8c2 Merge pull request #3458 from thorikawa:kmeans-index-parallel 2014-12-01 10:37:23 +00:00
Vadim Pisarevsky 6b0952b9bd Merge pull request #3464 from asuwend1:master 2014-12-01 10:30:49 +00:00
Vadim Pisarevsky 2dd438c230 Merge pull request #3457 from burun:patch-1 2014-12-01 10:29:51 +00:00
Vadim Pisarevsky 88f67ce6b1 Merge pull request #3466 from taka-no-me:ctrl_s_win 2014-12-01 10:26:27 +00:00
Dikay900 44f629f99c fix gpu sample performance test cpu part 2014-11-30 15:19:16 +01:00
Andrey Kamaev 3fa02787ac Make Ctrl+S open save dialog on Windows 2014-11-30 00:43:21 +03:00
Ari Suwendi b14f7c99d2 bug fix for a crash when input image is small 2014-11-29 01:57:15 -08:00
Dikay900 8c919ed248 samples: gpu: fix include of TickMeter 2014-11-28 19:19:20 +01:00
Takahiro Poly Horikawa 553bb7956e Fix "assignment operator could not be generated" warnings 2014-11-28 19:33:52 +09:00
Takahiro Poly Horikawa 180e54d09d - Use cv::Mutex to safely update converged flag
- Use cv::AutoBuffer rather than new allocation
- Fix "assignment operator could not be generated" warning
2014-11-28 18:39:49 +09:00
Alexander Alekhin 50c9367d7a Merge pull request #3451 from wangyan42164:ocl_pyrup_unrolled 2014-11-27 09:53:36 +00:00
Takahiro Poly Horikawa 123ca7e1c5 Parallize building kmeans index in flann 2014-11-27 16:29:05 +09:00
burun c52a3f7634 Update py_colorspaces.rst
mask = cv2.inRange(hsv, lower_green, upper_green)
to
mask = cv2.inRange(hsv, lower_blue, upper_blue)
2014-11-27 09:00:40 +02:00
HelenWong e88bf2bc30 Updated Documentation (HoughCircles)
Rewrite the note on HoughCircles documentation to make it more clear

Add note to clarify that the output vector of found circles is sorted by
descending order of centres accumulator values.

Also delete reductant lines on the HoughCircles documentation.

Added comments to hough circles function.

Added comments to icvhoughgradient

Misalignment in line 1183 corrected
2014-11-26 11:37:33 -08:00
Dmitry-Me 4ff8a3ad92 Fix incorrect size computation 2014-11-26 12:24:53 +03:00
Yan Wang 6e7050555e Optimize pyrUp_unrolled() by mad function.
It could improve performance when image size is large.
E.g. OCL_PyrUpFixture_PyrUp.PyrUp/18
2014-11-26 16:55:08 +08:00
Pat O'Keefe 6d78cfc0d9 Fix compilation when building without the Video I/O module. 2014-11-25 13:52:07 -05:00
Sync-my-L2P f14b8b4341 Update segmentation.cpp
Added detailed comments to watershed()
2014-11-25 16:25:56 +01:00
Vadim Pisarevsky 73ba435610 Merge pull request #3435 from oresths:filter_anchor_fix 2014-11-24 09:38:42 +00:00
Vadim Pisarevsky 15952d7188 Merge pull request #3436 from oresths:compiler_option 2014-11-24 09:37:27 +00:00
Olexa Bilaniuk 38e3f2c7f5 Merge https://github.com/Itseez/opencv into rho 2014-11-22 12:28:19 -05:00
orestis aad98e545f Remove redundant -mfpu=neon flag.
This flag is already added in line 131.
2014-11-19 23:26:36 +02:00
orestis a7757b0eb6 Fix anchor for small symmetrical column filters.
In the unoptimized version of small symmetrical column filters, when we
try to detect if the kernel, ky, is equal to [1;2;1] or [1;-2;1] we
should take into consideration that the anchor points in the middle
element.
2014-11-19 23:12:58 +02:00
Vadim Pisarevsky ba9bc2d72f Merge pull request #3409 from fish2000:patch-1 2014-11-19 16:25:36 +00:00
Vadim Pisarevsky b009e8d0fb Merge pull request #3411 from eltermann:master 2014-11-19 16:25:12 +00:00
Vadim Pisarevsky 7ed5284ae6 Merge pull request #3432 from taka-no-me:wintitle 2014-11-19 16:23:52 +00:00
Andrey Kamaev f4ba8b13c7 Add cv::setWindowTitle to highgui 2014-11-18 16:54:03 +03:00
Andrey Kamaev 1744098438 silence cmake 3.0+ warnings on LOCATION attribute 2014-11-18 16:18:22 +03:00
Maksim Shabunin 555fdf893a Documenting imgproc module
- disabled doxygen tree
- enabled doxygen enum listing
- added imgproc reference to main page
- enabled BiB support
- chenged doxygen root page format
2014-11-18 14:00:56 +03:00
Olexa Bilaniuk 68e59d6154 [RHO] Initial commit of RHO algorithm for rapid homography estimation.
Implements the RHO algorithm as presented in

Paper: Bilaniuk, Olexa, Hamid Bazargani, and Robert Laganiere. "Fast
Target Recognition on Mobile Devices: Revisiting Gaussian Elimination
for the Estimation of Planar Homographies." In Computer Vision and
Pattern Recognition Workshops (CVPRW), 2014 IEEE Conference on, pp.
119-125. IEEE, 2014.

- Complete, heavily documented reference C implementation, as well as
temporarily disabled dirty SSE2 port.
- Enabled tests for RHO in test_homography; Currently these fail
presumably due to too-stringent accuracy requirements.
- Refinement and final refinement are not yet functional; Do not pass
their corresponding flags to RHO.
2014-11-17 15:06:08 -05:00
Vadim Pisarevsky 32348604e3 Merge pull request #3431 from PhilLab:patch-3 2014-11-17 13:39:46 +00:00
Philipp Hasper 799646e5d0 Typos in CMake 2014-11-17 12:30:12 +01:00
Vadim Pisarevsky d48e0a04ae Merge pull request #3424 from dsjolie:daniel 2014-11-16 18:10:01 +00:00
Vadim Pisarevsky 986878a881 Merge pull request #3422 from avdmitry:install_doc_update 2014-11-16 18:08:35 +00:00
Daniel Angelov 303868b3c4 Fixed variable name consistency
The function parameters were different from the ones described below.

P.S. Why is ``flow`` InputOutputArray, shouldn't it be just OutputArray? If so, shouldn't the reason be specified - e.g. so others can benefit as well (e.g. not allocating memory on every frame?)
2014-11-14 22:49:22 +00:00
Daniel Sjölie a9a45e1546 Merge remote-tracking branch 'upstream/master' into daniel 2014-11-14 13:44:06 +01:00
Dmitriy Anisimov 28944336d4 updated linux installation documentation 2014-11-14 12:32:42 +03:00
Vadim Pisarevsky 4b97e8c51c Merge pull request #3399 from mshabunin:doxygen-core 2014-11-13 07:25:27 +00:00
Vadim Pisarevsky d4db7807df Merge pull request #3415 from jet47:fix-gpu-perf-sample 2014-11-13 07:21:02 +00:00
Alexander Alekhin a16a11f32b Merge pull request #3413 from wangyan42164:denoising_opencl_improvement 2014-11-13 01:47:01 +00:00
Vladislav Vinogradov 1189606cd8 fix gpu performance sample compilation 2014-11-12 18:07:20 +03:00
Yan Wang a8b4c99ed6 Improve the performance of fast_nlmeans_denoising_opencl.
1. Remove unnecessary barriers.
2. Adjust CTA_SIZE based on the following cases for Intel platform:
   a) OCL_Photo_DenoisingGrayscale.DenoisingGrayscale
   b) OCL_Photo_DenoisingColored.DenoisingColored
2014-11-12 22:34:33 +08:00
Vadim Pisarevsky 4763d8033a Merge pull request #3406 from shiquanwang:Fix-bug-#4003_build-python-binding-under-python3 2014-11-12 11:26:19 +00:00
Maksim Shabunin 6aa7a86ae9 Doxygen documentation for core module 2014-11-12 14:21:58 +03:00
Vadim Pisarevsky 23a81c0fb8 Merge pull request #3407 from wangyan42164:canny_bug_fix 2014-11-12 11:09:55 +00:00
Yan Wang 184b6e314c Fix canny segment fault (Bug #3978)
Avoid stack overflow based on std::vector cause
std::vector::resize() segmentation fault.
2014-11-12 17:48:05 +08:00
Vadim Pisarevsky 77be6d64c1 Merge pull request #3410 from mgharbi:master 2014-11-12 08:49:50 +00:00
eltermann b3a60b9c22 Documentation fix on py_tutorials/py_feature2d 2014-11-11 17:10:33 -02:00
Michae Gharbi 28103ad386 Fix Cuda -Wl linker options
This line causes the following error when building custom projects that use OpenCV beta 3:
ld: warning: directory not found for option '-L/<project_root>/-Wl,/usr/local/cuda'
2014-11-11 12:12:28 -05:00
Vadim Pisarevsky bea86deea9 Merge pull request #3408 from ilya-lavrenov:doc_fix 2014-11-11 13:29:46 +00:00
Alexander Bohn / FI$H2k 8340e31f1f Fixed OS X compilation error in window_cocoa.mm
Un-commented `NSApplicationActivationPolicyRegular` argument (in leu of zero) and got rid of problematic dereference
2014-11-11 04:35:35 -08:00
Ilya Lavrenov 701d2386ce fixed doc 2014-11-10 16:19:27 +03:00
Shiquan Wang 7127634aa0 Mod: Open header files with io.open for Python 2/3 compatibility. 2014-11-10 21:09:43 +08:00
Alexander Alekhin 6550cb2a90 Merge tag '3.0.0-beta'
OpenCV 3.0.0 Beta
2014-11-10 14:42:47 +03:00
Vadim Pisarevsky a181835549 Merge pull request #3405 from D-Alex:master 2014-11-10 08:19:29 +00:00
Vadim Pisarevsky 34f23b5917 Merge pull request #3404 from alalek:openni2_patch 2014-11-10 08:09:45 +00:00
Alexander Duda 60cacbfd66 solvePnPRansac: fix mask generation 2014-11-09 23:10:43 +01:00
Alexander Duda ed55d13112 PnPRansacCallback::computeError: fix count in case of Nx3 matrices 2014-11-09 23:08:47 +01:00
Alexander Alekhin 2e05f1e3f8 openni_capture sample: enable OpenNI2 if available
Sample works with OpenNI2 with minimal code changes (CAP_OPENNI -> CAP_OPENNI2)
2014-11-08 02:22:29 +03:00
Alexander Alekhin 2981ee00d9 OpenNI2: prevent failure of setVideoMode() call with invalid parameters
Not all parameters are specified for openni::VideoMode, so
"selected" mode can be unsupported for device.
Replace default VideoMode constructor to result of getVideoMode() call.
2014-11-08 02:21:59 +03:00
Alexander Alekhin ae4cb571ab Set status to beta 2014-11-07 19:22:46 +03:00
Vadim Pisarevsky 4f2aeeffaa Merge pull request #3403 from vpisarev:moved_partition 2014-11-07 16:04:56 +00:00
Vadim Pisarevsky d58cadc1ea moved cv::partition from private.hpp to operations.hpp, to expose the function to users 2014-11-07 18:14:39 +03:00
Vadim Pisarevsky 47838a4a22 Merge pull request #3402 from vpisarev:fixed_python_tests 2014-11-07 14:34:14 +00:00
Vadim Pisarevsky 80a985c894 fixed path to the checkerboard image 2014-11-07 15:57:42 +03:00
Vadim Pisarevsky 9b13b07639 Merge pull request #3400 from vpisarev:fixed_umat_test_crash 2014-11-07 12:50:26 +00:00
Alexander Alekhin 569a95e9e1 Merge pull request #3394 from akarsakov:ocl_canny 2014-11-07 12:42:24 +00:00
Vadim Pisarevsky fe4e1913f0 Merge pull request #3357 from briansp2020:master 2014-11-07 12:02:53 +00:00
Vadim Pisarevsky 573be75f50 Merge pull request #3392 from wangyan42164:houghlines_bug_fix 2014-11-07 11:52:58 +00:00
Vadim Pisarevsky 1abc26905d Merge pull request #3397 from ElenaGvozdeva:ocl_WarpAffine_test 2014-11-07 11:52:35 +00:00
Vadim Pisarevsky 7c8789dc12 fixed my_umat(roi).clone() test by disabling poorly aligned ROI's. Real fix of the problem will require a separate branch in UMat::copyTo(). 2014-11-07 14:49:48 +03:00
Yan Wang 0692bf5f34 Fix HoughLines crashes (Bug #3959).
Avoid phi exceed PI/2 to get the negative value of cos(phi).
2014-11-07 17:52:16 +08:00
Alexander Karsakov 7c870014fb Correctly unrolled some cycles 2014-11-07 12:13:00 +03:00
Alexander Alekhin f50f249f80 Merge pull request #3138 from alalek:icv_update 2014-11-06 15:58:14 +00:00
Alexander Alekhin ff095bbbfc Merge pull request #3396 from akarsakov:ocl_pow_fix 2014-11-06 15:49:42 +00:00
ElenaGvozdeva 7dd059c084 fixed test for ocl WarpAffine 2014-11-06 17:19:45 +03:00
Alexander Karsakov 462c3c25a9 Removed incorrect using of rootn() and powr() in ocl_pow 2014-11-06 16:23:02 +03:00
Alexander Karsakov 0ec0aeb7d0 Minor optimization for ocl_canny 2014-11-06 13:07:33 +03:00
Vadim Pisarevsky 5044e0f590 Merge pull request #3372 from pokeefe:add-test-for-projection-decomposition 2014-11-06 08:40:36 +00:00
Vadim Pisarevsky cf0cc00547 Merge pull request #3391 from alalek:ocl_failure_messages 2014-11-06 08:37:34 +00:00
Vadim Pisarevsky 1d804bc695 Merge pull request #3360 from mirab:threshold_triangle 2014-11-06 08:36:24 +00:00
Brian Park e4fa217a62 remove the unnecessary header file 2014-11-05 20:12:18 -08:00
Alexander Alekhin 4eb16122c0 ocl: change processing of OpenCL failures
disable "unwanted" messages
2014-11-05 19:44:36 +03:00
Miroslav Benes 4046f0398a Make Otsu and Triangle algorithms mutually exclusive
Make Otsu and Triangle algorithms mutually exclusive in cv::threshold code.

Signed-off-by: Miroslav Benes <mbenes@suse.cz>
2014-11-05 16:04:26 +01:00
Vadim Pisarevsky da6898f758 Merge pull request #3389 from blackibiza84:master 2014-11-05 14:58:27 +00:00
Vadim Pisarevsky c91b0e7ac4 Merge pull request #3217 from avdmitry:samples_cpp_data 2014-11-05 14:57:46 +00:00
Vadim Pisarevsky 46ac0048f8 Merge pull request #3377 from jlblancoc:master 2014-11-05 14:56:23 +00:00
Vadim Pisarevsky 91a8ea5e60 Merge pull request #3387 from YusukeSuzuki:cap_v4l_rgb24fix 2014-11-05 11:42:51 +00:00
Vadim Pisarevsky 7de4e0496c Merge pull request #3390 from vbystricky:fix_houghlines 2014-11-05 11:41:12 +00:00
Vadim Pisarevsky 5efad375e0 Merge pull request #3384 from ilya-lavrenov:neon_new 2014-11-05 11:26:53 +00:00
Vadim Pisarevsky 72419c3778 Merge pull request #3373 from berak:patch-2 2014-11-05 11:14:59 +00:00
Vadim Pisarevsky c4906c7f43 Merge pull request #3388 from bartaandras:master 2014-11-05 11:04:06 +00:00
Michele Adduci e181c76d21 Updated test_features2d.cpp with latest API change 2014-11-05 12:03:28 +01:00
Michele Adduci 914b78b8bb Updated ORB test with parameters 2014-11-05 12:00:31 +01:00
Vadim Pisarevsky d052d863eb Merge pull request #3315 from abak:seamless-refactor 2014-11-05 10:41:32 +00:00
vbystricky 957e5ef8eb Fix OpenCL version of HoughLinesP function 2014-11-05 14:31:06 +04:00
Alexander Alekhin 58e054a003 IPPICV: disable boxFilter 16SC1/16UC1 (performance) 2014-11-05 13:26:23 +03:00
Alexander Alekhin 1c9f590f0d IPPICV: disable NormDiff_L1_16s_C1R for IPP/ICV 8.2/8.2.1 2014-11-05 13:26:23 +03:00
Alexander Alekhin 5d213582f7 update IPPICV package 2014-11-05 13:26:23 +03:00
Michele Adduci e1bb844475 Fix cudafeatures2d and cudastereo with new 3.0 APIs for ORB and StereoBM 2014-11-05 10:42:02 +01:00
bartaandras 21227ba092 Fixed calc_output_scale with NO_OUTPUT_SCALE flag set. 2014-11-04 11:35:45 +01:00
Yusuke Suzuki 9cd08c662c add V4L2_PIX_FMT_RGB24 convert code 2014-11-04 15:21:30 +09:00
Brian Park 9e3a2cbab2 check input paramter by checking the image size 2014-11-03 21:38:15 -08:00
Daniel Sjölie 323c922322 Use OPENNI2_INCLUDE64 environment variable.
(Set on windows with install from http://structure.io/openni).
2014-11-03 16:25:59 +01:00
berak c2cb3b515d support older gcc versions 2014-11-02 08:16:29 +01:00
Ilya Lavrenov 1fe5441185 cv::convertMaps 2014-11-01 10:13:28 -07:00
Ilya Lavrenov aa11e102fd removed saturation from pyramids 2014-11-01 13:23:45 +03:00
Ilya Lavrenov 8d0383180c fixes for cv::warpAffine 2014-11-01 13:19:52 +03:00
Ilya Lavrenov 15af3f7114 fixes in VResizeLinearVec_32s8u 2014-11-01 13:19:52 +03:00
Ilya Lavrenov a4dd2162f2 cv::resize (INTER_LANCZOS4) 2014-11-01 13:19:52 +03:00
Ilya Lavrenov 1b01e1fe68 cv::resize (INTER_AREA CV_16S, CV_32F) 2014-11-01 13:19:52 +03:00
Ilya Lavrenov 4ed696d770 cv::compareHist (CV_COMP_INTERSECT) 2014-11-01 13:19:51 +03:00
Ilya Lavrenov 5ca25ab8f0 cv::pow (integer power) 2014-11-01 13:19:51 +03:00
Ilya Lavrenov ccdc71286c cv::polarToCart 2014-11-01 13:19:51 +03:00
Ilya Lavrenov d5f006eee5 cv::magnitude; cv::corner** 2014-11-01 13:19:51 +03:00
Ilya Lavrenov fb97273b3c cv::phase; cv::cartToPolar 2014-11-01 13:19:51 +03:00
Ilya Lavrenov 7e6fb668ed cv::pyrUp 2014-11-01 13:19:51 +03:00
Ilya Lavrenov 46faf592fc cv::warpAffine 2014-11-01 13:19:51 +03:00
Ilya Lavrenov 85a814f748 VResizeLinearVec_32s8u 2014-11-01 13:19:51 +03:00
Vadim Pisarevsky dce629d0e2 Merge pull request #3343 from mshabunin:doxygen-docs 2014-10-30 10:45:03 +00:00
Vadim Pisarevsky e19a12f655 Merge pull request #3361 from mshabunin:fix-drawing 2014-10-30 10:44:21 +00:00
Brian Park 5de5f26223 Merge remote-tracking branch 'upstream/master' 2014-10-29 23:15:22 -07:00
Alexander Alekhin cae89a7a88 Merge pull request #3318 from akarsakov:ocl_cvtcolor 2014-10-29 14:25:09 +00:00
Alexander Alekhin fd59551ff0 Merge pull request #3354 from vbystricky:oclopt_convertScaleAbs 2014-10-29 13:53:56 +00:00
Alexander Alekhin efebd83bc8 Merge pull request #3159 from ElenaGvozdeva:ocl_gemm 2014-10-29 11:18:06 +00:00
Alexander Alekhin 4a9cfbf806 Merge pull request #3379 from akarsakov:gftt_empty_src 2014-10-28 17:19:57 +00:00
Alexander Karsakov 967a88759f Don't process empty src image in GFTT 2014-10-28 16:06:36 +03:00
ElenaGvozdeva d88fdd0378 use LOCAL_SIZE+1 2014-10-28 15:18:31 +03:00
Alexander Karsakov 643c906f3d Added optimized loading to YUV2RGB_422 kernel 2014-10-28 15:07:51 +03:00
Alexander Alekhin fae2eb8a1a Merge pull request #3353 from Chuanbo-Weng:master 2014-10-28 10:23:18 +00:00
Alexander Alekhin 30222c7be8 Merge pull request #3359 from akarsakov:ocl_buildMaps 2014-10-28 09:18:31 +00:00
Jose-Luis Blanco-Claraco 539acaf348 OpenCVConfig.cmake: Fix CMake CMP0012 warning
"TRUE"/"FALSE" should not be used as literals, as CMake has to decide
whether they are literals or variable names (sigh).
This patch should make it work with any version of CMake and with any
user-side decision on old vs. new policy behavior.
2014-10-28 09:46:18 +01:00
Alexander Karsakov 1466621f99 Added loading 4 pixels in line instead of 2 to RGB[A] -> YUV(420) kernel 2014-10-27 16:00:34 +03:00
Alexander Karsakov ebfaf4c5d8 Added checking that z is non zero to buildWarpPlaneMaps kernel 2014-10-27 15:38:44 +03:00
Alexander Karsakov 0aab779532 Overload PlaneWarper::buildMaps method from base class 2014-10-27 15:36:52 +03:00
ElenaGvozdeva 65b8a1cb37 Some small fixes 2014-10-27 14:38:22 +03:00
Elena Gvozdeva c5a2879ce0 use vectors 2014-10-27 14:38:22 +03:00
Elena Gvozdeva 2d89df1804 use local memory 2014-10-27 14:38:21 +03:00
Elena Gvozdeva d78bc3c321 naive implementation 2014-10-27 14:38:21 +03:00
Alexander Alekhin dee56598e9 Merge pull request #3369 from vbystricky:fix_scaleAdd 2014-10-27 10:03:29 +00:00
Pat O'Keefe 83ccdabe7e Add test for calib3d function decomposeProjectionMatrix(...) 2014-10-25 19:11:02 -06:00
Alexander Alekhin 1f08d8cb6f Merge pull request #3367 from akarsakov:ocl_image2d 2014-10-24 16:01:21 +00:00
Alexander Alekhin 1fbad26fe3 Merge pull request #3342 from alalek:perf_stability_check 2014-10-24 16:00:20 +00:00
vbystricky 8466911ad0 Move _dst.create() to the begining of scaleAdd function 2014-10-24 18:27:47 +04:00
Alexander Alekhin caba92f2b8 Merge pull request #3284 from vbystricky:oclopt_stereoBM 2014-10-24 12:59:13 +00:00
Alexander Alekhin 63383ef1d8 Merge pull request #3368 from alalek:amd_clfinish 2014-10-24 12:58:21 +00:00
Alexander Karsakov 237cb93143 Added extra checks to ocl::Image2D 2014-10-24 15:04:42 +03:00
Alexander Alekhin 579a7fff6d ocl: restore clFinish() in unmap() for AMD devices
This reverts commit 7d91b8efcd.
2014-10-24 14:29:38 +04:00
Maksim Shabunin 071e78d02e Disabled videoio_video_prop_fps test
This test does not return correct values with some software configurations.
Possible problem with ffmpeg on buildbot's linux-slave.
2014-10-24 11:37:15 +04:00
vbystricky 21ad8e92d4 Optimize OpenCL version of StereoBM function
Fix problems on NVidia devices.
2014-10-23 20:18:53 +04:00
Alexander Karsakov 3a263c6326 Added tests for Image2D 2014-10-23 14:23:37 +03:00
Maksim Shabunin e85ae5f2f0 Fixed imgcodecs tests
- Imgcodecs_Image, write_imageseq - assuming JPEG images have losses
- Imgcodecs_Drawing, c_regression - replaced assert calls
- Imgcodecs_Drawing - exact comparison with reference image
2014-10-23 12:38:42 +04:00
Miroslav Benes 5b1fd739d9 Add Triangle thresholding algorithm
Add Triangle method for automatic threshold computation next to the existing
Otsu's method. Triangle deals better with images whose histogram does not
contain dominant peak.

See paper Zack GW, Rogers WE, Latt SA.: Automatic measurement of sister
chromatid exchange frequency. J Histochem Cytochem. 1977 Jul;25(7):741-53.
2014-10-22 16:54:39 +02:00
Alexander Karsakov 62d4393883 Small optimization for buildMaps kernels in case rowsPerWI > 1 2014-10-22 17:43:29 +03:00
Maksim Shabunin ba5f343c38 Basic doxygen documentation support
- updated existing Doxyfile.in
- added corresponding cmake instructions
- added some specific files (layout, icon)
- clean existing doxygen warnings
2014-10-22 15:24:15 +04:00
Brian Park f83a76cdeb add input paramter checking that verifies the existance of the input files to stero_match example 2014-10-21 22:47:49 -07:00
Vadim Pisarevsky e40567eaee Merge pull request #3352 from alucarded:BackgroundSubtractorMOG2_optimization 2014-10-22 01:55:23 +00:00
vbystricky a8aa6381d9 Optimize OpenCL version of conversScaleAbs function 2014-10-21 19:20:20 +04:00
Alexander Karsakov 60367907fe Used direct float calculations 2014-10-21 17:18:03 +03:00
Alexander Karsakov 5aa9ac9a77 Added OCL code for YUV422 -> RGB[A]|BGR[A] color conversion 2014-10-21 17:18:03 +03:00
Alexander Karsakov c8707b891b Added OCL code for RGB[A]|BGR[A] -> YUV_[YV12|IYUV] color conversion 2014-10-21 17:18:03 +03:00
Alexander Karsakov 8c91604f5a Added OCL code for YUV2GRAY_420 color conversion 2014-10-21 17:18:02 +03:00
Alexander Karsakov 1cc17a7186 Added OCL code for YUV2BGR_YV12 and YUV2BGR_IYUV color conversions 2014-10-21 17:18:02 +03:00
Alexander Karsakov 85b60ee3cb Added support for YUV2RGB[A]_NV21 and YUV2BGR[A]_NV21 conversion 2014-10-21 17:18:02 +03:00
Alexander Alekhin 8ab6852927 added performance validation check 2014-10-21 15:23:19 +04:00
Alexander Alekhin 54b59c3cfb Merge pull request #3355 from ElenaGvozdeva:predictOptimalVectorWidth 2014-10-21 11:23:06 +00:00
ElenaGvozdeva 070e5ec042 Changed predictOptimalVectorWidth function, now it is possible to choose vector size. 2014-10-21 13:13:15 +03:00
Alexander Alekhin 322593e89f Merge pull request #3256 from vbystricky:oclopt_BFMatcher 2014-10-21 08:59:23 +00:00
Tomasz Posłuszny 8dd213c829 BackgroundSubtractorMOG2, learningRate=0 optimization 2014-10-20 19:45:31 +02:00
Chuanbo Weng 2b52bb092a Update hog.cpp
Update according to vbystricky's comments
2014-10-20 18:14:38 +08:00
Vadim Pisarevsky 4de9605b7b Merge pull request #3344 from mshabunin:java_automation 2014-10-20 06:50:34 +00:00
Vadim Pisarevsky d767c9df58 Merge pull request #3349 from a-wi:DShow_Strsafe_header_v3 2014-10-20 06:49:18 +00:00
Vadim Pisarevsky 926b64fff7 Merge pull request #3292 from mshabunin:fix-ios-warnings 2014-10-20 06:41:51 +00:00
Chuanbo Weng 7452eef6e9 Correctly enable OpenCL mode in tapi's hog example.
For current OpenCV-CL architecture, if the data buffer
allocated in UMat are cpu buffer(not ocl buffer) under
cpu mode, and then pass this UMat to an OpenCL kernel
as an argument, the OpenCL path will fail and fallback
to cpu mode. Take HOGDescriptor::oclSvmDetector as an example:
    ocl::setUseOpenCL(false);
    //data allocated in hog.oclSvmDetector will be cpu buffer
    hog.setSVMDetector(HOGDescriptor::getDaimlerPeopleDetector());
    ocl::setUseOpenCL(true);
    //We enabled OpenCL, but hog.oclSvmDetector are cpu buffer,
    //so it will fail in the function ocl_classify_hists
    //when reach to this line
    //idx = k.set(idx, ocl::KernelArg::PtrReadOnly(detector));
    hog.detectMultiScale(img, found, hit_threshold, win_stride,
            Size(0, 0), scale, gr_threshold);

Similar problems heppen on img_aux and img. So we should re-define
or re-set these UMat when do mode switch (CPU -> OpenCL) in order
to make their data be allocated by ocl and then OpenCL path will
succeed.

Signed-off-by: Chuanbo Weng <chuanbo.weng@intel.com>
2014-10-20 11:50:46 +08:00
Vadim Pisarevsky 55f490485b Merge pull request #3348 from vpisarev:refactor_algorithms2 2014-10-18 18:52:35 +00:00
Artur Wieczorek dcbe797980 Include strsafe.h to compile successfully under MinGW in Debug mode. 2014-10-18 20:38:34 +02:00
Vadim Pisarevsky dcee883961 fixed MSVC warnings and iOS framework compile error 2014-10-18 21:58:34 +04:00
Vadim Pisarevsky e4418e186e Merge pull request #3345 from D-Alex:master 2014-10-18 17:00:31 +00:00
Vadim Pisarevsky c45d2642ca Merge pull request #3347 from Nerei:memory_leak_in_viz_opencv30 2014-10-18 16:57:35 +00:00
Vadim Pisarevsky b37a641cc9 fixed bug in automatic SVM training 2014-10-18 20:53:39 +04:00
Vadim Pisarevsky d2b9dc5530 quickly corrected the previous refactoring of features2d: moved from set(SOME_PROP, val) to setSomeProp(val) 2014-10-18 20:44:26 +04:00
Anatoly Baksheev cb95d1df35 viz: fixed memory leak 2014-10-18 18:17:42 +04:00
Alexander Duda 11ebaf673f fix warning in template Scalar::mul gcc < 4.8
In this particular case t shadows transpose of the base class Matx:
types.hpp:1805:14: warning: declaration of ‘t’ shadows a member of
'this' [-Wshadow]

Changelog gcc 4.8: The option -Wshadow no longer warns if a declaration
shadows a function declaration.

This warning is problematic because it prevents the module
opencv_contrib/modules/ruby to pass the build process
2014-10-18 14:22:27 +02:00
vbystricky 3787388eac Optimize OpenCL version of BFMatcher 2014-10-17 19:48:45 +04:00
Maksim Shabunin c5a1650ac0 Refactoring in gen_java.py script 2014-10-17 19:36:24 +04:00
Maksim Shabunin 276bed3e4a final fix 2014-10-17 18:29:30 +04:00
Maksim Shabunin 571ebb2373 Fixing iOS clang warnings, part 3 2014-10-17 18:15:21 +04:00
Maksim Shabunin ef3d02214b Fixing iOS clang warnings, part 2 2014-10-17 18:14:54 +04:00
Maksim Shabunin d3821e8cd7 Forgotten punctuation 2014-10-17 18:14:54 +04:00
Maksim Shabunin 420737e098 Fixing iOS clang warnings, part 1 2014-10-17 18:14:54 +04:00
Maksim Shabunin 630eddf25a Extracted repeated cmake instruction block 2014-10-17 18:14:53 +04:00
Maksim Shabunin f379bcc6d3 Suppressed some iOS framework compilation warnings 2014-10-17 18:14:53 +04:00
Vadim Pisarevsky 22ff1e8826 Merge pull request #3339 from vpisarev:refactor_features2d_take4 2014-10-17 14:07:06 +00:00
Vadim Pisarevsky 4038beb67e fixed incorrect array access in solvepnp (which affected debug builds only) 2014-10-17 17:01:39 +04:00
Vadim Pisarevsky 3f37e034a0 another fix in opencv_world 2014-10-17 16:09:09 +04:00
Vadim Pisarevsky 8d9e619412 fixed opencv_world build 2014-10-17 16:05:38 +04:00
Vadim Pisarevsky 1a809ca89b fixed msvc compile warning 2014-10-17 15:56:27 +04:00
Vadim Pisarevsky cc11a8d183 Merge branch 'refactor_features2d_take4' of https://github.com/vpisarev/opencv into refactor_features2d_take4
Conflicts:
	modules/features2d/src/orb.cpp
2014-10-17 15:13:35 +04:00
Vadim Pisarevsky 54e65598bd fixed error in OpenCL ORB 2014-10-17 15:02:57 +04:00
Vadim Pisarevsky 1176d4ef84 fixed some more compile errors and test failures 2014-10-17 15:02:56 +04:00
Vadim Pisarevsky d36b546df8 trying to fix strange compiler bug 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky 9c9ecc22e2 fixed opencv_java build 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky fa76c634ec ok; all the tests now pass 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky 01d3848f17 all the tests now pass except for MSER 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky 162384a838 fixed several test failures; currently 9 out of 73 tests fail 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky 06d4aa6060 now all the samples and opencv_contrib compile! 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky 09df1a286b OpenCV with the refactored features2d compiles! contrib is broken for now; the tests are not tried yet 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky 2e915026a0 yet another attempt to refactor features2d; the first commit, features2d does not even compile 2014-10-17 14:56:58 +04:00
Vadim Pisarevsky f6f839eb3c trying to resolve the merge conflict 2014-10-17 14:46:08 +04:00
Vadim Pisarevsky c5292c2549 fixed error in OpenCL ORB 2014-10-17 14:30:12 +04:00
Vadim Pisarevsky c422bdc3f8 fixed some more compile errors and test failures 2014-10-17 14:22:02 +04:00
Vadim Pisarevsky 48a860a335 trying to fix strange compiler bug 2014-10-16 23:10:00 +04:00
Vadim Pisarevsky 61cddd8b63 fixed opencv_java build 2014-10-16 22:52:04 +04:00
Vadim Pisarevsky 25a7d023dd ok; all the tests now pass 2014-10-16 21:59:38 +04:00
Vadim Pisarevsky c5261ea3d2 all the tests now pass except for MSER 2014-10-16 20:58:29 +04:00
Alexander Alekhin af1d29db83 Merge pull request #3332 from lupustr3:pvlasov/implementation_detector 2014-10-16 14:51:53 +00:00
Vadim Pisarevsky 97a5dd0ead fixed several test failures; currently 9 out of 73 tests fail 2014-10-16 17:00:40 +04:00
Vadim Pisarevsky d017faa06c now all the samples and opencv_contrib compile! 2014-10-16 16:34:22 +04:00
Alexander Alekhin 4525a5f2be Merge pull request #3338 from ilya-lavrenov:ios_fixes 2014-10-16 11:53:41 +00:00
Vadim Pisarevsky b30ad42609 Merge pull request #3270 from boaz001:patch-1 2014-10-16 10:09:28 +00:00
Ilya Lavrenov c54ef78220 fixes 2014-10-16 09:55:22 +04:00
Boaz Stolk ae81006eab Applied proposed fix 2014-10-15 22:36:38 +02:00
Vadim Pisarevsky 5e667ee53a OpenCV with the refactored features2d compiles! contrib is broken for now; the tests are not tried yet 2014-10-15 22:49:17 +04:00
Vadim Pisarevsky a10a7279a8 Merge pull request #3334 from micha137:patch-2 2014-10-15 10:32:16 +00:00
Vadim Pisarevsky 968fe91c8e Merge pull request #3333 from micha137:patch-1 2014-10-15 10:31:59 +00:00
Vadim Pisarevsky 18ef0cfe81 Merge pull request #3335 from ilya-lavrenov:neon_ios 2014-10-15 10:29:54 +00: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
Adrien BAK 5442de7d99 adjust numerical precision for windows build 2014-10-15 12:47:53 +09:00
Adrien BAK 82a5ff8540 fix warnings in samples 2014-10-15 11:09:33 +09:00
Adrien BAK 9972059476 suppress warnings 2014-10-14 19:07:15 +09:00
Adrien BAK 53d11f490d whitespace 2014-10-14 16:45:02 +09:00
Adrien BAK 5c98209127 whitespaces 2014-10-14 16:31:22 +09:00
Adrien BAK ee210afc44 white space 2014-10-14 16:10:53 +09:00
Adrien BAK cb76d00f5f precalculate indices 2014-10-14 16:08:45 +09:00
Adrien BAK 419450689b remove unnecessary buffer copies 2014-10-14 16:08:45 +09:00
Adrien BAK b4504639c8 refactor poisson_solver 2014-10-14 16:08:45 +09:00
Adrien BAK 6bfea73716 move calls to ptr<> 2014-10-14 16:08:45 +09:00
Adrien BAK 4a5ea85094 another useless include 2014-10-14 16:08:45 +09:00
Adrien BAK df312a4ffa at<> -> ptr<> 2014-10-14 16:08:45 +09:00
Adrien BAK 5a16de2ef6 .size().width -> cols 2014-10-14 16:08:45 +09:00
Adrien BAK 980496bb0e remove useless include 2014-10-14 16:08:45 +09:00
Adrien BAK d2719ea92f change numerical precision because of architecture discrepancy 2014-10-14 16:08:45 +09:00
Adrien BAK 1c75fa7297 norm -> cvtest::norm 2014-10-14 16:08:45 +09:00
Adrien BAK c6ffa5059d remove useless includes 2014-10-14 16:08:45 +09:00
Adrien BAK 0f0bda9722 factor conditional save 2014-10-14 16:08:45 +09:00
Adrien BAK 11d89ad7c1 coding guidelines 2014-10-14 16:08:45 +09:00
Adrien BAK 53f4f06a15 remove debugging code 2014-10-14 16:08:45 +09:00
Adrien BAK c69016467d replace implementation of dst 2014-10-14 16:08:44 +09:00
Adrien BAK 89e7860572 replace double by float 2014-10-14 16:08:44 +09:00
Adrien BAK ed9f6a3cb4 simplify a line 2014-10-14 16:08:44 +09:00
Adrien BAK e46810eabe this has been submitted to the daily wtf 2014-10-14 16:08:44 +09:00
Adrien BAK 47b01be0a4 replace 8 loops by 2 2014-10-14 16:08:44 +09:00
Adrien BAK b04d06938d replace double* by vector<double> 2014-10-14 16:08:44 +09:00
Adrien BAK a14bfb331d remove logging 2014-10-14 16:08:44 +09:00
Adrien BAK a361cc9479 remove some more useless buffers and rename a bunch of variables 2014-10-14 16:08:44 +09:00
Adrien BAK 61fe623cf1 backport bug fix 2014-10-14 16:08:44 +09:00
Adrien BAK d46c466e20 remove useless buffers 2014-10-14 16:08:44 +09:00
Adrien BAK 89be83e5be rename variables 2014-10-14 16:08:43 +09:00
Adrien BAK b3ddc2b9a7 refactor array_product 2014-10-14 16:08:43 +09:00
Adrien BAK 33c15d6309 rename stuff, adds logging and replace shitty else if chain by switch 2014-10-14 16:08:43 +09:00
Adrien BAK 1f6acc23fa adds header guards + move impl to proper file 2014-10-14 16:08:43 +09:00
Adrien BAK e8c2f2ee3e constness 2014-10-14 16:08:43 +09:00
Adrien BAK 2f046ae873 fix grayscale loading 2014-10-14 16:08:43 +09:00
Adrien BAK 63715a899e fix regressiont ests npr 2014-10-14 16:08:43 +09:00
Adrien BAK ed0eb139cb improve decolor tests 2014-10-14 16:08:43 +09:00
Adrien BAK 0a3aab288a improved cloning test 2014-10-14 16:08:42 +09:00
Vadim Pisarevsky 1796a26fc7 yet another attempt to refactor features2d; the first commit, features2d does not even compile 2014-10-13 23:01:45 +04:00
Ilya Lavrenov 69c82b4c2b ability to compile for iOS with Neon 2014-10-13 22:57:50 +04:00
micha137 67b2380d19 Update table_of_content_introduction.rst 2014-10-13 16:31:37 +02:00
micha137 96cd0d82e5 Update tutorials.rst
Change some wording
2014-10-13 16:20:47 +02:00
Vadim Pisarevsky 83ef276697 Merge pull request #3330 from vpisarev:fix_upnp_perf 2014-10-12 04:46:27 +00:00
Vadim Pisarevsky 3b250d6e9c this is trivial change; the main change is in opencv_extra - added regression data for perf tests 2014-10-11 22:57:22 +04:00
Vadim Pisarevsky a798386660 Merge pull request #3326 from ilya-lavrenov:neon_canny 2014-10-11 17:58:24 +00:00
Vadim Pisarevsky 1edefac4dc Merge pull request #3276 from asmorkalov:abidrk/pyStitching 2014-10-11 17:39:55 +00:00
Vadim Pisarevsky 8b7c0a7893 Merge pull request #3308 from edgarriba:master 2014-10-11 17:33:28 +00:00
Vadim Pisarevsky c37acef077 Merge pull request #3328 from ilya-lavrenov:warp_tests 2014-10-11 17:19:52 +00:00
Vadim Pisarevsky b4c3f465fb Merge pull request #3325 from a-wi:Dshow_capture_v3 2014-10-11 16:04:02 +00:00
Ilya Lavrenov faf91a466c imrpoved output of warp test in case of failure 2014-10-11 02:35:02 -07:00
edgarriba 4071c4e7c9 Updating to c++ interfaces 2014-10-11 01:44:46 +02:00
Ilya Lavrenov af04a85303 fixes for cv::accumulate** 2014-10-10 10:00:13 -07:00
Artur Wieczorek ec93d103b7 Refactored code responsible for printing debug messages in DShow video capture module to reduce footprint in Release mode.
Replace printf function used for diagnostic purposes with dedicated DebugPrintOut function to output debug messages. This function is effective only in Debug mode and its body becomes empty in Release mode to reduce footprint.
2014-10-10 17:49:01 +02:00
Vadim Pisarevsky a3916113b9 Merge pull request #3254 from ilya-lavrenov:neon_scale_add 2014-10-10 14:26:14 +00:00
Ilya Lavrenov 5f23d99918 the rest modes of cv::Mat::convertTo 2014-10-10 14:10:50 +00:00
Vadim Pisarevsky f6b1c2a0b6 Merge pull request #3324 from akarsakov:fix_lpsolver_tests 2014-10-10 10:59:09 +00:00
Artur Wieczorek c54928e003 Fixed getting CV_CAP_PROP_FOURCC property value
Save selected FCC in order to return proper CV_CAP_PROP_FOURCC property value (currently FCC for RGB24 is always returned).
2014-10-10 08:53:52 +02:00
Artur Wieczorek efd237b8b8 Fixed media type guid for I420 in DShow capture.
FOURCC code bytes should be placed in the reverse order.
2014-10-10 08:53:50 +02:00
Artur Wieczorek de0b46a765 Fixed selecting media type in DShow video capture.
Set correct value of sample size when calling IAMStreamConfig::SetFormat function. For non-RGB media type it can be set to zero value.
(See http://msdn.microsoft.com/en-us/library/windows/desktop/dd373477%28v=vs.85%29.aspx)
2014-10-10 08:53:48 +02:00
Vadim Pisarevsky ca5e73a9d0 Merge pull request #3283 from abak:fix-cloning-illumination-change-noipp 2014-10-09 14:57:57 +00:00
Vadim Pisarevsky 397870d7a5 Merge pull request #3279 from akarsakov:ocl_houghlines 2014-10-09 14:56:45 +00:00
Vadim Pisarevsky 263fd81bbc Merge pull request #3245 from avdmitry:hello_opencv_sample 2014-10-09 14:56:13 +00:00
Vadim Pisarevsky 9575a82a9e Merge pull request #3299 from felixendres:orb_keypoint_detector_threshold 2014-10-09 14:52:38 +00:00
Vadim Pisarevsky 6fa6e3d3d5 Merge pull request #3301 from MC-Escherichia:fix_gen_javadoc_py_prints 2014-10-09 14:50:36 +00:00
Vadim Pisarevsky bc7ab6c2df Merge pull request #3302 from berak:doc_fix_constants_30 2014-10-09 14:48:58 +00:00
Vadim Pisarevsky 0c1b405964 Merge pull request #3320 from ElenaGvozdeva:gemm_doc 2014-10-09 14:12:51 +00:00
Vadim Pisarevsky f238c69511 Merge pull request #3321 from vbystricky:oclShowRunErrors 2014-10-09 14:11:30 +00:00
Ilya Lavrenov 4babecf3b0 fixes for cv::addWeighted and cv::Mat::dot 2014-10-09 12:55:52 +00:00
vbystricky 1d280352f4 Add code for print errors of OpenCL kernels runing 2014-10-09 13:59:38 +04:00
Alexander Karsakov a8169f08fc Used checking norm of results for LPSolver accuracy tests 2014-10-09 13:32:56 +04:00
ElenaGvozdeva 75601ccf9e small change in description for Gemm 2014-10-09 11:39:44 +03:00
Ilya Lavrenov 183e378bd0 cv::resize (INTER_LINEAR && INTER_CUBIC) 2014-10-08 13:11:38 -07:00
Ilya Lavrenov 00b8f0dec1 cv::pyrUp 2014-10-08 12:04:49 -07:00
Ilya Lavrenov 48a9905f5d cv::pyrDown 2014-10-08 11:47:46 -07:00
Alexander Alekhin 4f48a05906 Merge pull request #3317 from akarsakov:ocl_cvtcolor_perf_tests 2014-10-08 14:44:21 +00:00
Alexander Karsakov dfff9a8125 Added OCL performance test for YUV2RGB_IYUV, YUV2GRAY_420, RGB2YUV_IYUV, YUV2RGB_YUY2, YUV2GRAY_YUY2 color conversion modes 2014-10-08 17:25:51 +04:00
Vadim Pisarevsky ac730d9f53 Merge pull request #3312 from berak:b_3945_30 2014-10-08 08:40:55 +00:00
Ilya Lavrenov 7166b7b640 cv::cvtColor (RGB2Luv CV_8U) 2014-10-07 13:49:05 -07:00
Ilya Lavrenov 1c1c41d3be cv::cvtColor (Luv2RGB CV_8U) 2014-10-07 13:35:11 -07:00
Ilya Lavrenov 06461b401a cv::cvtColor (Lab2BGR CV_8U) 2014-10-07 10:27:28 -07:00
Ilya Lavrenov 71c3e67cb2 cv::cvtColor (HLS2RGB CV_8U) 2014-10-07 15:37:21 +00:00
Ilya Lavrenov c173d9fa18 cv::cvtColor (RGB2HLS CV_8U) 2014-10-07 15:33:09 +00:00
Ilya Lavrenov 8d367d4b4d cv::cvtColor (HSV2RGB CV_8U) 2014-10-07 15:25:02 +00:00
Ilya Lavrenov eb3046f7d3 cv::cvtColor (Gray2RGB5x5) 2014-10-07 14:10:39 +00:00
Alexander Karsakov 66a8acfd3d Optimization for HoughLinesP 2014-10-07 17:53:33 +04:00
berak 56fcc41d70 bugfix #3945 pass idx,idx1 by reference instead of static vars 2014-10-07 12:19:54 +02:00
Alexander Alekhin 14d5358982 Merge pull request #3210 from akarsakov:ocl_gftt_opt 2014-10-07 09:06:54 +00:00
Maksim Shabunin 21a27687d0 Merge pull request #3304 from eltermann:master 2014-10-07 07:35:59 +00:00
edgarriba 9698cc93d9 Merge branch 'master' of https://github.com/edgarriba/opencv 2014-10-07 09:10:44 +02:00
edgarriba 88aed15ffa Removing windows compilation crashes 2014-10-07 09:10:03 +02:00
edgarriba 022ec106f0 Removing windows compilation crashes 2014-10-07 08:35:00 +02:00
edgarriba f317d1277f Merge remote-tracking branch 'upstream/master' 2014-10-06 23:46:30 +02:00
Ilya Lavrenov f91e461ea0 cv::cvtColor (RGB5x52Gray) 2014-10-06 13:06:08 -07:00
Ilya Lavrenov a84c4ac197 cv::cvtColor (RGBRGB5x5) 2014-10-06 12:40:41 -07:00
Ilya Lavrenov b9f57bda05 cv::cvtColor (RGB5x52RGB) 2014-10-06 11:55:12 -07:00
Ilya Lavrenov 28ee84b731 cv::cvtColor (BGR[A]2RGB[A]) 2014-10-06 11:18:33 -07:00
edgarriba 2494e028c0 Updating upnp sanity heck 2014-10-06 18:18:03 +02:00
edgarriba 1709421c2c Updating sanity check 2014-10-06 17:43:01 +02:00
edgarriba 71dd9a6f1b Updating sanity check 2014-10-06 17:22:43 +02:00
Maksim Shabunin 478dd01c91 Merge pull request #3293 from a-wi:MSMF_remove_ATL_dependency_v3 2014-10-06 14:43:13 +00:00
edgarriba 862b675bee Updating sanity check 2014-10-06 16:23:21 +02:00
edgarriba f328f9a10d Removing whitespaces 2014-10-06 14:53:06 +02:00
Ilya Lavrenov a54f6bb08b cv::cvtColor 2014-10-06 11:52:41 +00:00
edgarriba 72fb85f6a0 Removing whitespaces 2014-10-06 13:01:23 +02:00
edgarriba 4d54f35a96 Updating documentation 2014-10-06 10:31:50 +02:00
edgarriba d6bf209bb3 Updating for N=2 2014-10-06 10:28:04 +02:00
eltermann c87af333b3 Documentation fix on py_tutorials 2014-10-04 19:14:11 -03:00
Matthew Conway 92efe4534b update gen_javadoc prints to python3 syntax fixed #3768 2014-10-04 14:48:03 -04:00
Dmitriy Anisimov 4c08581e48 opencv_version 2014-10-04 21:39:57 +04:00
berak 7cb3f3def7 change remaining c-api CV_ prefixes in constants 2014-10-04 14:10:12 +02:00
Ilya Lavrenov 00f16e9178 neon 2014-10-03 08:43:02 +00:00
edgarriba dc76ca5fc9 Updating documentation 2014-10-02 21:39:29 +02:00
edgarriba 7520544840 Return the estimated focal length 2014-10-02 17:05:42 +02:00
edgarriba ea893bf9d9 Updating UPNP documentation 2014-10-02 17:05:06 +02:00
edgarriba 7429454171 Add UPNP acc_test and perf_test 2014-10-02 16:45:59 +02:00
edgarriba a5b3a205d9 Add UPNP case + Modify model_points 2014-10-02 16:45:04 +02:00
edgarriba 84475ef1de UPNP code for N=1 2014-10-02 16:43:50 +02:00
edgarriba 71f4894d87 Added UPNP flag 2014-10-02 16:43:15 +02:00
Maksim Shabunin b8457be394 Merge pull request #3216 from xantares:patch-1 2014-10-02 13:25:06 +00:00
Felix Endres ee6835492c Exposing the FAST detector threshold for ORB
Implemented as a new optional parameter for
the constructor of the ORB detector. The
change of this parameter has been included
in the orb unit test.
2014-10-02 12:17:01 +02:00
Artur Wieczorek 3a0b375104 Remove ATL dependency from MSMF capture code.
Use _com_ptr_t instead of CComPtr in ComPtr wrapper to avoid ATL dependency.
2014-10-01 12:02:28 +02:00
Ilya Lavrenov 6f05a250be optimization of cv::CLAHE (~3x) 2014-09-30 12:40:11 -07:00
Ilya Lavrenov af6a64d76b cv::accumulate functions 2014-09-30 11:07:45 -07:00
Ilya Lavrenov be3efdf274 cv::sum refactoring 2014-09-30 14:36:21 +00:00
Ilya Lavrenov a3e56114d1 cv::multiply 2014-09-30 14:20:22 +00:00
Alexander Alekhin 7e8846b81e Merge pull request #3223 from vbystricky:oclopt_BgSubMOG2 2014-09-30 13:39:20 +00:00
Alexander Alekhin 4d63362206 Merge pull request #3278 from akarsakov:ocl_houghlines_perf_test 2014-09-30 10:49:14 +00:00
xantares 9d13c7b1e2 Move cmake config files too on non-windows hosts. 2014-09-30 09:36:37 +00:00
Ilya Lavrenov 81548a30aa cv::medianBLur 2014-09-30 07:59:33 +00:00
Alexander Karsakov 4880dd0cd6 Added performance test for OCL version of HoughLines and HoughLinesP 2014-09-30 11:03:54 +04:00
Adrien BAK 037f27c882 change masking to patchNaNs 2014-09-30 14:58:40 +09:00
Adrien BAK 2411556242 fix photo::cloning::IlluminationChange when IPP is used 2014-09-30 14:28:44 +09:00
Ilya Lavrenov 8e1ccfae3d cv::boxFilter 2014-09-29 13:54:31 -07:00
Ilya Lavrenov 1c491c42cd fix for cornerHarris 2014-09-29 14:59:46 +00:00
Alexander Karsakov eaf5a163b1 Added HoughLinesP OCL implementation 2014-09-29 16:48:16 +04:00
Maksim Shabunin 148e64d4bc Merge pull request #3277 from a-wi:CMake_FFMPEG_config_v3 2014-09-29 08:42:02 +00:00
Alexander Karsakov 3695a31606 Combined counter and corner buffers into one 2014-09-29 11:10:57 +04:00
Artur Wieczorek 34533dc569 Use FFMPEG capture only if HAVE_FFMPEG flag is defined. 2014-09-29 00:39:35 +02:00
Artur Wieczorek 655b22e050 Fixed CMake issue with FFMPEG videoio configuration 2014-09-29 00:39:05 +02:00
Ilya Lavrenov bbc161e1cb fix for cv::Mat::convertTo with scale 2014-09-28 14:51:30 -07:00
Ilya Lavrenov f50f0ba63e cv::norm 2014-09-28 07:28:33 -07:00
Ilya Lavrenov 44ea50f1c4 cv::countNonZero 2014-09-28 07:06:53 -07:00
Ilya Lavrenov 34a571d37f cv::Mat::dot 2014-09-28 05:00:22 -07:00
Ilya Lavrenov e46332a183 cv::Mat::convertTo with scale and shift 2014-09-28 03:49:56 -07:00
Ilya Lavrenov 74e60e44ad cv::compare 2014-09-28 02:41:08 -07:00
Ilya Lavrenov 857a2d5bfd cv::addWeighted 2014-09-28 01:11:07 -07:00
abidrahmank 797143d515 extending stitching module for Java and Python bindings 2014-09-27 19:35:49 +04:00
Vadim Pisarevsky e6f653af44 Merge pull request #3269 from asmorkalov:ocv_gstreamer3 2014-09-27 15:25:20 +00:00
Vadim Pisarevsky f187fd99da Merge pull request #3271 from mgeorg:reset_ffmpeg_mutex 2014-09-27 13:09:24 +00:00
Vadim Pisarevsky 01a883df0c Merge pull request #3267 from a-wi:MSMF_capture_fixes_v3 2014-09-27 13:07:12 +00:00
Manfred Georg 8d95c91805 set ffmpeg mutex to NULL on destruction. 2014-09-26 09:44:25 -07:00
Ilya Lavrenov d090fcf2fe cv::moments (CV_8UC1) 2014-09-26 14:39:04 +00:00
Ilya Lavrenov 09fbc78a97 cv::threshold 2014-09-26 13:16:48 +00:00
Ilya Lavrenov b4fc87c380 cv::remap 2014-09-26 10:35:28 +00:00
Ilya Lavrenov 6377f5a458 fixed warps accuracy tests 2014-09-26 09:41:46 +00:00
Ilya Lavrenov 4dd6148646 cv::resize 16uc1 2014-09-26 09:41:46 +00:00
Ilya Lavrenov c0b702a994 cv::resize area 2x 2014-09-26 09:41:45 +00:00
Ilya Lavrenov 12001a42f9 corners 2014-09-26 09:41:45 +00:00
Ilya Lavrenov d30ce2b9ac canny 2014-09-26 09:41:45 +00:00
Maksim Shabunin 047abb0050 Merge pull request #3258 from ilya-lavrenov:neon_convert 2014-09-26 09:27:16 +00:00
Alexander Smorkalov 23456d67e5 Added test on CAP_PROP_FRAMECOUNT option for cv::VideoCapture 2014-09-26 10:50:22 +04:00
Alexander Smorkalov 15251056ba Fixed compatibility with GStreamer 1.x 2014-09-26 10:45:08 +04:00
Alexander Smorkalov cc6e6aa028 Fixed query of basic VideoCapture properties. Added tests for them. 2014-09-25 14:40:54 +04:00
Artur Wieczorek 302b138aa7 CMake configuration for MSMF capture
Applied in PR3247 to 2.4 branch.
2014-09-25 12:05:54 +02:00
Artur Wieczorek b91bd6716c Fixed MSMF file capture error while opening the file containing unsupported video stream format
Applied in PR3260 to 2.4 branch
2014-09-25 11:54:15 +02:00
Artur Wieczorek 8f334b4e41 Fixed assertion warning in MSMF frame grabber
Applied in PR3251 to 2.4 branch
2014-09-25 11:51:31 +02:00
Artur Wieczorek 7c00b17085 Fixed MSMF video capture initialization
Applied in PR3251 to 2.4 branch.
2014-09-25 11:49:31 +02:00
Artur Wieczorek 25cf51637d Fix linking error under Win 7 - do not import MinCore_Downlevel.lib if target is Win 7 or earlier.
Applied in PR3243 to 2.4 branch.
2014-09-25 11:45:11 +02:00
Artur Wieczorek 6ad3427426 Fixed compilation errors under VS 2010 and Win 7
Applied in PR3240 to 2.4 branch.
2014-09-25 11:43:13 +02:00
Ilya Lavrenov 345b1369be correct neon rounding 2014-09-25 07:54:52 +00:00
Vadim Pisarevsky 120594163f Merge pull request #3249 from mshabunin:java_wrap 2014-09-24 16:58:56 +00:00
Vadim Pisarevsky 541b627d21 Merge pull request #3257 from Atanahel:gbt_bugfix_master 2014-09-24 12:25:18 +00:00
Vadim Pisarevsky d7418fc9ec Merge pull request #3259 from ilya-lavrenov:neon_scale_add_f32 2014-09-24 12:11:53 +00:00
Ilya Lavrenov 5d018c090f Neon optimization of cv::scaleAdd (CV_32F) 2014-09-23 21:16:29 +04:00
Ilya Lavrenov 4b3f2c1972 Neon optimization of Mat::convertTo 2014-09-23 15:06:17 +00:00
Benoit Seguin 450734cc32 Correction of the integer data treated as floating point data bug, already corrected in the 2.4 branch. 2014-09-23 14:03:20 +02:00
Vadim Pisarevsky ecbec7235f Merge pull request #3253 from asmorkalov:ocv_gstreamer2 2014-09-23 11:51:25 +00:00
Alexander Smorkalov 0518455163 More accurate selection of color space conversion element for GStreamer 1.x 2014-09-23 14:18:44 +04:00
Alexander Smorkalov aa57634213 Fixed compatibility with GStreamer 1.x. 2014-09-23 14:04:53 +04:00
Vadim Pisarevsky 7752483486 Merge pull request #3252 from GravityJack:point-division 2014-09-23 08:43:43 +00:00
Alexander Smorkalov a419b64347 Fixed GStreamer encoding pipeline frame drop for most cases.
For several muxers and encoders GStreamer still drops the last frame.
2014-09-23 12:31:51 +04:00
Vadim Pisarevsky 281ce441a8 Merge pull request #3250 from ilya-lavrenov:neon_convert_scale_abs 2014-09-23 07:15:24 +00:00
vbystricky a75807354d Optimize OpenCL version function BackgroundSubstractionMOG2 2014-09-23 10:33:30 +04:00
Dmitriy Anisimov 71348651eb fixed display_image tutorial sample 2014-09-23 07:45:52 +04:00
Dmitriy Anisimov 55c799a474 fixed warnings in documents 2014-09-23 07:45:52 +04:00
Dmitriy Anisimov ec03d6e6fc removed cpp/tutorial_code/images/ 2014-09-23 07:45:52 +04:00
Dmitriy Anisimov 1007c06d44 initial commit 2014-09-23 07:45:51 +04:00
Marc Rollins c8ede7c9ea Updating documentation to reflect division operations. 2014-09-22 12:07:16 -07:00
Marc Rollins f32a6fb9a1 Adding element-wise division operators to Point3_ class. 2014-09-22 11:59:11 -07:00
Marc Rollins fb9bbf99c4 Adding division operators to Point_ class.
Performs element-wise division.
2014-09-22 11:54:52 -07:00
Vadim Pisarevsky 1c0b9469f5 Merge pull request #3248 from ilya-lavrenov:arm_sum 2014-09-22 17:32:36 +00:00
Ilya Lavrenov 515be70867 Neon optimization of cv::convertScaleAbs 2014-09-22 15:47:46 +00:00
Vadim Pisarevsky 488920168a Merge pull request #3239 from mshabunin:xfeatures2d_fix 2014-09-22 15:28:42 +00:00
xantares d391a6d49f Also test for target. 2014-09-22 15:14:35 +00:00
Ilya Lavrenov 27b933ba5a Neon optimization of cv::sum 2014-09-22 09:22:03 +00:00
Maksim Shabunin 0d7b44db50 Java wrappers now support nested namespaces and classes
- wrapper support python3
- added wrapper log
- generating full name for nested namespaces and classes
2014-09-22 11:47:03 +04:00
Maksim Shabunin 6337fd0650 Support of bioinspired contrib module wrapping
- added java wrapper
- disabled python wrapper
2014-09-22 11:43:29 +04:00
Vadim Pisarevsky 892999c40c Merge pull request #3237 from mshabunin:java_test_detection 2014-09-19 13:35:47 +00:00
Maksim Shabunin 5e3e438edb Fix xfeatures2d dependencies 2014-09-19 16:41:33 +04:00
Maksim Shabunin 2992e3a1b6 Fixed android test detection and some spaces in CMakeLists.txt 2014-09-19 13:11:59 +04:00
Maksim Shabunin cff5e3ee88 Changed java tests detection procedure 2014-09-19 12:34:42 +04:00
Vadim Pisarevsky d1fba0686e Merge pull request #3233 from niebles:master 2014-09-18 17:47:55 +00:00
Juan Carlos Niebles 0c988f00bc Merge github.com:Itseez/opencv 2014-09-18 12:00:28 -05:00
Juan Carlos Niebles dc49e11527 removed setter methods, replaced by CV_PROP_RW macro 2014-09-18 09:39:35 -05:00
Vadim Pisarevsky d1afa0e370 Merge pull request #3234 from vpisarev:fixed_photo_test_failure 2014-09-18 13:06:54 +00:00
Vadim Pisarevsky 1578dd1027 Merge pull request #2702 from GregoryMorse:patch-3 2014-09-18 12:38:54 +00:00
Vadim Pisarevsky 06e55ddf38 Merge pull request #2893 from ilya-lavrenov:tapi_vector_width_intel 2014-09-18 12:05:24 +00:00
Vadim Pisarevsky 470f427a95 Merge pull request #3232 from Chuanbo-Weng:master 2014-09-18 11:48:29 +00:00
Vadim Pisarevsky aa6ba149bc make sure ptr<> is called with proper parameter, otherwise the assertion fails 2014-09-18 15:47:59 +04:00
Juan Carlos Niebles 1162f0ed63 fixed whitespaces 2014-09-17 19:02:12 -05:00
Juan Carlos Niebles f610c88103 extended python interface for KalmanFilter 2014-09-17 18:45:48 -05:00
Vadim Pisarevsky 458bde5e24 Merge pull request #3180 from mshabunin:java_ptr_support 2014-09-17 12:07:43 +00:00
Vadim Pisarevsky 3bc174f1bb Merge pull request #3230 from znah:ipp_median_fix 2014-09-17 12:06:32 +00:00
Chuanbo Weng c5552788c5 Use vload to read unaligned data instead of dereference operator.
According to opencl 1.2 spec 6.1.5:
    For arguments to a __kernel function declared to be a pointer to a
    data type, the OpenCL compiler can assume that the pointee is always
    appropriately aligned as required by the data type. The behavior of
    an unaligned load or store is undefined, except for the
    vloadn, vload_halfn, vstoren, and vstore_halfn functions defined in
    section 6.12.7.

Original code read data of type T from address not aligned by multiple
of sizeof(T), so the result is incorrect. With this patch, the cases
./opencv_perf_imgproc
--gtest_filter=OCL_ImgSize_TmplSize_Method_MatType_MatchTemplate.MatchTemplate/*
could work well with beignet 0.9.3.

Signed-off-by: Chuanbo Weng <chuanbo.weng@intel.com>
2014-09-17 19:28:07 +08:00
Vadim Pisarevsky 60a1cc34b8 Merge pull request #3231 from vpisarev:reenable_cpp_samples 2014-09-17 10:53:21 +00:00
Vadim Pisarevsky 5884e4039f Merge pull request #3229 from the-glu:master 2014-09-17 10:02:36 +00:00
Vadim Pisarevsky 4a0364ded5 Merge pull request #3220 from asmorkalov:ocv_gstreamer 2014-09-17 09:55:49 +00:00
Vadim Pisarevsky d14d4bc110 Merge pull request #3215 from dmitrygribanov:dg/stitching-wave-correction-bugfix 2014-09-17 09:52:34 +00:00
Vadim Pisarevsky 550bd24ca8 Merge pull request #3226 from whoshuu:patch-1 2014-09-17 09:52:01 +00:00
Vadim Pisarevsky 9bba2443b7 Merge pull request #3227 from PhilLab:patch-3 2014-09-17 09:50:43 +00:00
Vadim Pisarevsky aa4a80defc the samples from the main repository should not depend on modules from opencv_contrib 2014-09-17 13:49:48 +04:00
Alexander Mordvintsev 0319120adc fix: ippiFilterMedianBorder sometimes crash when doing in-place filtering 2014-09-17 13:26:39 +04:00
Maximilien Cuony 9ac0b06ff1 Fix typo in error for extrinsic parameters 2014-09-17 09:32:19 +02:00
Philipp Hasper 68fe45b594 Doc: Fixing indentation 2014-09-17 09:29:17 +02:00
Huu Nguyen 81b9be1623 Fix implicit narrowing error in initializer list
The implicit narrowing in the initializer list throws a compiler error for some compilers with C++11 support turned on. The specific error message is: "error: narrowing conversion of 'PyInt_AsLong(((PyObject*)o))' from 'long int' to 'double' inside { }".

Tested on Clang 5.1.0 and Mac OS X 10.9.4.
2014-09-16 15:30:10 -07:00
Alexander Alekhin 4689426a91 Merge pull request #3208 from vbystricky:oclopt_Filter2D 2014-09-16 13:03:45 +00:00
Alexander Smorkalov 38887e6ea9 Code review fixes. 2014-09-16 14:52:41 +04:00
Alexander Smorkalov 3ea8be7292 Several fixes for GStreamer support in OpenCV
- Accurate ASYC task handling for both GStreamer generations.
- Correct video duration request for videos.
- More accurate pipeline destruction.
- Correct color space conversion plugin for GStreamer 1.0.
2014-09-15 13:47:09 +04:00
Vadim Pisarevsky c445ce6125 Merge pull request #3218 from berak:docfix_colormap_30 2014-09-15 07:34:16 +00:00
Vadim Pisarevsky 65744cd87d Merge pull request #3175 from avdmitry:modern_doc_theme 2014-09-14 20:10:36 +00:00
berak ad20feaca0 small corrections to applyColorMap docs 2014-09-14 21:15:48 +02:00
Vadim Pisarevsky 4057e27539 Merge pull request #3126 from avdmitry:move_KDTree_to_ml 2014-09-14 18:57:23 +00:00
Vadim Pisarevsky f8254a1011 Merge pull request #3200 from pierriko:master 2014-09-14 18:50:33 +00:00
Vadim Pisarevsky e5ab0ac294 Merge pull request #3201 from PhilLab:patch-3 2014-09-14 18:49:35 +00:00
Vadim Pisarevsky e810f3052d Merge pull request #3206 from stonier:parallel_qt 2014-09-14 18:48:51 +00:00
Vadim Pisarevsky 46718cae28 Merge pull request #3209 from PhilLab:patch-5 2014-09-14 18:47:21 +00:00
Vadim Pisarevsky 8d61ecbc4d Merge pull request #3205 from parafin:ximea_unix-3.0 2014-09-14 18:44:41 +00:00
Vadim Pisarevsky 87f0010f42 Merge pull request #3203 from parafin:bug_3858-3.0 2014-09-14 18:44:06 +00:00
Vadim Pisarevsky 8fe18fefdd Merge pull request #3207 from jamoque:more-better-fixes 2014-09-14 18:41:06 +00:00
Vadim Pisarevsky ad9f9e2ce7 Merge pull request #3213 from mshabunin:png_iccp_strip 2014-09-14 18:39:33 +00:00
xantares 5d0467e769 Update CMakeLists.txt 2014-09-13 15:49:34 +02:00
Dmitriy Anisimov a6b29be55b minor change: moved algorithm type to the end of params 2014-09-13 15:06:07 +04:00
Dmitry Gribanov ee0da48bd2 Feature based stitching's wave correction bugfix.
When we have similar matrices in input, then algorithm returns matrices
with NaN values.
2014-09-12 18:07:54 +04:00
Maksim Shabunin 88aea1d52f Stripped iCCP chunk from png files 2014-09-12 16:30:23 +04:00
Andrey Pavlenko 79f593a429 Merge pull request #3198 from mshabunin:java_test_fix 2014-09-11 16:15:25 +00:00
Alexander Karsakov 8c08714b8c Remove two "set" kernel call 2014-09-11 18:11:23 +04:00
vbystricky b0bf8478e5 Optimization OpenCL version of Filter2D 2014-09-11 12:59:51 +04:00
Maksim Shabunin 39874ef742 Fixed some failing java tests
- fixed lena.png extension
- fixed getTextSize wrapper
- added junit html report generation
2014-09-11 11:56:05 +04:00
Philipp Hasper ac206ccb05 Visual Studio tutorial: updated library names 2014-09-10 19:12:06 +02:00
GregoryMorse b5a4159efc Add support for WinRT in the MF capture framework by removing the disallowed calls to enumerate devices and create a sample grabber sink and adding framework for the MediaCapture interface and a custom sink which interfaces with the sample grabber callback interface. The change requires discussion for making it completely functional as redundancy is required given that if the source is a video file, the old code pathways must be used. Otherwise all IMFMediaSession, IMFMediaSource, and IMFActivate code must use a MediaCapture code path and all sink code must use the CMediaSink custom sink.
Support for the custom sink is extended to non-WinRT not for compatibility as Windows Vista client is a minimum regardless, but because it offers more flexibility, could be faster and is able to be used as an optionally different code path during sink creation based on a future configuration parameter.

My discussion and proposal to finish this change:
 Devices are so easily enumerated through WinRT Windows.Devices namespace that wrapping the calls in a library is quite a chore for little benefit though to get the various modes and formats could still be a worthwhile project. For now conditional compilation to remove videodevices and any offending non-video file related activity in videodevice. In my opinion, this is a different , far less fundamental and important change which can possibly be done as a future project and also much more easily implemented in C++/CX.

ImageGrabber has the IMFSampleGrabberSinkCallback replaced with a base class (SharedSampleGrabber) which also be is base class for ImageGrabberRT. This change is necessary as the custom sink does not require a thread to pump events which is done through MediaCapture already. IMFSampleGrabberSinkCallback is the common element between both models and that piece can be shared. Initializing the new ImageGrabberRT is as simple as passing an already initialized MediaCapture object and any video format/encoding parameters.

The concurrency event is necessary to wait for completion and is the way the underlying, IAsyncAction wrappers in the task library work as well. Native WIN32 event objects would be an option if HAVE_CONCURRENCY is not defined. I could even imagine doing it with sleep/thread yield and InterlockedCompareExchange yet I am not enthusiastic about that approach either. Since there is a specific compiler HAVE_ for concurrency, I do not like pulling it in though I think for WinRT it is safe to say we will always have it available though should probably conditionally compile with the Interlocked option as WIN32 events would require HAVE_WIN32.

It looks like C++/CX cannot be used for the IMediaExtension sink (which should not be a problem) as using COM objects requires WRL and though deriving from IMediaExtension can be done, there is little purpose without COM. Objects from C++/CX can be swapped to interact with objects from native C++ as Inspectable* can reinterpret_cast to the ref object IInspectable^ and vice-versa. A solution to the COM class with C++/CX would be great so we could have dual support. Also without #define for every WRL object in use, the code will get quite muddy given that the */^ would need to be ifdef'd everywhere.

Fixed bugs and completed the change.  I believe the new classes need to be moved to a header file as the file has become to large and more classes need to be added for handling all the asynchronous problems (one wrapping IAsyncAction in a task and another for making a task out of IAsyncAction).  Unfortunately, blocking on the UI thread is not an option in WinRT so a synchronous architecture is considered "illegal" by Microsoft's standards even if implementable (C++/CX ppltasks library throws errors if you try it).  Worse, either by design or a bug in the MF MediaCapture class with Custom Sinks causes a crash if stop/start previewing without reinitializing (spPreferredPreviewMediaType is fatally nulled).  After decompiling Windows.Media.dll, I worked around this in my own projects by using an activate-able custom sink ID which strangely assigns 1 to this pointer allowing it to be reinitialized in what can only be described as a hack by Microsoft.  This would add additional overhead to the project to implement especially for static libraries as it requires IDL/DLL exporting followed by manifest declaration.  Better to document that it is not supported.

Furthermore, an additional class for IMFAttributes should be implemented to make clean architecture for passing around attributes as opposed to directly calling non-COM interface calls on the objects and making use of SetProperties which would also be a set up for an object that uses the RuntimeClass activation ID.

The remaining changes are not difficult and will be complete soon along with debug tracing messages.

Update and rename cap_msmf.h to cap_msmf.hpp

Successful test - samples are grabbed

Library updated and cleaned up with comments, marshaling, exceptions and linker settings
Fixed trailing whitespace

VS 2013 support and cleanup consistency plus C++/CX new object fixed

Conflicts:
	modules/highgui/src/cap_msmf.cpp
	modules/highgui/src/cap_msmf.hpp
	modules/highgui/src/ppltasks_winrt.h

Fix merge conflicts

VS 2013 Update 2 library bug fix integrated

a-wi's changed integrated
2014-09-10 17:05:52 +08:00
Vadim Pisarevsky 71edf1b5f1 Merge pull request #3189 from mshabunin:python_cross_build 2014-09-10 07:57:09 +00:00
Vadim Pisarevsky 2e950eb41b Merge pull request #3196 from PhilLab:patch-4 2014-09-10 07:56:13 +00:00
jeremy 56091bae1f changing many instances of the same grammar error in documentation 2014-09-09 17:03:59 -05:00
Daniel Stonier d3ad26926d fixed support for parallelised imshows with qt via the gui receiver. 2014-09-10 03:29:17 +09:00
Igor Kuzmin ed402c5be6 XIMEA cam support: allow on OS X too 2014-09-09 19:25:14 +04:00
Igor Kuzmin 4d45a2c43f XIMEA cam support: use correct library for 64 bit Linux 2014-09-09 19:24:16 +04:00
Igor Kuzmin 74827c35ff fix for issue 3858 (remove unneeded #include's)
also use correct include path on Linux
2014-09-09 19:22:20 +04:00
Philipp Hasper 62c704d1e9 Updated PnP parameter documentation 2014-09-09 12:24:05 +02:00
Alexander Alekhin f03b11d271 Merge pull request #3199 from apavlenko:fix_docs_typo 2014-09-09 09:18:43 +00:00
Pierrick Koch aeda3d2d69 [samples/pyhton] fix common {LINE->CV}_AA 2014-09-09 11:04:24 +02:00
Andrey Pavlenko a8db3df8f6 typo: rect -> roi 2014-09-09 12:25:14 +04:00
Maksim Shabunin c42424f2db Fixed android samples build 2014-09-08 23:22:29 +04:00
Maksim Shabunin 93c03ef05b Fixed android java test build 2014-09-08 19:21:32 +04:00
Maksim Shabunin b3bae170ed Fixed java tests build
- disabled xfeature2d dependency for java wrappers
- fixed java wrappers build after cmake rerun
- disabled opencv_ml tests temporarily
- fixed Imgproc usage in java tests
2014-09-08 18:30:03 +04:00
Andrey Pavlenko 43714b9d03 disabling java bindings for xfeatures2d module due to build errors 2014-09-08 18:30:03 +04:00
Philipp Hasper cc7aa5890d Fixing documentation links 2014-09-08 14:41:29 +02:00
Alexander Alekhin 0b53ca2848 Merge pull request #3192 from jkua:master 2014-09-08 11:02:16 +00:00
Alexander Alekhin eac4042ed5 Merge pull request #3195 from akarsakov:ocl_rm_mul24 2014-09-08 11:00:59 +00:00
Alexander Karsakov c942c6539a Remove mul24 since id can be larger 2^23 2014-09-08 13:11:58 +04:00
Dmitriy Anisimov ad00e0dd43 tt & header background colors changed 2014-09-06 14:15:04 +04:00
Dmitriy Anisimov dfaf75f502 moving algorithm type to param 2014-09-06 09:29:32 +04:00
Dmitriy Anisimov e7b3a73b62 fixed all known issues 2014-09-05 21:56:25 +04:00
Alexander Karsakov 39b27a19be Refactoring and optimization 2014-09-05 12:20:29 +04:00
Alexander Karsakov d59a6fa518 Optimization for getLines 2014-09-05 11:37:16 +04:00
John Kua fb0c0eaa7c Fixed bad non-ASCII character in how_to_scan_images.cpp which causes a compile error 2014-09-04 16:36:36 -07:00
Vadim Pisarevsky 618c75fe3d Merge pull request #3182 from berak:videowriter_docfix_30 2014-09-04 17:09:18 +00:00
Vadim Pisarevsky 26c284b225 Merge pull request #3167 from akarsakov:ocl_rm_clFinish 2014-09-04 17:00:10 +00:00
berak 5f9d5c483c adding fourcc to VideoWriter docs
underline
2014-09-04 16:09:22 +02:00
Alexander Karsakov fee8f29f48 Refactoring, minor optimization 2014-09-04 16:31:30 +04:00
Maksim Shabunin 2c2cdcf789 Changed cmake python library search startegy for crosscompiling 2014-09-04 16:29:46 +04:00
Vadim Pisarevsky ffd1df0cb5 Merge pull request #3186 from akarsakov:ocl_fixes 2014-09-04 08:54:24 +00:00
Vadim Pisarevsky 64a53de27d Merge pull request #3185 from ElenaGvozdeva:ocl_norm 2014-09-04 08:53:47 +00:00
Ilya Lavrenov 98e7d4ceec changed optimal vector width for Intel 2014-09-04 11:59:41 +04:00
Elena Gvozdeva 9fe11db7e2 disabled IPP acceleration for 3-channel norms and for CV_8S only for APPLE 2014-09-04 10:38:45 +04:00
Dmitriy Anisimov e7af509c86 different enhancements 2014-09-03 22:25:08 +04:00
Alexander Karsakov 07d57db91c Fixed calculation of l_stack_size 2014-09-03 17:40:17 +04:00
Alexander Alekhin 97ab91dcc9 Merge pull request #3187 from akarsakov:ocl_disabled_minmaxidx 2014-09-03 12:56:24 +00:00
Alexander Karsakov 7d91b8efcd Removed redundant clFinish() after clEnqueueUnmapMemObject()
sss
2014-09-03 14:54:05 +04:00
Alexander Karsakov f57a4bf87b Disabled minMaxIdx for 32FC1 since it occasionally fails on AMD devices (e.g. A10-6800K) 2014-09-03 14:36:51 +04:00
Vadim Pisarevsky 0276cc90c2 Merge pull request #3184 from ilya-lavrenov:arm 2014-09-03 05:40:19 +00:00
Vadim Pisarevsky 0fd21baaa2 Merge pull request #3174 from rokm:samples-fix 2014-09-02 15:52:56 +00:00
Alexander Alekhin 7dd666e444 Merge pull request #3181 from akarsakov:ocl_mul_scale_test_fix 2014-09-02 13:46:46 +00:00
Alexander Karsakov ec827bed8e Changed check to NORM_RELATIVE for OCL.Mat_Scalar_Scale tests 2014-09-02 16:05:50 +04:00
Alexander Karsakov a48c1c8248 Added workaround for Nvidia: take into account that 3-channel vector type takes 4*elem_size in local memory. 2014-09-02 12:38:02 +04:00
Alexander Karsakov 214dab39f6 Fixed BORDER_REFLECT and BORDER_REFLECT_101 extrapolation for case x > 2*maxV 2014-09-02 11:53:31 +04:00
Vadim Pisarevsky a125cd6c6d Merge pull request #3169 from znah:py_wrap 2014-09-01 18:01:12 +00:00
Vadim Pisarevsky 6c3dd4984c Merge pull request #3179 from alekcac:update_in_youtube_url 2014-09-01 18:00:13 +00:00
Ilya Lavrenov 5d3a128cd3 NEON impl on cv::convertScaleAba CV_32f 2014-09-01 17:04:36 +00:00
Vadim Pisarevsky 3bafe64666 Merge pull request #3170 from ElenaGvozdeva:ocl_fix 2014-09-01 10:40:02 +00:00
Vadim Pisarevsky 3e574cd26a Merge pull request #3173 from rokm:cuda-6.5 2014-09-01 10:38:43 +00:00
Vadim Pisarevsky 1f85ffa11b Merge pull request #3166 from akarsakov:ocl_native_sqrt 2014-09-01 10:36:50 +00:00
Alexander Alekhin 6abce51481 Merge pull request #3176 from ilya-lavrenov:ipp_arm 2014-09-01 09:56:34 +00:00
Alexander Mordvintsev c1032b6232 remove structured_edge_detection.hpp from blacklist
don't discard pure virtual methods in hdr_parser.py (was broken anyway)
2014-09-01 13:55:41 +04:00
Ilya Lavrenov 040ff7993f don't use IPP on ARM 2014-09-01 12:30:49 +04:00
Alexander Shishkov acc2efab50 updated links to the official OpenCV youtube channel 2014-09-01 11:28:43 +04:00
Maksim Shabunin 66ed9ddbe3 Added Ptr<T> support to Java wrappers 2014-09-01 11:24:44 +04:00
Vadim Pisarevsky 43c2c119e9 Merge pull request #3177 from PhilLab:patch-3 2014-09-01 06:16:29 +00:00
Dmitriy Anisimov 5f3ee657ce removed kdtree declaration from interface 2014-08-31 21:39:47 +04:00
Dmitriy Anisimov 5d4bd700a7 slight changes, theme become more similar with current 2014-08-31 18:12:34 +04:00
Philipp Hasper e310added4 Fixing Matx ostream operator
cv::Matx could not be converted to c::Mat automatically
2014-08-31 14:37:43 +02:00
Dmitriy Anisimov 3334c06e8b initial commit 2014-08-30 12:55:45 +04:00
Rok Mandeljc d9db950c0e samples: gpu: performance: SURF is now part of opencv_xfeatures2d 2014-08-30 01:01:08 +02:00
Rok Mandeljc db391fdfdd samples: gpu: performance: BackgroundSubtractorMOG is now part of opencv_bgsegm module 2014-08-30 01:01:08 +02:00
Rok Mandeljc fbf28bcc63 samples: gpu: performance: fix include path for opencv_xfeatures2d
As opencv_xfeatures2d is part of opencv-contrib and not opencv repository,
${OpenCV_SOURCE_DIR}/modules/modules/include is not a correct include
path - use ${opencv_xfeatures2d_SOURCE_DIR}/include instead
2014-08-30 01:01:08 +02:00
Rok Mandeljc 653bca8b74 samples: gpu: super_resolution: disable simple optical flow
The cv::superres::createOptFlow_Simple() function along with the
simple optical flow class implementation is currently commented out
in the superres module's code, so comment it out in the example as well.
2014-08-30 01:01:08 +02:00
Rok Mandeljc f739990f4c samples: gpu: performance: removed FGDStatModel performance comparison test
The FGD background subtraction model was part of opencv_legacy module;
as it is gone now, it makes little sense to benchmark the GPU version,
either, so the whole test is removed.
2014-08-30 01:01:08 +02:00
Rok Mandeljc 51311779b3 samples: gpu: performance: remove inclusion of opencv2/legacy.hpp header
The header is gone now, along with the opencv_legacy module.
2014-08-30 01:01:08 +02:00
Rok Mandeljc e0c8721830 samples: gpu: removed inclusion of non-existent opencv2/contrib/contrib.hpp header, re-introduced TickMeter class in a separate header
This patch removes inclusion of opencv2/contrib/contrib.hpp header,
which does not exist anymore due to removal of opencv_contrib module.

The samples including this header appear to be doing so in order to
use TickMeter class; therefore, the latter is now provided by tick_meter.hpp
header file, located in samples/gpu folder.
2014-08-30 01:01:08 +02:00
Rok Mandeljc 8908b22c9d samples: gpu: removed softcascade example
The example in question cannot be compiled anymore as the softcascade
module has been removed in 3858f2291d.
2014-08-30 01:01:08 +02:00
Rok Mandeljc eb3cb77296 Fixes for compiling with CUDA 6.5
Based on commit feb74b125d from 2.4.9 branch.
2014-08-29 23:09:02 +02:00
Alexander Alekhin 4d474d40e7 Merge pull request #3171 from akarsakov:amd_fft_fix 2014-08-29 16:28:31 +00:00
Alexander Alekhin 4c404cb4cc Merge pull request #3172 from ilya-lavrenov:tapi_transpose_amd 2014-08-29 14:51:38 +00:00
Ilya Lavrenov 71ec6144bd attempt to fix compilation of OpenCL cv::transpose for AMD 2014-08-29 16:59:30 +04:00
Alexander Karsakov d4e6812be2 Added check AmdFft version to be sure that AmdFft binaries are available 2014-08-29 14:23:18 +04:00
Elena Gvozdeva 31ac73c315 fix for cv::memopTypeToStr 2014-08-29 14:18:52 +04:00
Alexander Alekhin 57fec2f2da OCL: enable clAmdFftGetVersion 2014-08-29 13:45:04 +04:00
Vadim Pisarevsky 6ccb7e169d Merge pull request #3163 from StevenPuttemans:fix_nonfree_items 2014-08-29 08:08:52 +00:00
Alexander Karsakov 491bf41356 Disabled native_sqrt for double, since it may be not implemented and gives compilation error. 2014-08-28 17:01:49 +04:00
StevenPuttemans d27e440b2a continue fixing nonfree elements
fixed dependency of stitching module on xfeatures2d module as optional
fixed the initModule_xfeatures2d function that was called in module stitching since it is in another namespace than the standard cv one.
2014-08-28 13:30:47 +02:00
Vadim Pisarevsky 21f1a0ee49 Merge pull request #3161 from ElenaGvozdeva:ocl_perf_gemm 2014-08-28 10:41:11 +00:00
Vadim Pisarevsky 83a0f0ddb1 Merge pull request #3162 from alekcac:fix_in_py_tutor 2014-08-28 10:39:52 +00:00
Alexander Alekhin b332152bef Merge pull request #2956 from ilya-lavrenov:tapi_accumulate 2014-08-28 09:08:51 +00:00
Alexander Karsakov 6b6c7ccfea Added accuracy tests with real and generated data 2014-08-27 17:58:48 +04:00
Alexander Karsakov f7aadd07f6 Added getLines, fill_accum_local kernels 2014-08-27 17:57:22 +04:00
Vadim Pisarevsky d66815978a Merge pull request #3117 from KruchDmitriy:canny_opt 2014-08-27 10:07:55 +00:00
Vadim Pisarevsky 4d9d7e6ded Merge pull request #3160 from akarsakov:ocl_dft_double_support 2014-08-27 10:06:34 +00:00
Alexander Shishkov 9dc5c58f62 Update py_setup_in_windows.rst 2014-08-27 11:49:37 +04:00
Alexander Karsakov a89ff402fc Refactoring of OCL_FftPlan class 2014-08-27 10:33:25 +04:00
Vadim Pisarevsky 2811d40840 Merge pull request #3158 from arielelkin:master 2014-08-26 16:07:10 +00:00
Vadim Pisarevsky b5d073ad3f Merge pull request #3149 from StevenPuttemans:fix_nonfree_includes 2014-08-26 16:03:53 +00:00
Vadim Pisarevsky 7189112308 Merge pull request #3152 from PhilLab:VideoCaptureFix 2014-08-26 16:02:46 +00:00
Vadim Pisarevsky 89605fac04 Merge pull request #3155 from vbystricky:ocloptLaplacian 2014-08-26 16:01:44 +00:00
Elena Gvozdeva 46b6a095a2 changed perf test for ocl_gemm 2014-08-26 15:05:36 +04:00
VBystricky 9ee0789174 Fix issues 2014-08-26 14:39:11 +04:00
PhilLab a0e4600364 VideoCapture did not detect an unopened camera 2014-08-26 09:42:46 +02:00
Alexander Alekhin 6d253a2068 Merge pull request #2921 from ilya-lavrenov:tapi_memop 2014-08-26 06:34:20 +00:00
StevenPuttemans 564a8ed208 adapted all nonfree header inclusion since it doesn't exist anymore as a module 2014-08-25 21:31:34 +02:00
Ariel Elkin d06c73861d Doc: update video processing tutorial code for OpenCV v2.4.9 and v3a 2014-08-25 15:13:13 -03:00
Vadim Pisarevsky b1d01dc757 Merge pull request #3157 from PhilLab:pnpFix 2014-08-25 18:11:10 +00:00
Vadim Pisarevsky 5301fe729e Merge pull request #3154 from PhilLab:patch-4 2014-08-25 18:09:27 +00:00
Vadim Pisarevsky 2211cfe783 Merge pull request #3151 from PhilLab:orbNoKeypoints 2014-08-25 17:10:45 +00:00
PhilLab e95c33dd18 PnP solver: fixed element-wise access 2014-08-25 17:06:17 +02:00
Alexander Karsakov 3ae95150c7 Added double support for OCL version of DFT 2014-08-25 18:08:43 +04:00
vbystricky e75cd74f5a Optimize OpenCL version of Laplacian filter for kernel size great than 3 2014-08-25 17:56:09 +04:00
Philipp Hasper 30742d21d8 CUDA optical flow stubs: missing parameter 2014-08-25 14:49:21 +02:00
Vadim Pisarevsky 3b59a10584 Merge pull request #3153 from PhilLab:patch-3 2014-08-25 11:29:42 +00:00
Alexander Karsakov 038bfb98ec Added fill_accum kernel 2014-08-25 13:55:09 +04:00
Ilya Lavrenov 7017b1250a used new stratehy in cv::accumulate** 2014-08-25 11:25:54 +04:00
Ilya Lavrenov 2c6b7a52e9 improved cv::ocl::predictOptimalVectorWidth 2014-08-25 11:25:01 +04:00
Ilya Lavrenov a350b76738 optimization of cv::accumulate** 2014-08-25 11:25:01 +04:00
Ilya Lavrenov 2f46cf5ddb changed base types for cv::memopTypeToStr 2014-08-25 11:23:46 +04:00
Philipp Hasper 9b1136518c ORB.cl : fixed redefinition of val 2014-08-23 19:07:14 +02:00
Dmitriy Anisimov 9ddb23e025 first implementation KNearest wrapper on KDTree 2014-08-23 18:41:32 +04:00
PhilLab 92826a0436 ORB crashed with no keypoints present 2014-08-23 14:02:15 +02:00
Alexander Karsakov 5c1f71de51 Added make_point_list kernel 2014-08-22 16:50:01 +04:00
Vadim Pisarevsky 4b84d5d2c1 Merge pull request #3139 from bmagyar:patch-2 2014-08-22 12:16:41 +00:00
Vadim Pisarevsky e7539bd2c8 Merge pull request #3144 from ElenaGvozdeva:ocl_morphSmall 2014-08-22 12:14:06 +00:00
Vadim Pisarevsky f624f92e7a Merge pull request #3142 from akarsakov:fix_cvtcolor_luv_rgb_master 2014-08-22 07:24:21 +00:00
U-KruchininD-ПК\KruchininD 6ed168d3af New optimization for canny
new hysteresis

delete whitespaces

fix problem with mad24

Dynamic work group size

dynamic work group size

Fix problem with warnings

Fix some problems with border

Another one fix

Delete trailing whitespaces

some changes

fix problem with warning
2014-08-22 11:22:15 +04:00
Vadim Pisarevsky decebeea0e Merge pull request #3140 from braindevices:master 2014-08-22 07:17:36 +00:00
Vadim Pisarevsky 887a950243 Merge pull request #3116 from shubhra:master 2014-08-22 07:15:40 +00:00
Vadim Pisarevsky 0eb1c7edb1 Merge pull request #3127 from GravityJack:size-math-ops 2014-08-22 07:14:13 +00:00
Vadim Pisarevsky b56933d9dc Merge pull request #3131 from znah:python_namespaces 2014-08-22 07:12:31 +00:00
Vadim Pisarevsky 1efc3cff36 Merge pull request #3124 from f-morozov:optim_pr 2014-08-22 07:04:43 +00:00
Elena Gvozdeva 7ad6b47bc9 fixed ocl_boxFilter 2014-08-22 10:31:13 +04:00
Marc Rollins 17e8d51124 Fixing uninitialized temporary. 2014-08-21 11:41:12 -07:00
Marc Rollins 703921e2fd Reverting pass-by-value changes to arithmetic operators. 2014-08-21 10:37:36 -07:00
Alexander Alekhin 552bda92a9 Merge pull request #3146 from alalek:extra_for_pr3042 2014-08-21 16:47:13 +00:00
Alexander Alekhin 9a7673f950 dummy commit 2014-08-21 20:15:35 +04:00
Alexander Alekhin d47a2988a9 Merge pull request #3128 from asmorkalov:android_tegra_optimizations_build_fix 2014-08-21 15:48:10 +00:00
Alexander Mordvintsev c23d6b67ee blacklisted 'tracking' due to some linking problem 2014-08-21 18:45:50 +04:00
Alexander Mordvintsev 2a9e252f77 fix namespace conflicts (like cv::inpaint and cv::xphoto::inpaint)
whitespace fix
2014-08-21 17:33:21 +04:00
Alexander Karsakov 3d222d313b Fixed range for 'v' channel for 8U images 2014-08-21 17:22:06 +04:00
Elena Gvozdeva 5302e56071 fix for ocl_morphSmall 2014-08-21 16:31:24 +04:00
Alexander Mordvintsev 74c77d826f base class name resolution
fixed find_obj.py
2014-08-21 14:51:03 +04:00
Vadim Pisarevsky de2a8d3706 Merge pull request #3135 from thorikawa:fix-arithmetic-exception-with-ipp 2014-08-21 05:41:18 +00:00
f-morozov 0ae89fe2be AKAZE optimizations 2014-08-21 09:34:52 +04:00
Vadim Pisarevsky 5afaa6b1e7 Merge pull request #3129 from PhilLab:patch-2 2014-08-21 05:30:17 +00:00
Shubhra Pandit 7b2a1d15cc Doc changes for feature changes 1544 and 1557 2014-08-20 20:49:50 -04:00
Ling Wang@z77x a218bdb0d7 fix cmake ocv_add_samples for opencv_contrib/modules/bioinspired
If a sample containing subdirs, a Cmake error will be raised, since the original code can only install FILES.
2014-08-20 08:36:44 -07:00
Vadim Pisarevsky 44e04da79c Merge pull request #2942 from ernest-galbrun:tvl1_chambolle 2014-08-20 14:21:08 +00:00
Bence Magyar 1118a7d15a Update tocDefinitions.rst
Second fix in docs needed for https://github.com/Itseez/opencv_contrib/pull/70
http://www.build.opencv.org/buildbot/builders/precommit-contrib_docs/builds/277
2014-08-20 15:32:05 +02:00
Vadim Pisarevsky b2cd954f24 Merge pull request #3042 from edgarriba:master 2014-08-20 13:18:37 +00:00
Poly Takahiro Horikawa cb0ab87646 Fix arithmetic exception when pass an empty mat with IPP option on. 2014-08-19 19:19:53 -07:00
Vadim Pisarevsky 57a1343f10 Merge pull request #3133 from bmagyar:patch-1 2014-08-19 22:23:59 +00:00
Vadim Pisarevsky a223479107 Merge pull request #3099 from f-morozov:akaze_tutorial 2014-08-19 22:22:23 +00:00
Bence Magyar 04b2d9a453 Fix color table
Apart from not displaying the table, it breaks the doc build of https://github.com/Itseez/opencv_contrib/pull/70.
2014-08-19 18:00:13 +02:00
Alexander Mordvintsev 40d0f853d6 removing modules from blacklist 2014-08-19 19:19:11 +04:00
Alexander Mordvintsev c4c731c0aa fixing warnings
keep old const names for compatibility
2014-08-19 16:57:37 +04:00
Alexander Mordvintsev c22dcb04af fixing warnings 2014-08-19 16:40:09 +04:00
Alexander Mordvintsev e74cddfbd1 put consts into python submodules
maintain set of visited namespaces in CppHeaderParser
WARNING: REMOVED const name conversion (SomeConstName -> SOME_CONST_NAME), discussion needed
2014-08-19 16:40:09 +04:00
Alexander Mordvintsev 6d1c02ffed unified namespace population with 'init_submodule' 2014-08-19 16:40:08 +04:00
Alexander Mordvintsev 4a519a25f3 nested classes support 2014-08-19 16:40:08 +04:00
Alexander Mordvintsev 5ad7f9910f function namespaces partially work 2014-08-19 16:40:07 +04:00
Alexander Mordvintsev e85e83f491 handling namespaces on parsing functions
submodule method tables generation
2014-08-19 16:40:06 +04:00
f-morozov 886319c81d AKAZE fixes and tracking tutorial 2014-08-19 16:35:20 +04:00
PhilLab e09adc4fde Clarified parameter useExtrinsicGuess in solvePnP 2014-08-19 11:08:16 +02:00
Vadim Pisarevsky 8658aef3bf Merge pull request #3104 from dkanafeev:new_ipp_func_master 2014-08-19 09:06:45 +00:00
Vadim Pisarevsky 24163eb929 Merge pull request #3122 from akarsakov:cvtcolor_perf_test_fix 2014-08-19 09:01:35 +00:00
Vadim Pisarevsky 70679b49fc Merge pull request #3121 from akarsakov:ocl_dft_opt 2014-08-19 08:57:53 +00:00
Vadim Pisarevsky bfacad1a99 Merge pull request #3119 from mshabunin:logistic-regression 2014-08-19 08:56:19 +00:00
Ernest Galbrun 2f077fcd99 fixed failing test in opencv_video 2014-08-19 10:00:03 +02:00
Alexander Smorkalov f38ebba34d Build fix for NVIDIA Tegra optimizations integration. 2014-08-19 11:40:25 +04:00
edgarriba deec233519 cleaned dls code 2014-08-19 00:56:13 +02:00
edgarriba 15704c384e cleaned dls code 2014-08-19 00:52:09 +02:00
edgarriba 2653d745fd updated sanity data 2014-08-19 00:35:22 +02:00
edgarriba 6ea73a5bff updated dls perf test 2014-08-19 00:22:08 +02:00
edgarriba 7e2bb63378 Merge branch 'master' of https://github.com/Itseez/opencv 2014-08-18 22:30:00 +02:00
edgarriba 211a8d31d5 Merge branch 'master' of https://github.com/edgarriba/opencv 2014-08-18 21:46:23 +02:00
edgarriba 620387fbe1 Update perf_pnp && ransac model points 2014-08-18 21:46:16 +02:00
Marc Rollins 8fc1848918 Simplifying arithmetic and comparison operator implementation.
Implementing + and - in terms of += and -=.
Implementing != in terms of ==.
2014-08-18 12:25:48 -07:00
Marc Rollins d3d9b538c7 Implementing division operators. 2014-08-18 11:48:38 -07:00
Marc Rollins d7a8166720 Implementing *= operator. Implementing * in terms of it. 2014-08-18 11:42:10 -07:00
Dmitriy Anisimov 37b1a7560c first version of moving KDTree from core to ml 2014-08-18 22:40:31 +04:00
Maksim Shabunin 108caae216 Modified logistic regression module according to comments
- Reworked documentation to reflect actual code
- Removed some unused variables
- Removed unnecessary 'cv::' modifiers
2014-08-18 19:13:59 +04:00
Maksim Shabunin 4667e18831 Updated logistic regression example
- Extracted common operations to separate functions.
- Activated first parameters set.
- Some output formatting.
- Fixed loop break condition in mini_batch_gradient function.
2014-08-18 19:06:58 +04:00
Maksim Shabunin 3e26086f82 Reworked ML logistic regression implementation, initial version 2014-08-18 19:06:58 +04:00
Maksim Shabunin 71770eb790 Fixed ML module build after merge 2014-08-18 19:06:58 +04:00
Rahul Kavi a23836231f fixed warnings in type conversions
fixed warnings in type conversions from size_t to int (in getting size of number of unique classes in a training problem).
2014-08-18 19:06:58 +04:00
Rahul Kavi d20b2a5a97 removed extra comments in train method 2014-08-18 19:06:58 +04:00
Rahul Kavi ae02ecec60 removed a couple of unnecessary comments in Logistic Regression training method 2014-08-18 19:06:58 +04:00
Rahul Kavi f20db35b78 fixed logistic regression documentation warnings 2014-08-18 19:06:58 +04:00
Rahul Kavi 21de04b4a2 fixed default constructor for LogisticRegression class declaration 2014-08-18 19:06:58 +04:00
Rahul Kavi 65eb52a247 removed default value from LogisticRegression constructor function definition 2014-08-18 19:06:57 +04:00
Rahul Kavi e7f14f3d0e fixed missing semicolon in logistic regression documentation 2014-08-18 19:06:57 +04:00
Rahul Kavi 3622de2621 updated mini_batch_size description for LogisticRegressionParams in documentation 2014-08-18 19:06:57 +04:00
Rahul Kavi e4ef0e0ca8 fixed indentation in logistic regression documentation 2014-08-18 19:06:57 +04:00
Rahul Kavi 7c97dbc196 fixed indentation in logistic regression documentation 2014-08-18 19:06:57 +04:00
Rahul Kavi aa35835cfc fixed white space in logistic regression prototype 2014-08-18 19:06:57 +04:00
Rahul Kavi 8995921cc5 fixed white space in logistic regression classifier 2014-08-18 19:06:57 +04:00
Rahul Kavi a9df50eefc updated test for logistic regression 2014-08-18 19:06:57 +04:00
Rahul Kavi b3b4e83aed updated logistic regression definition 2014-08-18 19:06:57 +04:00
Rahul Kavi 95ea09c3dc updated prototype for logistic regression classifier 2014-08-18 19:06:57 +04:00
Rahul Kavi bf2ee3c58a updated prototype for logistic regression classifier 2014-08-18 19:06:52 +04:00
Rahul Kavi 3a6deb3ed3 updated documentation to reflect new api changes for logistic regression 2014-08-18 19:06:52 +04:00
Rahul Kavi 3cdd2b2761 updated logistic regression program with new api example 2014-08-18 19:06:52 +04:00
Rahul Kavi af88f0c067 updated documentation to do reflect changes to logistic regression class 2014-08-18 19:06:52 +04:00
Rahul Kavi 1652b2a443 fixed trailing whitespaces in LogisticRegression code. 2014-08-18 19:06:52 +04:00
Rahul Kavi 5bb43f69ab removed trailing whitespaces from predict function 2014-08-18 19:06:52 +04:00
Rahul Kavi 50031ffb15 removed trailing whitespaces from updated logistic regression definition 2014-08-18 19:06:52 +04:00
Rahul Kavi 78f3b0ad1f removed unnecessary semicolon in LogisticRegression class documentation 2014-08-18 19:06:52 +04:00
Rahul Kavi 56d715b091 fixed typedef for LogisticRegression. Updated LogisticRegression prototype with newer C++ API 2014-08-18 19:06:52 +04:00
Rahul Kavi e4a90c19cc updated documentation to reflect newer changes to LogisticRegression class 2014-08-18 19:06:48 +04:00
Rahul Kavi 64aaa6e1ae updated test for logistic regression after changes to LogisticRegression class 2014-08-18 19:06:48 +04:00
Rahul Kavi d5ad4f3255 added updated logistic regression prototype with newer C++ API 2014-08-18 19:06:48 +04:00
Rahul Kavi 0e13f33193 rewrote the code to update API, removed inheritance from CvStatModel. 2014-08-18 19:06:48 +04:00
Rahul Kavi b8ea21b2e5 updated logistic regression sample program 2014-08-18 19:06:48 +04:00
Rahul Kavi 6c74439d56 fixed trailing white-space in logistic regression class 2014-08-18 19:06:48 +04:00
Rahul Kavi 7612e7af05 fixed trailing white-space in sample program for logistic regression 2014-08-18 19:06:48 +04:00
Rahul Kavi 3a6466d2e1 updated logistic regression sample program 2014-08-18 19:06:48 +04:00
Rahul Kavi 6ae43a2243 added logistic regression classifier 2014-08-18 19:06:48 +04:00
Rahul Kavi fcfeb2451b added logistic regression prototype 2014-08-18 19:06:48 +04:00
Rahul Kavi 3039ed7682 added test for logistic regression 2014-08-18 19:06:36 +04:00
Rahul Kavi 3bf6c3c2aa added documentation for logistic regression classifier 2014-08-18 19:06:36 +04:00
Rahul Kavi b9902f39b7 added reference to logistic regression document 2014-08-18 19:06:36 +04:00
Rahul Kavi 8355293306 added program to demonstrate use of logistic regression classifier 2014-08-18 19:06:36 +04:00
Rahul Kavi 62470d8a33 added sample data file to test logistic regression program 2014-08-18 19:06:36 +04:00
Alexander Karsakov cf1ae3513f Fixed getConversionInfo() for YUV2RGBA_* conversions 2014-08-18 18:34:44 +04:00
Alexander Shishkov a37640cdd0 Update perf_pnp.cpp 2014-08-18 18:34:01 +04:00
Alexander Karsakov fa818d03b8 Changed twiddle buffer creation to use OCL buffer pool (if possible) 2014-08-18 18:22:52 +04:00
Ernest Galbrun 6207d338dd merged new master branch
changed tests for tvl1 optflow
correction of a bug preventing compilation with cuda (fmin changed to fminf)
2014-08-18 15:29:45 +02:00
Vadim Pisarevsky 0ffc53bafe Merge pull request #3107 from vpisarev:fixed_win_build 2014-08-18 09:00:54 +00:00
Ernest Galbrun fae69df9a9 Merge remote-tracking branch 'remotes/origin/master' into tvl1_chambolle
Conflicts:
	modules/video/doc/motion_analysis_and_object_tracking.rst
2014-08-17 22:08:12 +02:00
Shubhra Pandit 6ca893be23 Adding feature 1544 and 1557
-cv::findHomography added a parameter for RANSAC iterations
 -cv::findHomography added a parameter for RANSAC confidence
2014-08-17 13:06:06 -04:00
Vadim Pisarevsky dea40e5e99 Merge pull request #3086 from fpuja:pragma_warning4127_fixing 2014-08-16 16:50:41 +00:00
Vadim Pisarevsky 5febdae36a Merge pull request #3114 from abidrahmank:PyBindTutorials 2014-08-16 16:45:26 +00:00
abidrahmank 7f8e1f480a Python bindings tutorial 2014-08-16 16:40:18 +05:30
Vadim Pisarevsky e9729a9601 multiple yet minor fixes to make most of the tests pass on Mac with Iris graphics 2014-08-16 00:29:10 +04:00
Vadim Pisarevsky 90905fb1e2 Merge pull request #3111 from vpisarev:make_ximgproc_compile 2014-08-15 15:08:34 +00:00
Vadim Pisarevsky 740c5234b1 fix compile problems with contributed ximgproc/xphoto 2014-08-15 18:00:41 +04:00
dkanafeev 1b0f0d7ead Intel Summer School 2014
Switch branch to master.
New IPP func - ippiCopy
Conv: YUV2GRAY_420
2014-08-15 12:54:31 +04:00
Vadim Pisarevsky daaa5a1824 removed duplicated Hershey fonts 2014-08-15 12:09:16 +04:00
Alexander Alekhin b70a391e6c fix VCS version 2014-08-15 12:09:16 +04:00
Vadim Pisarevsky dfbeaddc72 Merge pull request #3106 from LeszekSwirski:fix-gemm-buf-allocate 2014-08-15 05:44:54 +00:00
jaco dbb0fcdc7a #pragma warning4127 fixation modified 2 2014-08-14 19:27:53 +02:00
Roman Donchenko 2222393b0a Merge tag '3.0.0-alpha'
OpenCV 3.0.0 Alpha
2014-08-14 19:19:19 +04:00
Leszek Swirski de806330fd Fix reallocation of D buffer in gemm 2014-08-14 15:54:54 +01:00
jaco b81dcbdf2a #pragma warning4127 fixation modified
Now use cleaner approach:

#pragma warning( push )
#pragma warning( disable: ThatWarning )
//code with ThatWarning here
#pragma warning( pop )
2014-08-13 17:59:16 +02:00
edgarriba 3c3d695d4d Perf test update 2014-08-12 18:29:43 +02:00
edgarriba 301ed34142 removed old headers 2014-08-12 17:36:23 +02:00
edgarriba 7da9800694 removed old headers 2014-08-12 17:22:35 +02:00
edgarriba 4a214c08e5 removed old code 2014-08-12 17:07:38 +02:00
edgarriba 12f8d8069d removed old code 2014-08-12 16:49:19 +02:00
edgarriba 1dec1645e5 Merge branch 'master' of https://github.com/Itseez/opencv 2014-08-12 16:45:22 +02:00
edgarriba de2861e7a9 DLS performance modifications 2014-08-12 16:20:22 +02:00
edgarriba d1f4f6f4b8 DLS performance modifications 2014-08-12 16:15:19 +02:00
jaco 58b3bc2d7e #pragma warning4127 fixed for cvstd.inl.hpp 2014-08-12 15:28:39 +02:00
edgarriba dccc10ff12 DLS perf 2014-08-11 17:53:43 +02:00
edgarriba 2666da892f DLS perf update 2014-08-11 17:09:26 +02:00
edgarriba cc81b4a5cd SOLVEPNP_* flags whitespace 2014-08-11 16:31:28 +02:00
edgarriba afdb67b462 SOLVEPNP_* flags 2014-08-11 16:28:09 +02:00
edgarriba 90b3086f4a RANSAC test confidence 0.99 2014-08-11 12:31:10 +02:00
edgarriba 6c8b11afee DLS test 2014-08-11 11:31:18 +02:00
edgarriba b7a19a9a5f Removed Timer 2014-08-11 11:06:05 +02:00
edgarriba d7f0b9de25 DLS test 2014-08-11 11:02:00 +02:00
edgarriba c7f6c0cb9f Fixed warnings + RANSAC confidence to double 2014-08-11 10:17:42 +02:00
edgarriba 213241c06a DLS test update 2014-08-11 09:44:24 +02:00
edgarriba 2d26f60192 test dls 2014-08-09 21:54:22 +02:00
edgarriba 3780de9d98 test for DLS 2014-08-09 21:26:38 +02:00
edgarriba e2edfecb80 fixed white space 2014-08-09 21:08:46 +02:00
edgarriba 67eb6dde75 warning removed 2014-08-09 20:55:18 +02:00
edgarriba 591355d2c8 remove whitespaces 2014-08-09 20:49:44 +02:00
edgarriba 9547110533 Update tutorial 2014-08-09 19:47:42 +02:00
edgarriba bc250c2e3f bug fixed 2014-08-09 19:15:46 +02:00
edgarriba 80b4f99b1e bug fixed 2014-08-09 18:16:44 +02:00
edgarriba d09b404178 tutorial update 2014-08-09 17:32:52 +02:00
edgarriba 7ecad71ab0 fixed warnings 2014-08-09 17:18:47 +02:00
edgarriba 8c4b8cc0b4 fixed warnings 2014-08-09 17:14:24 +02:00
edgarriba 3f5d3b2d40 video opening path modified 2014-08-08 15:36:27 +02:00
edgarriba f8c5acee4c modified number test points 2014-08-08 15:20:38 +02:00
edgarriba 7d8a16ae39 remove unused tutorials 2014-08-08 14:45:43 +02:00
edgarriba 8b732e086d updated ransanc model 2014-08-08 13:52:15 +02:00
edgarriba c07cd007eb Multi class tutorial compilation 2014-08-08 11:46:26 +02:00
edgarriba e5a91a8be8 Modification Ransac model points 2014-08-07 14:59:01 +02:00
edgarriba 8c08258cf2 moved headers 2014-08-07 13:06:24 +02:00
edgarriba 3a2cf37115 fixed conflicts 2014-08-07 12:41:47 +02:00
edgarriba 837f001789 update cmake 2014-08-07 11:55:17 +02:00
edgarriba 381574bdb7 Modified cmake 2014-08-07 11:33:32 +02:00
edgarriba f1b6809eee Updated Utils functions 2014-08-06 10:05:26 +02:00
edgarriba 2881f2a096 Fixed warnings 2014-08-06 09:21:38 +02:00
edgarriba d2665b655e Fixed warnings 2014-08-06 08:41:14 +02:00
edgarriba e14f91dd37 Update headers 2014-08-06 08:18:11 +02:00
edgarriba ddf5c86f3a Added code 2014-08-06 08:12:55 +02:00
edgarriba 57d2cb8962 deleted: src/CsvReader.cpp
deleted:    src/CsvReader.h
	deleted:    src/CsvWriter.cpp
	deleted:    src/CsvWriter.h
	deleted:    src/Mesh.cpp
	deleted:    src/Mesh.h
	deleted:    src/Model.cpp
	deleted:    src/Model.h
	deleted:    src/ModelRegistration.cpp
	deleted:    src/ModelRegistration.h
	deleted:    src/PnPProblem.cpp
	deleted:    src/PnPProblem.h
	deleted:    src/RobustMatcher.cpp
	deleted:    src/RobustMatcher.h
	deleted:    src/Utils.cpp
	deleted:    src/Utils.h
	deleted:    src/main_detection.cpp
	deleted:    src/main_registration.cpp
	deleted:    src/main_verification.cpp
	deleted:    src/test_pnp.cpp
2014-08-06 08:11:03 +02:00
edgarriba 43301096d3 Update tutorial 2014-08-05 20:06:47 +02:00
edgarriba 7b0be9cf8f Update code 2014-08-05 17:27:20 +02:00
edgarriba 0d2bc9b0a1 Removed whitespaces 2014-08-05 17:02:06 +02:00
edgarriba 2353436cb5 Removed whitespace 2014-08-05 16:53:30 +02:00
edgarriba 4447dbe265 Removed whitespace 2014-08-05 16:41:07 +02:00
edgarriba e3afc32693 Removed whitespace 2014-08-05 16:16:05 +02:00
edgarriba 55819ae464 Tutorial code restructure 2014-08-05 15:48:54 +02:00
edgarriba 23785faf02 Update for NON BOOST libraries 2014-08-05 14:47:06 +02:00
edgarriba 16e750dd37 Update for Boost libraries 2014-08-05 14:02:23 +02:00
edgarriba 1727e0acf6 Update for Boost libraries 2014-08-05 14:00:23 +02:00
edgarriba dfa3ccdea9 Update for Boost libraries 2014-08-05 13:43:01 +02:00
edgarriba a3e74ec521 Merge remote-tracking branch 'upstream/master'
Conflicts:
	modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst
2014-08-05 12:59:47 +02:00
Ernest Galbrun 6594d52185 Merge remote-tracking branch 'remotes/origin/master' into tvl1_chambolle 2014-08-01 14:54:55 +02:00
edgarriba 3e2a57ff35 Update for non Eigen users 2014-08-01 10:48:39 +02:00
Ernest Galbrun 7b8bb4248b Merge branch 'cuda_concurrency' into tvl1_chambolle 2014-07-31 16:08:57 +02:00
Ernest Galbrun ae26368e78 Merge branch 'master' into cuda_concurrency 2014-07-31 16:03:51 +02:00
Ernest Galbrun 917107e635 removed bm legacy 2014-07-31 16:01:54 +02:00
edgarriba 56704b5e95 Update tutorial 2014-07-31 11:47:59 +02:00
edgarriba 08e8f9ca45 Added some definitions 2014-07-31 11:47:26 +02:00
edgarriba 9a25cb012d Update some text 2014-07-30 17:05:06 +02:00
edgarriba 85ccac2633 Added help() 2014-07-30 15:23:52 +02:00
edgarriba 4a86900761 Added help() 2014-07-30 13:32:27 +02:00
edgarriba 69f1ee8732 Code tutorial 2014-07-30 13:08:19 +02:00
edgarriba 6ff58f02e2 Code tutorial 2014-07-30 12:57:18 +02:00
edgarriba 94968c81e0 Code tutorial 2014-07-30 12:57:11 +02:00
edgarriba b58979d057 Code tutorial 2014-07-30 12:57:04 +02:00
edgarriba 38c2cc8521 Code tutorial 2014-07-30 12:56:55 +02:00
edgarriba 31bec45998 Code tutorial 2014-07-30 12:56:46 +02:00
edgarriba b33a2f24fa Code tutorial 2014-07-30 12:56:30 +02:00
edgarriba 9d18f5c458 Code tutorial 2014-07-30 12:56:22 +02:00
edgarriba 6f5876f8f7 Code tutorial 2014-07-30 12:55:35 +02:00
edgarriba 2848f43acc Code tutorial 2014-07-30 12:54:49 +02:00
edgarriba 319dbd2eb7 Code tutorial 2014-07-30 12:53:43 +02:00
edgarriba 924e062426 Code tutorial 2014-07-30 12:53:24 +02:00
edgarriba 3b24aa2441 Code tutorial 2014-07-30 12:53:14 +02:00
edgarriba be4c1afb0b Code tutorial 2014-07-30 12:53:06 +02:00
edgarriba 550e3721ae Code tutorial 2014-07-30 12:51:59 +02:00
edgarriba 64c164c111 Code tutorial 2014-07-30 12:39:46 +02:00
edgarriba 74e52df3cd Code tutorial 2014-07-30 12:33:27 +02:00
edgarriba 7334e54a63 Code tutorial 2014-07-30 12:31:19 +02:00
edgarriba 0ac84755a0 Update tutorial 2014-07-30 12:10:29 +02:00
edgarriba b6b0c2aa8e MACRO for EIGEN libraries 2014-07-30 11:22:25 +02:00
Ernest Galbrun 5623701acb performance issue for cuda TVL1 when gamma = 0 2014-07-28 14:24:21 +02:00
edgarriba 4ddc6a4a77 Update for DLS test 2014-07-28 12:03:02 +02:00
edgarriba 0427b70a2f Filtering solutions with imaginary part 2014-07-28 12:01:39 +02:00
Ernest Galbrun df8f1a4355 removed legacy header 2014-07-28 10:58:19 +02:00
edgarriba 5f35bed5c5 Delete Debug functions 2014-07-25 11:54:41 +02:00
edgarriba 9cad1dfa0d Update C headers for DLS 2014-07-25 11:49:20 +02:00
edgarriba 5980613317 Update 2014-07-25 11:46:28 +02:00
edgarriba 5f54a22d29 Update documentation for DLS 2014-07-25 11:39:06 +02:00
edgarriba a4e21c8fa8 Update DLS test 2014-07-25 11:29:34 +02:00
edgarriba a3f065c409 DLS working 2014-07-25 11:01:47 +02:00
edgarriba 48c4a79d2e DLS full algorithm compiling 2014-07-23 17:26:03 +02:00
edgarriba 730fe9e582 Hessian+ cayley2rotbar 2014-07-22 17:56:25 +02:00
edgarriba b1b9a29e48 Extracting Eigenvalues and Eigenvectors 2014-07-21 17:45:54 +02:00
edgarriba 40f6d320c2 last update 2014-07-21 09:31:45 +02:00
edgarriba 42ab7fd876 dls() no compiles 2014-07-16 00:06:29 +02:00
edgarriba fb67ab1257 Initial DLS add 2014-07-15 09:58:49 +02:00
edgarriba 9abcd88435 Upate test ransac 2014-07-09 17:39:32 +02:00
edgarriba a5d40d7674 Test Run OK 2014-07-09 17:27:08 +02:00
edgarriba 89246e1a45 Update Ransac documentation 2014-07-09 10:59:00 +02:00
edgarriba ba5a8ee299 Solvepnpransac() returns boolean 2014-07-09 10:37:37 +02:00
edgarriba ce07024a44 Updated solvePnPRansac() 2014-07-08 17:09:55 +02:00
edgarriba e395e03040 Real Time Pose tutorial 2014-07-08 16:34:49 +02:00
edgarriba b74cfe8c2c nothing 2014-07-08 16:26:56 +02:00
edgarriba ac8cce3963 solvepnpransac() confidence added 2014-07-08 16:23:25 +02:00
edgarriba 747c6a2bd2 solvepnpransac() interface changed 2014-07-08 16:07:30 +02:00
Ernest Galbrun 62fed8b7b2 retry after failure to load from the build bot 2014-07-07 12:55:07 +02:00
Ernest Galbrun 3d8e05d711 documentation formatting 2014-07-07 12:46:59 +02:00
Ernest Galbrun 5c8e679bdc still a couple tabs and trailing whitespaces... 2014-07-07 12:34:23 +02:00
Ernest Galbrun ca6fb27ea6 removed some tabs 2014-07-07 09:49:57 +02:00
Ernest Galbrun eb6c598678 changed nullptr to NULL to avoid c++11 (failed to build on linux)
replaces tabs with spaces
2014-07-07 09:32:48 +02:00
edgarriba dd52d1b526 New Ransac implementation WORKING 2014-07-04 17:20:17 +02:00
Ernest Galbrun 062e1cbe06 edited documentation to take into account changes in TVL1 2014-07-04 15:45:58 +02:00
Ernest Galbrun 4bd55c6f73 added comments and reference for Chambolle paper 2014-07-04 15:33:34 +02:00
Ernest Galbrun 693c4e5741 debug of cuda_tvl1 => pass tests succesfully 2014-07-04 14:23:09 +02:00
Ernest Galbrun 32707317fa Merge branch 'master' into tvl1_ali 2014-07-03 15:30:59 +02:00
Ernest Galbrun 3e577b090e removed legacy from cmake dependency
removed legacy tests in cudaoptflow
2014-07-03 15:26:51 +02:00
edgarriba e0c4936c99 Input/Output Arrays (DOES NOT COMPILE) 2014-07-03 12:23:03 +02:00
Ernest Galbrun 1ea1cafa00 added modification on cudaoptflow/include/opencv2/cudaoptflow.hpp 2014-07-03 12:07:19 +02:00
Ernest Galbrun b66a13183e added cuda support for chambolle parameter 2014-07-02 17:06:52 +02:00
edgarriba 6eb1426ea2 First version Ransac (DOESN'T COMPILE) 2014-07-02 14:53:12 +02:00
Ernest Galbrun afb9b9540c performance issue when gamma=0 2014-07-02 12:01:59 +02:00
Ernest Galbrun f2e09d048c changed default value for gamma (now 0 -> no use of gamma) 2014-07-02 10:38:32 +02:00
Ernest Galbrun c45e645d6c Merge branch 'master' into tvl1_ali 2014-07-01 10:17:07 +02:00
Ernest Galbrun 5101a7fc00 replaced tabs by spaces 2014-06-27 15:41:39 +02:00
Ernest Galbrun 6a6f24b170 adding new ali's feature 2014-04-18 16:36:34 +02:00
2474 changed files with 654683 additions and 161916 deletions
+14
View File
@@ -8,3 +8,17 @@
Thumbs.db
tags
tegra/
bin/
*.sdf
*.opensdf
*.obj
*.stamp
*.depend
*.rule
*.tmp
*/debug
*/CMakeFiles
CMakeCache.txt
*.suo
*.log
*.tlog
+42
View File
@@ -0,0 +1,42 @@
The build script is to be fixed.
Right now it assumes that 32-bit MinGW is in the system path and
64-bit mingw is installed to c:\Apps\MinGW64.
It is important that gcc is used, not g++!
Otherwise the produced DLL will likely be dependent on libgcc_s_dw2-1.dll or similar DLL.
While we want to make the DLLs with minimum dependencies: Win32 libraries + msvcrt.dll.
ffopencv.c is really a C++ source, hence -x c++ is used.
How to update opencv_ffmpeg.dll and opencv_ffmpeg_64.dll when a new version of FFMPEG is release?
1. Install 32-bit MinGW + MSYS from
http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/
Let's assume, it's installed in C:\MSYS32.
2. Install 64-bit MinGW. http://mingw-w64.sourceforge.net/
Let's assume, it's installed in C:\MSYS64
3. Copy C:\MSYS32\msys to C:\MSYS64\msys. Edit C:\MSYS64\msys\etc\fstab, change C:\MSYS32 to C:\MSYS64.
4. Now you have working MSYS32 and MSYS64 environments.
Launch, one by one, C:\MSYS32\msys\msys.bat and C:\MSYS64\msys\msys.bat to create your home directories.
4. Download ffmpeg-x.y.z.tar.gz (where x.y.z denotes the actual ffmpeg version).
Copy it to C:\MSYS{32|64}\msys\home\<loginname> directory.
5. To build 32-bit ffmpeg libraries, run C:\MSYS32\msys\msys.bat and type the following commands:
5.1. tar -xzf ffmpeg-x.y.z.tar.gz
5.2. mkdir build
5.3. cd build
5.4. ../ffmpeg-x.y.z/configure --enable-w32threads
5.5. make
5.6. make install
5.7. cd /local/lib
5.8. strip -g *.a
6. Then repeat the same for 64-bit case. The output libs: libavcodec.a etc. need to be renamed to libavcodec64.a etc.
7. Then, copy all those libs to <opencv>\3rdparty\lib\, copy the headers to <opencv>\3rdparty\include\ffmpeg_.
8. Then, go to <opencv>\3rdparty\ffmpeg, edit make.bat
(change paths to the actual paths to your msys32 and msys64 distributions) and then run make.bat
+2
View File
@@ -3,9 +3,11 @@ set(HAVE_FFMPEG_CODEC 1)
set(HAVE_FFMPEG_FORMAT 1)
set(HAVE_FFMPEG_UTIL 1)
set(HAVE_FFMPEG_SWSCALE 1)
set(HAVE_FFMPEG_RESAMPLE 0)
set(HAVE_GENTOO_FFMPEG 1)
set(ALIASOF_libavcodec_VERSION 55.18.102)
set(ALIASOF_libavformat_VERSION 55.12.100)
set(ALIASOF_libavutil_VERSION 52.38.100)
set(ALIASOF_libswscale_VERSION 2.3.100)
set(ALIASOF_libavresample_VERSION 1.0.1)
+520
View File
@@ -0,0 +1,520 @@
Copyright (C) 2001 Fabrice Bellard
FFmpeg is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
FFmpeg is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with FFmpeg; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
==================================================================================
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!
+30 -40
View File
@@ -1,42 +1,32 @@
The build script is to be fixed.
Right now it assumes that 32-bit MinGW is in the system path and
64-bit mingw is installed to c:\Apps\MinGW64.
* On Linux and other Unix flavors OpenCV uses default or user-built ffmpeg/libav libraries.
If user builds ffmpeg/libav from source and wants OpenCV to stay BSD library, not GPL/LGPL,
he/she should use --enabled-shared configure flag and make sure that no GPL components are
enabled (some notable examples are x264 (H264 encoder) and libac3 (Dolby AC3 audio codec)).
See https://www.ffmpeg.org/legal.html for details.
If you want to play very safe and do not want to use FFMPEG at all, regardless of whether it's installed on
your system or not, configure and build OpenCV using CMake with WITH_FFMPEG=OFF flag. OpenCV will then use
AVFoundation (OSX), GStreamer (Linux) or other available backends supported by opencv_videoio module.
There is also our self-contained motion jpeg codec, which you can use without any worries.
It handles CV_FOURCC('M', 'J', 'P', 'G') streams within an AVI container (".avi").
* On Windows OpenCV uses pre-built ffmpeg binaries, built with proper flags (without GPL components) and
wrapped with simple, stable OpenCV-compatible API.
The binaries are opencv_ffmpeg.dll (version for 32-bit Windows) and
opencv_ffmpeg_64.dll (version for 64-bit Windows).
See build_win32.txt for the build instructions, if you want to rebuild opencv_ffmpeg*.dll from scratch.
It is important that gcc is used, not g++!
Otherwise the produced DLL will likely be dependent on libgcc_s_dw2-1.dll or similar DLL.
While we want to make the DLLs with minimum dependencies: Win32 libraries + msvcrt.dll.
The pre-built opencv_ffmpeg*.dll is:
* LGPL library, not BSD libraries.
* Loaded at runtime by opencv_videoio module.
If it succeeds, ffmpeg can be used to decode/encode videos;
otherwise, other API is used.
ffopencv.c is really a C++ source, hence -x c++ is used.
How to update opencv_ffmpeg.dll and opencv_ffmpeg_64.dll when a new version of FFMPEG is release?
1. Install 32-bit MinGW + MSYS from
http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get-inst/
Let's assume, it's installed in C:\MSYS32.
2. Install 64-bit MinGW. http://mingw-w64.sourceforge.net/
Let's assume, it's installed in C:\MSYS64
3. Copy C:\MSYS32\msys to C:\MSYS64\msys. Edit C:\MSYS64\msys\etc\fstab, change C:\MSYS32 to C:\MSYS64.
4. Now you have working MSYS32 and MSYS64 environments.
Launch, one by one, C:\MSYS32\msys\msys.bat and C:\MSYS64\msys\msys.bat to create your home directories.
4. Download ffmpeg-x.y.z.tar.gz (where x.y.z denotes the actual ffmpeg version).
Copy it to C:\MSYS{32|64}\msys\home\<loginname> directory.
5. To build 32-bit ffmpeg libraries, run C:\MSYS32\msys\msys.bat and type the following commands:
5.1. tar -xzf ffmpeg-x.y.z.tar.gz
5.2. mkdir build
5.3. cd build
5.4. ../ffmpeg-x.y.z/configure --enable-w32threads
5.5. make
5.6. make install
5.7. cd /local/lib
5.8. strip -g *.a
6. Then repeat the same for 64-bit case. The output libs: libavcodec.a etc. need to be renamed to libavcodec64.a etc.
7. Then, copy all those libs to <opencv>\3rdparty\lib\, copy the headers to <opencv>\3rdparty\include\ffmpeg_.
8. Then, go to <opencv>\3rdparty\ffmpeg, edit make.bat
(change paths to the actual paths to your msys32 and msys64 distributions) and then run make.bat
If LGPL/GPL software can not be supplied with your OpenCV-based product, simply exclude
opencv_ffmpeg*.dll from your distribution; OpenCV will stay fully functional except for the ability to
decode/encode videos using FFMPEG (though, it may still be able to do that using other API,
such as Video for Windows, Windows Media Foundation or our self-contained motion jpeg codec).
See license.txt for the FFMPEG copyright notice and the licensing terms.
+12 -12
View File
@@ -8,21 +8,21 @@
function(_icv_downloader)
# Define actual ICV versions
if(APPLE)
set(OPENCV_ICV_PACKAGE_NAME "ippicv_macosx_20140429.tgz")
set(OPENCV_ICV_PACKAGE_HASH "f2195a60829899983acd4a45794e1717")
set(OPENCV_ICV_PACKAGE_NAME "ippicv_macosx_20141027.tgz")
set(OPENCV_ICV_PACKAGE_HASH "9662fe0694a67e59491a0dcc82fa26e0")
set(OPENCV_ICV_PLATFORM "macosx")
set(OPENCV_ICV_PACKAGE_SUBDIR "/ippicv_osx")
elseif(UNIX)
if(ANDROID AND (NOT ANDROID_ABI STREQUAL x86))
return()
endif()
set(OPENCV_ICV_PACKAGE_NAME "ippicv_linux_20140513.tgz")
set(OPENCV_ICV_PACKAGE_HASH "d80cb24f3a565113a9d6dc56344142f6")
set(OPENCV_ICV_PACKAGE_NAME "ippicv_linux_20141027.tgz")
set(OPENCV_ICV_PACKAGE_HASH "8b449a536a2157bcad08a2b9f266828b")
set(OPENCV_ICV_PLATFORM "linux")
set(OPENCV_ICV_PACKAGE_SUBDIR "/ippicv_lnx")
elseif(WIN32 AND NOT ARM)
set(OPENCV_ICV_PACKAGE_NAME "ippicv_windows_20140429.zip")
set(OPENCV_ICV_PACKAGE_HASH "b5028a92224ec1fbc554010c52eb3ec8")
set(OPENCV_ICV_PACKAGE_NAME "ippicv_windows_20141027.zip")
set(OPENCV_ICV_PACKAGE_HASH "b59f865d1ba16e8c84124e19d78eec57")
set(OPENCV_ICV_PLATFORM "windows")
set(OPENCV_ICV_PACKAGE_SUBDIR "/ippicv_win")
else()
@@ -45,7 +45,7 @@ function(_icv_downloader)
endif()
endif()
unset(OPENCV_ICV_PACKAGE_DOWNLOADED CACHE)
set(OPENCV_ICV_PACKAGE_ARCHIVE "${CMAKE_CURRENT_LIST_DIR}/downloads/${OPENCV_ICV_PLATFORM}-${OPENCV_ICV_PACKAGE_HASH}/${OPENCV_ICV_PACKAGE_NAME}")
get_filename_component(OPENCV_ICV_PACKAGE_ARCHIVE_DIR "${OPENCV_ICV_PACKAGE_ARCHIVE}" PATH)
if(EXISTS "${OPENCV_ICV_PACKAGE_ARCHIVE}")
@@ -56,7 +56,7 @@ function(_icv_downloader)
file(REMOVE_RECURSE "${OPENCV_ICV_PACKAGE_ARCHIVE_DIR}")
endif()
endif()
if(NOT EXISTS "${OPENCV_ICV_PACKAGE_ARCHIVE}")
if(NOT DEFINED OPENCV_ICV_URL)
if(DEFINED ENV{OPENCV_ICV_URL})
@@ -65,7 +65,7 @@ function(_icv_downloader)
set(OPENCV_ICV_URL "http://sourceforge.net/projects/opencvlibrary/files/3rdparty/ippicv")
endif()
endif()
file(MAKE_DIRECTORY ${OPENCV_ICV_PACKAGE_ARCHIVE_DIR})
message(STATUS "ICV: Downloading ${OPENCV_ICV_PACKAGE_NAME}...")
file(DOWNLOAD "${OPENCV_ICV_URL}/${OPENCV_ICV_PACKAGE_NAME}" "${OPENCV_ICV_PACKAGE_ARCHIVE}"
@@ -82,12 +82,12 @@ function(_icv_downloader)
endif()
endif()
endif()
ocv_assert(EXISTS "${OPENCV_ICV_PACKAGE_ARCHIVE}")
ocv_assert(NOT EXISTS "${OPENCV_ICV_UNPACK_PATH}")
file(MAKE_DIRECTORY ${OPENCV_ICV_UNPACK_PATH})
ocv_assert(EXISTS "${OPENCV_ICV_UNPACK_PATH}")
message(STATUS "ICV: Unpacking ${OPENCV_ICV_PACKAGE_NAME} to ${OPENCV_ICV_UNPACK_PATH}...")
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xz "${OPENCV_ICV_PACKAGE_ARCHIVE}"
WORKING_DIRECTORY "${OPENCV_ICV_UNPACK_PATH}"
@@ -100,7 +100,7 @@ function(_icv_downloader)
ocv_assert(EXISTS "${OPENCV_ICV_PATH}")
set(OPENCV_ICV_PACKAGE_DOWNLOADED "${OPENCV_ICV_PACKAGE_HASH}" CACHE INTERNAL "ICV package hash")
message(STATUS "ICV: Package successfully downloaded")
set(OPENCV_ICV_PATH "${OPENCV_ICV_PATH}" PARENT_SCOPE)
endfunction()
-1
View File
@@ -842,7 +842,6 @@ static int jas_cmshapmat_apply(jas_cmpxform_t *pxform, jas_cmreal_t *in,
*dst++ = a2;
}
} else {
assert(0);
while (--cnt >= 0) {
a0 = *src++;
src++;
+5 -2
View File
@@ -345,6 +345,7 @@ jas_stream_t *jas_stream_tmpfile()
{
jas_stream_t *stream;
jas_stream_fileobj_t *obj;
char *tmpname;
if (!(stream = jas_stream_create())) {
return 0;
@@ -365,10 +366,12 @@ jas_stream_t *jas_stream_tmpfile()
#ifdef _WIN32
/* Choose a file name. */
tmpnam(obj->pathname);
tmpname = tempnam(NULL, NULL);
strcpy(obj->pathname, tmpname);
free(tmpname);
/* Open the underlying file. */
if ((obj->fd = open(obj->pathname, O_CREAT | O_EXCL | O_RDWR | O_TRUNC | O_BINARY,
if ((obj->fd = open(obj->pathname, O_CREAT | O_EXCL | O_RDWR | O_TRUNC | O_BINARY | O_TEMPORARY | _O_SHORT_LIVED,
JAS_STREAM_PERMS)) < 0) {
jas_stream_destroy(stream);
return 0;
+7
View File
@@ -15,6 +15,13 @@ else()
ocv_list_filterout(lib_srcs jmemnobs.c)
endif()
if(WINRT)
add_definitions(-DNO_GETENV)
get_directory_property( DirDefs COMPILE_DEFINITIONS )
message(STATUS "Adding NO_GETENV to compiler definitions for WINRT:")
message(STATUS " COMPILE_DEFINITIONS = ${DirDefs}")
endif()
# ----------------------------------------------------------------------------------
# Define the library target:
# ----------------------------------------------------------------------------------
+1 -5
View File
@@ -14,7 +14,7 @@ ocv_include_directories("${CMAKE_CURRENT_SOURCE_DIR}" ${ZLIB_INCLUDE_DIRS})
file(GLOB lib_srcs *.c)
file(GLOB lib_hdrs *.h)
if(NEON)
if(NEON AND ARM)
list(APPEND lib_srcs arm/filter_neon.S)
add_definitions(-DPNG_ARM_NEON)
endif()
@@ -29,10 +29,6 @@ if(MSVC)
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
endif(MSVC)
if (HAVE_WINRT)
add_definitions(-DHAVE_WINRT)
endif()
add_library(${PNG_LIBRARY} STATIC ${lib_srcs} ${lib_hdrs})
target_link_libraries(${PNG_LIBRARY} ${ZLIB_LIBRARIES})
+2 -2
View File
@@ -7,7 +7,7 @@ index 07b2b0b..e7824b8 100644
/* Memory model/platform independent fns */
#ifndef PNG_ABORT
-# ifdef _WINDOWS_
+# if defined(_WINDOWS_) && !defined(HAVE_WINRT)
+# if defined(_WINDOWS_) && !defined(WINRT)
# define PNG_ABORT() ExitProcess(0)
# else
# define PNG_ABORT() abort()
@@ -16,7 +16,7 @@ index 07b2b0b..e7824b8 100644
# define png_memset _fmemset
#else
-# ifdef _WINDOWS_ /* Favor Windows over C runtime fns */
+# if defined(_WINDOWS_) && !defined(HAVE_WINRT) /* Favor Windows over C runtime fns */
+# if defined(_WINDOWS_) && !defined(WINRT) /* Favor Windows over C runtime fns */
# define CVT_PTR(ptr) (ptr)
# define CVT_PTR_NOCHECK(ptr) (ptr)
# define png_strlen lstrlenA
+2 -2
View File
@@ -360,7 +360,7 @@ typedef PNG_CONST png_uint_16p FAR * png_const_uint_16pp;
/* Memory model/platform independent fns */
#ifndef PNG_ABORT
# if defined(_WINDOWS_) && !defined(HAVE_WINRT)
# if defined(_WINDOWS_) && !defined(WINRT)
# define PNG_ABORT() ExitProcess(0)
# else
# define PNG_ABORT() abort()
@@ -378,7 +378,7 @@ typedef PNG_CONST png_uint_16p FAR * png_const_uint_16pp;
# define png_memcpy _fmemcpy
# define png_memset _fmemset
#else
# if defined(_WINDOWS_) && !defined(HAVE_WINRT) /* Favor Windows over C runtime fns */
# if defined(_WINDOWS_) && !defined(WINRT) /* Favor Windows over C runtime fns */
# define CVT_PTR(ptr) (ptr)
# define CVT_PTR_NOCHECK(ptr) (ptr)
# define png_strlen lstrlenA
+2 -2
View File
@@ -17,7 +17,7 @@ check_include_file(string.h HAVE_STRING_H)
check_include_file(sys/types.h HAVE_SYS_TYPES_H)
check_include_file(unistd.h HAVE_UNISTD_H)
if(WIN32 AND NOT HAVE_WINRT)
if(WIN32 AND NOT WINRT)
set(USE_WIN32_FILEIO 1)
endif()
@@ -79,7 +79,7 @@ set(lib_srcs
"${CMAKE_CURRENT_BINARY_DIR}/tif_config.h"
)
if(WIN32 AND NOT HAVE_WINRT)
if(WIN32 AND NOT WINRT)
list(APPEND lib_srcs tif_win32.c)
else()
list(APPEND lib_srcs tif_unix.c)
+1 -1
View File
@@ -54,6 +54,6 @@ if(ENABLE_SOLUTION_FOLDERS)
endif()
if(NOT BUILD_SHARED_LIBS)
ocv_install_target(${WEBP_LIBRARY} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT main)
ocv_install_target(${WEBP_LIBRARY} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev)
endif()
+19 -25
View File
@@ -6,41 +6,34 @@ In order to use these versions of libraries instead of system ones on UNIX syste
should use BUILD_<library_name> CMake flags (for example, BUILD_PNG for the libpng library).
------------------------------------------------------------------------------------
libjpeg 8d (8.4) - The Independent JPEG Group's JPEG software.
libjpeg The Independent JPEG Group's JPEG software.
Copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding.
See IGJ home page http://www.ijg.org
for details and links to the source code
HAVE_JPEG preprocessor flag must be set to make imgcodecs use libjpeg.
On UNIX systems configure script takes care of it.
WITH_JPEG CMake option must be ON to add libjpeg support to imgcodecs.
------------------------------------------------------------------------------------
libpng 1.5.12 - Portable Network Graphics library.
libpng Portable Network Graphics library.
Copyright (c) 2004, 2006-2012 Glenn Randers-Pehrson.
See libpng home page http://www.libpng.org
for details and links to the source code
HAVE_PNG preprocessor flag must be set to make imgcodecs use libpng.
On UNIX systems configure script takes care of it.
WITH_PNG CMake option must be ON to add libpng support to imgcodecs.
------------------------------------------------------------------------------------
libtiff 4.0.2 - Tag Image File Format (TIFF) Software
libtiff Tag Image File Format (TIFF) Software
Copyright (c) 1988-1997 Sam Leffler
Copyright (c) 1991-1997 Silicon Graphics, Inc.
See libtiff home page http://www.remotesensing.org/libtiff/
for details and links to the source code
HAVE_TIFF preprocessor flag must be set to make imgcodecs use libtiff.
On UNIX systems configure script takes care of it.
In this build support for ZIP (LZ77 compression) is turned on.
WITH_TIFF CMake option must be ON to add libtiff & zlib support to imgcodecs.
------------------------------------------------------------------------------------
zlib 1.2.7 - General purpose LZ77 compression library
zlib General purpose LZ77 compression library
Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler.
See zlib home page http://www.zlib.net
for details and links to the source code
No preprocessor definition is needed to make imgcodecs use this library -
it is included automatically if either libpng or libtiff are used.
------------------------------------------------------------------------------------
jasper-1.900.1 - JasPer is a collection of software
jasper JasPer is a collection of software
(i.e., a library and application programs) for the coding
and manipulation of images. This software can handle image data in a
variety of formats. One such format supported by JasPer is the JPEG-2000
@@ -50,14 +43,9 @@ jasper-1.900.1 - JasPer is a collection of software
Copyright (c) 1999-2000 The University of British Columbia
Copyright (c) 2001-2003 Michael David Adams
The JasPer license can be found in src/libjasper.
OpenCV on Windows uses pre-built libjasper library
(lib/libjasper*). To get the latest source code,
please, visit the project homepage:
http://www.ece.uvic.ca/~mdadams/jasper/
The JasPer license can be found in libjasper.
------------------------------------------------------------------------------------
openexr-1.7.1 - OpenEXR is a high dynamic-range (HDR) image file format developed
openexr OpenEXR is a high dynamic-range (HDR) image file format developed
by Industrial Light & Magic for use in computer imaging applications.
Copyright (c) 2006, Industrial Light & Magic, a division of Lucasfilm
@@ -66,11 +54,17 @@ openexr-1.7.1 - OpenEXR is a high dynamic-range (HDR) image file format de
The project homepage: http://www.openexr.com
------------------------------------------------------------------------------------
ffmpeg-0.8.0 - FFmpeg is a complete, cross-platform solution to record,
ffmpeg FFmpeg is a complete, cross-platform solution to record,
convert and stream audio and video. It includes libavcodec -
the leading audio/video codec library, and also libavformat, libavutils and
other helper libraries that are used by OpenCV (in highgui module) to
other helper libraries that are used by OpenCV (in videoio module) to
read and write video files.
The project homepage: http://ffmpeg.org/
Copyright (c) 2001 Fabrice Bellard
The project homepage: http://ffmpeg.org/.
* On Linux/OSX we link user-installed ffmpeg (or ffmpeg fork libav).
* On Windows we use pre-built ffmpeg binaries,
see opencv/3rdparty/ffmpeg/readme.txt for details and licensing information
------------------------------------------------------------------------------------
+1 -1
View File
@@ -82,7 +82,7 @@ if(UNIX)
endif()
endif()
ocv_warnings_disable(CMAKE_C_FLAGS -Wattributes -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations)
ocv_warnings_disable(CMAKE_C_FLAGS -Wshorten-64-to-32 -Wattributes -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations)
set_target_properties(${ZLIB_LIBRARY} PROPERTIES
OUTPUT_NAME ${ZLIB_LIBRARY}
+183 -96
View File
@@ -12,6 +12,12 @@ include(cmake/OpenCVMinDepVersions.cmake)
if(CMAKE_GENERATOR MATCHES Xcode AND XCODE_VERSION VERSION_GREATER 4.3)
cmake_minimum_required(VERSION 2.8.8 FATAL_ERROR)
elseif(CMAKE_SYSTEM_NAME MATCHES WindowsPhone OR CMAKE_SYSTEM_NAME MATCHES WindowsStore)
cmake_minimum_required(VERSION 3.1 FATAL_ERROR)
#Required to resolve linker error issues due to incompatibility with CMake v3.0+ policies.
#CMake fails to find _fseeko() which leads to subsequent linker error.
#See details here: http://www.cmake.org/Wiki/CMake/Policies
cmake_policy(VERSION 2.8)
else()
cmake_minimum_required(VERSION "${MIN_VER_CMAKE}" FATAL_ERROR)
endif()
@@ -33,11 +39,46 @@ else(NOT CMAKE_TOOLCHAIN_FILE)
set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "Installation Directory")
endif(NOT CMAKE_TOOLCHAIN_FILE)
if(CMAKE_SYSTEM_NAME MATCHES WindowsPhone OR CMAKE_SYSTEM_NAME MATCHES WindowsStore)
set(WINRT TRUE)
endif(CMAKE_SYSTEM_NAME MATCHES WindowsPhone OR CMAKE_SYSTEM_NAME MATCHES WindowsStore)
if(WINRT)
add_definitions(-DWINRT -DNO_GETENV)
# Making definitions available to other configurations and
# to filter dependency restrictions at compile time.
if(CMAKE_SYSTEM_NAME MATCHES WindowsPhone)
set(WINRT_PHONE TRUE)
add_definitions(-DWINRT_PHONE)
elseif(CMAKE_SYSTEM_NAME MATCHES WindowsStore)
set(WINRT_STORE TRUE)
add_definitions(-DWINRT_STORE)
endif()
if(CMAKE_SYSTEM_VERSION MATCHES 8.1)
set(WINRT_8_1 TRUE)
add_definitions(-DWINRT_8_1)
elseif(CMAKE_SYSTEM_VERSION MATCHES 8.0)
set(WINRT_8_0 TRUE)
add_definitions(-DWINRT_8_0)
endif()
endif()
if(POLICY CMP0022)
cmake_policy(SET CMP0022 OLD)
endif()
if(POLICY CMP0026)
# silence cmake 3.0+ warnings about reading LOCATION attribute
cmake_policy(SET CMP0026 OLD)
endif()
if (POLICY CMP0042)
# silence cmake 3.0+ warnings about MACOSX_RPATH
cmake_policy(SET CMP0042 OLD)
endif()
# must go before the project command
set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Configs" FORCE)
if(DEFINED CMAKE_BUILD_TYPE)
@@ -115,70 +156,73 @@ endif()
# Optional 3rd party components
# ===================================================
OCV_OPTION(WITH_1394 "Include IEEE1394 support" ON IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_1394 "Include IEEE1394 support" ON IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_AVFOUNDATION "Use AVFoundation for Video I/O" ON IF IOS)
OCV_OPTION(WITH_CARBON "Use Carbon for UI instead of Cocoa" OFF IF APPLE )
OCV_OPTION(WITH_VTK "Include VTK library support (and build opencv_viz module eiher)" ON IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_CUDA "Include NVidia Cuda Runtime support" ON IF (NOT IOS) )
OCV_OPTION(WITH_CUFFT "Include NVidia Cuda Fast Fourier Transform (FFT) library support" ON IF (NOT IOS) )
OCV_OPTION(WITH_CUBLAS "Include NVidia Cuda Basic Linear Algebra Subprograms (BLAS) library support" OFF IF (NOT IOS) )
OCV_OPTION(WITH_VTK "Include VTK library support (and build opencv_viz module eiher)" ON IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_CUDA "Include NVidia Cuda Runtime support" ON IF (NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_CUFFT "Include NVidia Cuda Fast Fourier Transform (FFT) library support" ON IF (NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_CUBLAS "Include NVidia Cuda Basic Linear Algebra Subprograms (BLAS) library support" OFF IF (NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_NVCUVID "Include NVidia Video Decoding library support" OFF IF (NOT IOS AND NOT APPLE) )
OCV_OPTION(WITH_EIGEN "Include Eigen2/Eigen3 support" ON)
OCV_OPTION(WITH_EIGEN "Include Eigen2/Eigen3 support" ON IF (NOT WINRT) )
OCV_OPTION(WITH_VFW "Include Video for Windows support" ON IF WIN32 )
OCV_OPTION(WITH_FFMPEG "Include FFMPEG support" ON IF (NOT ANDROID AND NOT IOS))
OCV_OPTION(WITH_GSTREAMER "Include Gstreamer support" ON IF (UNIX AND NOT APPLE AND NOT ANDROID) )
OCV_OPTION(WITH_FFMPEG "Include FFMPEG support" ON IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_GSTREAMER "Include Gstreamer support" ON IF (UNIX AND NOT ANDROID) )
OCV_OPTION(WITH_GSTREAMER_0_10 "Enable Gstreamer 0.10 support (instead of 1.x)" OFF )
OCV_OPTION(WITH_GTK "Include GTK support" ON IF (UNIX AND NOT APPLE AND NOT ANDROID) )
OCV_OPTION(WITH_GTK_2_X "Use GTK version 2" OFF IF (UNIX AND NOT APPLE AND NOT ANDROID) )
OCV_OPTION(WITH_IPP "Include Intel IPP support" ON IF (NOT IOS) )
OCV_OPTION(WITH_IPP "Include Intel IPP support" ON IF (X86_64 OR X86) AND NOT WINRT)
OCV_OPTION(WITH_JASPER "Include JPEG2K support" ON IF (NOT IOS) )
OCV_OPTION(WITH_JPEG "Include JPEG support" ON)
OCV_OPTION(WITH_WEBP "Include WebP support" ON IF (NOT IOS) )
OCV_OPTION(WITH_OPENEXR "Include ILM support via OpenEXR" ON IF (NOT IOS) )
OCV_OPTION(WITH_OPENGL "Include OpenGL support" OFF IF (NOT ANDROID) )
OCV_OPTION(WITH_OPENNI "Include OpenNI support" OFF IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_OPENNI2 "Include OpenNI2 support" OFF IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_WEBP "Include WebP support" ON IF (NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_OPENEXR "Include ILM support via OpenEXR" ON IF (NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_OPENGL "Include OpenGL support" OFF IF (NOT ANDROID AND NOT WINRT) )
OCV_OPTION(WITH_OPENNI "Include OpenNI support" OFF IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_OPENNI2 "Include OpenNI2 support" OFF IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_PNG "Include PNG support" ON)
OCV_OPTION(WITH_PVAPI "Include Prosilica GigE support" ON IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_GIGEAPI "Include Smartek GigE support" ON IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_QT "Build with Qt Backend support" OFF IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_WIN32UI "Build with Win32 UI Backend support" ON IF WIN32 )
OCV_OPTION(WITH_PVAPI "Include Prosilica GigE support" ON IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_GIGEAPI "Include Smartek GigE support" ON IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_QT "Build with Qt Backend support" OFF IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_WIN32UI "Build with Win32 UI Backend support" ON IF WIN32 AND NOT WINRT)
OCV_OPTION(WITH_QUICKTIME "Use QuickTime for Video I/O insted of QTKit" OFF IF APPLE )
OCV_OPTION(WITH_TBB "Include Intel TBB support" OFF IF (NOT IOS) )
OCV_OPTION(WITH_TBB "Include Intel TBB support" OFF IF (NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_OPENMP "Include OpenMP support" OFF)
OCV_OPTION(WITH_CSTRIPES "Include C= support" OFF IF WIN32 )
OCV_OPTION(WITH_CSTRIPES "Include C= support" OFF IF (WIN32 AND NOT WINRT) )
OCV_OPTION(WITH_PTHREADS_PF "Use pthreads-based parallel_for" OFF IF (NOT WIN32) )
OCV_OPTION(WITH_TIFF "Include TIFF support" ON IF (NOT IOS) )
OCV_OPTION(WITH_UNICAP "Include Unicap support (GPL)" OFF IF (UNIX AND NOT APPLE AND NOT ANDROID) )
OCV_OPTION(WITH_V4L "Include Video 4 Linux support" ON IF (UNIX AND NOT ANDROID) )
OCV_OPTION(WITH_LIBV4L "Use libv4l for Video 4 Linux support" ON IF (UNIX AND NOT ANDROID) )
OCV_OPTION(WITH_DSHOW "Build VideoIO with DirectShow support" ON IF (WIN32 AND NOT ARM) )
OCV_OPTION(WITH_DSHOW "Build VideoIO with DirectShow support" ON IF (WIN32 AND NOT ARM AND NOT WINRT) )
OCV_OPTION(WITH_MSMF "Build VideoIO with Media Foundation support" OFF IF WIN32 )
OCV_OPTION(WITH_XIMEA "Include XIMEA cameras support" OFF IF (NOT ANDROID AND NOT APPLE) )
OCV_OPTION(WITH_XIMEA "Include XIMEA cameras support" OFF IF (NOT ANDROID AND NOT WINRT) )
OCV_OPTION(WITH_XINE "Include Xine support (GPL)" OFF IF (UNIX AND NOT APPLE AND NOT ANDROID) )
OCV_OPTION(WITH_CLP "Include Clp support (EPL)" OFF)
OCV_OPTION(WITH_OPENCL "Include OpenCL Runtime support" ON IF (NOT IOS) )
OCV_OPTION(WITH_OPENCLAMDFFT "Include AMD OpenCL FFT library support" ON IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_OPENCLAMDBLAS "Include AMD OpenCL BLAS library support" ON IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_DIRECTX "Include DirectX support" ON IF WIN32 )
OCV_OPTION(WITH_INTELPERC "Include Intel Perceptual Computing support" OFF IF WIN32 )
OCV_OPTION(WITH_OPENCL "Include OpenCL Runtime support" NOT ANDROID IF (NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_OPENCL_SVM "Include OpenCL Shared Virtual Memory support" OFF ) # experimental
OCV_OPTION(WITH_OPENCLAMDFFT "Include AMD OpenCL FFT library support" ON IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_OPENCLAMDBLAS "Include AMD OpenCL BLAS library support" ON IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_DIRECTX "Include DirectX support" ON IF (WIN32 AND NOT WINRT) )
OCV_OPTION(WITH_INTELPERC "Include Intel Perceptual Computing support" OFF IF (WIN32 AND NOT WINRT) )
OCV_OPTION(WITH_IPP_A "Include Intel IPP_A support" OFF IF (MSVC OR X86 OR X86_64) )
OCV_OPTION(WITH_GDAL "Include GDAL Support" OFF IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_GDAL "Include GDAL Support" OFF IF (NOT ANDROID AND NOT IOS AND NOT WINRT) )
OCV_OPTION(WITH_GPHOTO2 "Include gPhoto2 library support" ON IF (UNIX AND NOT ANDROID) )
# OpenCV build components
# ===================================================
OCV_OPTION(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" NOT (ANDROID OR IOS) )
OCV_OPTION(BUILD_opencv_apps "Build utility applications (used for example to train classifiers)" (NOT ANDROID) IF (NOT IOS) )
OCV_OPTION(BUILD_opencv_apps "Build utility applications (used for example to train classifiers)" (NOT ANDROID AND NOT WINRT) IF (NOT IOS) )
OCV_OPTION(BUILD_ANDROID_EXAMPLES "Build examples for Android platform" ON IF ANDROID )
OCV_OPTION(BUILD_DOCS "Create build rules for OpenCV Documentation" ON )
OCV_OPTION(BUILD_DOCS "Create build rules for OpenCV Documentation" ON IF NOT WINRT)
OCV_OPTION(BUILD_EXAMPLES "Build all examples" OFF )
OCV_OPTION(BUILD_PACKAGE "Enables 'make package_source' command" ON )
OCV_OPTION(BUILD_PERF_TESTS "Build performance tests" ON IF (NOT IOS) )
OCV_OPTION(BUILD_TESTS "Build accuracy & regression tests" ON IF (NOT IOS) )
OCV_OPTION(BUILD_PACKAGE "Enables 'make package_source' command" ON IF NOT WINRT)
OCV_OPTION(BUILD_PERF_TESTS "Build performance tests" ON IF (NOT IOS AND NOT WINRT) )
OCV_OPTION(BUILD_TESTS "Build accuracy & regression tests" ON IF (NOT IOS AND NOT WINRT) )
OCV_OPTION(BUILD_WITH_DEBUG_INFO "Include debug info into debug libs (not MSCV only)" ON )
OCV_OPTION(BUILD_WITH_STATIC_CRT "Enables use of staticaly linked CRT for staticaly linked OpenCV" ON IF MSVC )
OCV_OPTION(BUILD_WITH_DYNAMIC_IPP "Enables dynamic linking of IPP (only for standalone IPP)" OFF )
OCV_OPTION(BUILD_FAT_JAVA_LIB "Create fat java wrapper containing the whole OpenCV library" ON IF NOT BUILD_SHARED_LIBS AND CMAKE_COMPILER_IS_GNUCXX )
OCV_OPTION(BUILD_ANDROID_SERVICE "Build OpenCV Manager for Google Play" OFF IF ANDROID AND ANDROID_SOURCE_TREE )
OCV_OPTION(BUILD_ANDROID_PACKAGE "Build platform-specific package for Google Play" OFF IF ANDROID )
OCV_OPTION(BUILD_ANDROID_SERVICE "Build OpenCV Manager for Google Play" OFF IF ANDROID )
OCV_OPTION(BUILD_CUDA_STUBS "Build CUDA modules stubs when no CUDA SDK" OFF IF (NOT IOS) )
# 3rd party libs
@@ -187,7 +231,7 @@ OCV_OPTION(BUILD_TIFF "Build libtiff from source" WIN32 O
OCV_OPTION(BUILD_JASPER "Build libjasper from source" WIN32 OR ANDROID OR APPLE )
OCV_OPTION(BUILD_JPEG "Build libjpeg from source" WIN32 OR ANDROID OR APPLE )
OCV_OPTION(BUILD_PNG "Build libpng from source" WIN32 OR ANDROID OR APPLE )
OCV_OPTION(BUILD_OPENEXR "Build openexr from source" WIN32 OR ANDROID OR APPLE )
OCV_OPTION(BUILD_OPENEXR "Build openexr from source" (WIN32 OR ANDROID OR APPLE) AND NOT WINRT)
OCV_OPTION(BUILD_TBB "Download and build TBB from source" ANDROID )
# OpenCV installation options
@@ -210,18 +254,25 @@ OCV_OPTION(ENABLE_POWERPC "Enable PowerPC for GCC"
OCV_OPTION(ENABLE_FAST_MATH "Enable -ffast-math (not recommended for GCC 4.6.x)" OFF IF (CMAKE_COMPILER_IS_GNUCXX AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_SSE "Enable SSE instructions" ON IF ((MSVC OR CMAKE_COMPILER_IS_GNUCXX) AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_SSE2 "Enable SSE2 instructions" ON IF ((MSVC OR CMAKE_COMPILER_IS_GNUCXX) AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_SSE3 "Enable SSE3 instructions" ON IF ((CV_ICC OR CMAKE_COMPILER_IS_GNUCXX) AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_SSSE3 "Enable SSSE3 instructions" OFF IF (CMAKE_COMPILER_IS_GNUCXX AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_SSE41 "Enable SSE4.1 instructions" OFF IF ((CV_ICC OR CMAKE_COMPILER_IS_GNUCXX) AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_SSE42 "Enable SSE4.2 instructions" OFF IF (CMAKE_COMPILER_IS_GNUCXX AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_SSE3 "Enable SSE3 instructions" ON IF ((MSVC OR CMAKE_COMPILER_IS_GNUCXX OR CV_ICC) AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_SSSE3 "Enable SSSE3 instructions" OFF IF ((MSVC OR CMAKE_COMPILER_IS_GNUCXX) AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_SSE41 "Enable SSE4.1 instructions" OFF IF ((MSVC OR CMAKE_COMPILER_IS_GNUCXX OR CV_ICC) AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_SSE42 "Enable SSE4.2 instructions" OFF IF ((MSVC OR CMAKE_COMPILER_IS_GNUCXX) AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_POPCNT "Enable POPCNT instructions" OFF IF ((MSVC OR CMAKE_COMPILER_IS_GNUCXX) AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_AVX "Enable AVX instructions" OFF IF ((MSVC OR CMAKE_COMPILER_IS_GNUCXX) AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_NEON "Enable NEON instructions" OFF IF CMAKE_COMPILER_IS_GNUCXX AND ARM )
OCV_OPTION(ENABLE_VFPV3 "Enable VFPv3-D32 instructions" OFF IF CMAKE_COMPILER_IS_GNUCXX AND ARM )
OCV_OPTION(ENABLE_AVX2 "Enable AVX2 instructions" OFF IF ((MSVC OR CMAKE_COMPILER_IS_GNUCXX) AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_FMA3 "Enable FMA3 instructions" OFF IF ((MSVC OR CMAKE_COMPILER_IS_GNUCXX) AND (X86 OR X86_64)) )
OCV_OPTION(ENABLE_NEON "Enable NEON instructions" OFF IF CMAKE_COMPILER_IS_GNUCXX AND (ARM OR AARCH64 OR IOS) )
OCV_OPTION(ENABLE_VFPV3 "Enable VFPv3-D32 instructions" OFF IF CMAKE_COMPILER_IS_GNUCXX AND (ARM OR AARCH64 OR IOS) )
OCV_OPTION(ENABLE_NOISY_WARNINGS "Show all warnings even if they are too noisy" OFF )
OCV_OPTION(OPENCV_WARNINGS_ARE_ERRORS "Treat warnings as errors" OFF )
OCV_OPTION(ENABLE_WINRT_MODE "Build with Windows Runtime support" OFF IF WIN32 )
OCV_OPTION(ENABLE_WINRT_MODE_NATIVE "Build with Windows Runtime native C++ support" OFF IF WIN32 )
OCV_OPTION(ANDROID_EXAMPLES_WITH_LIBS "Build binaries of Android examples with native libraries" OFF IF ANDROID )
OCV_OPTION(ENABLE_IMPL_COLLECTION "Collect implementation data on function call" OFF )
OCV_OPTION(GENERATE_ABI_DESCRIPTOR "Generate XML file for abi_compliance_checker tool" OFF IF UNIX)
if(ENABLE_IMPL_COLLECTION)
add_definitions(-DCV_COLLECT_IMPL_DATA)
endif()
# ----------------------------------------------------------------------------
@@ -248,13 +299,11 @@ endif()
if(ANDROID OR WIN32)
set(OPENCV_DOC_INSTALL_PATH doc)
elseif(INSTALL_TO_MANGLED_PATHS)
set(OPENCV_DOC_INSTALL_PATH share/OpenCV-${OPENCV_VERSION}/doc)
else()
set(OPENCV_DOC_INSTALL_PATH share/OpenCV/doc)
endif()
if(WIN32)
if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
if(DEFINED OpenCV_RUNTIME AND DEFINED OpenCV_ARCH)
set(OpenCV_INSTALL_BINARIES_PREFIX "${OpenCV_ARCH}/${OpenCV_RUNTIME}/")
else()
@@ -283,6 +332,20 @@ if(NOT OPENCV_TEST_INSTALL_PATH)
set(OPENCV_TEST_INSTALL_PATH "${OPENCV_BIN_INSTALL_PATH}")
endif()
if (OPENCV_TEST_DATA_PATH)
get_filename_component(OPENCV_TEST_DATA_PATH ${OPENCV_TEST_DATA_PATH} ABSOLUTE)
endif()
if(OPENCV_TEST_DATA_PATH AND NOT OPENCV_TEST_DATA_INSTALL_PATH)
if(ANDROID)
set(OPENCV_TEST_DATA_INSTALL_PATH "sdk/etc/testdata")
elseif(WIN32)
set(OPENCV_TEST_DATA_INSTALL_PATH "testdata")
else()
set(OPENCV_TEST_DATA_INSTALL_PATH "share/OpenCV/testdata")
endif()
endif()
if(ANDROID)
set(LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/lib/${ANDROID_NDK_ABI_NAME}")
set(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib/${ANDROID_NDK_ABI_NAME}")
@@ -291,10 +354,12 @@ if(ANDROID)
set(OPENCV_CONFIG_INSTALL_PATH sdk/native/jni)
set(OPENCV_INCLUDE_INSTALL_PATH sdk/native/jni/include)
set(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native)
set(OPENCV_OTHER_INSTALL_PATH sdk/etc)
else()
set(LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/lib")
set(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}")
if(WIN32)
if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
if(OpenCV_STATIC)
set(OPENCV_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
else()
@@ -302,10 +367,14 @@ else()
endif()
set(OPENCV_3P_LIB_INSTALL_PATH "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
set(OPENCV_SAMPLES_SRC_INSTALL_PATH samples/native)
set(OPENCV_JAR_INSTALL_PATH java)
set(OPENCV_OTHER_INSTALL_PATH etc)
else()
set(OPENCV_LIB_INSTALL_PATH lib${LIB_SUFFIX})
set(OPENCV_3P_LIB_INSTALL_PATH share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH})
set(OPENCV_SAMPLES_SRC_INSTALL_PATH share/OpenCV/samples)
set(OPENCV_JAR_INSTALL_PATH share/OpenCV/java)
set(OPENCV_OTHER_INSTALL_PATH share/OpenCV)
endif()
set(OPENCV_INCLUDE_INSTALL_PATH "include")
@@ -322,8 +391,16 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
if(INSTALL_TO_MANGLED_PATHS)
set(OPENCV_INCLUDE_INSTALL_PATH ${OPENCV_INCLUDE_INSTALL_PATH}/opencv-${OPENCV_VERSION})
string(REPLACE "OpenCV" "OpenCV-${OPENCV_VERSION}" OPENCV_3P_LIB_INSTALL_PATH "${OPENCV_3P_LIB_INSTALL_PATH}")
string(REPLACE "OpenCV" "OpenCV-${OPENCV_VERSION}" OPENCV_SAMPLES_SRC_INSTALL_PATH "${OPENCV_SAMPLES_SRC_INSTALL_PATH}")
string(REPLACE "OpenCV" "OpenCV-${OPENCV_VERSION}" OPENCV_CONFIG_INSTALL_PATH "${OPENCV_CONFIG_INSTALL_PATH}")
string(REPLACE "OpenCV" "OpenCV-${OPENCV_VERSION}" OPENCV_DOC_INSTALL_PATH "${OPENCV_DOC_INSTALL_PATH}")
string(REPLACE "OpenCV" "OpenCV-${OPENCV_VERSION}" OPENCV_JAR_INSTALL_PATH "${OPENCV_JAR_INSTALL_PATH}")
string(REPLACE "OpenCV" "OpenCV-${OPENCV_VERSION}" OPENCV_TEST_DATA_INSTALL_PATH "${OPENCV_TEST_DATA_INSTALL_PATH}")
string(REPLACE "OpenCV" "OpenCV-${OPENCV_VERSION}" OPENCV_OTHER_INSTALL_PATH "${OPENCV_OTHER_INSTALL_PATH}")
endif()
if(WIN32)
# Postfix of DLLs:
set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}")
@@ -359,7 +436,7 @@ set(OPENCV_EXTRA_MODULES_PATH "" CACHE PATH "Where to look for additional OpenCV
find_host_package(Git QUIET)
if(GIT_FOUND)
execute_process(COMMAND "${GIT_EXECUTABLE}" describe --tags --always --dirty --match "2.[0-9].[0-9]*"
execute_process(COMMAND "${GIT_EXECUTABLE}" describe --tags --always --dirty --match "[0-9].[0-9].[0-9]*"
WORKING_DIRECTORY "${OpenCV_SOURCE_DIR}"
OUTPUT_VARIABLE OPENCV_VCSVERSION
RESULT_VARIABLE GIT_RESULT
@@ -430,7 +507,7 @@ include(cmake/OpenCVModule.cmake)
# Detect endianness of build platform
# ----------------------------------------------------------------------------
if(CMAKE_SYSTEM_NAME STREQUAL iOS)
if(IOS)
# test_big_endian needs try_compile, which doesn't work for iOS
# http://public.kitware.com/Bug/view.php?id=12288
set(WORDS_BIGENDIAN 0)
@@ -452,9 +529,22 @@ include(cmake/OpenCVFindLibsPerf.cmake)
# Detect other 3rd-party libraries/tools
# ----------------------------------------------------------------------------
# --- LATEX for pdf documentation ---
# --- Doxygen and PlantUML for documentation ---
unset(DOXYGEN_FOUND CACHE)
if(BUILD_DOCS)
include(cmake/OpenCVFindLATEX.cmake)
find_package(Doxygen)
if (PLANTUML_JAR)
message(STATUS "Using PlantUML path from command line: ${PLANTUML_JAR}")
elseif(DEFINED ENV{PLANTUML_JAR})
set(PLANTUML_JAR $ENV{PLANTUML_JAR})
message(STATUS "Using PLantUML path from environment: ${PLANTUML_JAR}")
else()
message(STATUS "To enable PlantUML support, set PLANTUML_JAR environment variable or pass -DPLANTUML_JAR=<filepath> option to cmake")
endif()
if (PLANTUML_JAR AND DOXYGEN_VERSION VERSION_LESS 1.8.8)
message(STATUS "You need Doxygen version 1.8.8 or later to use PlantUML")
unset(PLANTUML_JAR)
endif()
endif(BUILD_DOCS)
# --- Python Support ---
@@ -547,14 +637,6 @@ if(ANDROID)
add_subdirectory(platforms/android/service)
endif()
if(BUILD_ANDROID_PACKAGE)
add_subdirectory(platforms/android/package)
endif()
if (ANDROID)
add_subdirectory(platforms/android/libinfo)
endif()
# ----------------------------------------------------------------------------
# Finalization: generate configuration-based files
# ----------------------------------------------------------------------------
@@ -574,24 +656,27 @@ include(cmake/OpenCVGenConfig.cmake)
# Generate Info.plist for the IOS framework
include(cmake/OpenCVGenInfoPlist.cmake)
# Generate ABI descriptor
include(cmake/OpenCVGenABI.cmake)
# Generate environment setup file
if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH AND UNIX)
if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
if(ANDROID)
get_filename_component(TEST_PATH ${OPENCV_TEST_INSTALL_PATH} DIRECTORY)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/opencv_run_all_tests_android.sh.in"
"${CMAKE_BINARY_DIR}/unix-install/opencv_run_all_tests.sh" @ONLY)
install(PROGRAMS "${CMAKE_BINARY_DIR}/unix-install/opencv_run_all_tests.sh"
DESTINATION ${CMAKE_INSTALL_PREFIX} COMPONENT tests)
else()
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/opencv_testing.sh.in"
"${CMAKE_BINARY_DIR}/unix-install/opencv_testing.sh" @ONLY)
install(FILES "${CMAKE_BINARY_DIR}/unix-install/opencv_testing.sh"
DESTINATION /etc/profile.d/ COMPONENT tests)
elseif(WIN32)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/opencv_run_all_tests_windows.cmd.in"
"${CMAKE_BINARY_DIR}/win-install/opencv_run_all_tests.cmd" @ONLY)
install(PROGRAMS "${CMAKE_BINARY_DIR}/win-install/opencv_run_all_tests.cmd"
DESTINATION ${OPENCV_TEST_INSTALL_PATH} COMPONENT tests)
elseif(UNIX)
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/opencv_run_all_tests_unix.sh.in"
"${CMAKE_BINARY_DIR}/unix-install/opencv_run_all_tests.sh" @ONLY)
install(PROGRAMS "${CMAKE_BINARY_DIR}/unix-install/opencv_run_all_tests.sh"
DESTINATION ${OPENCV_TEST_INSTALL_PATH} COMPONENT tests)
endif()
endif()
@@ -676,6 +761,11 @@ else()
endif()
status(" Precompiled headers:" PCHSupport_FOUND AND ENABLE_PRECOMPILED_HEADERS THEN YES ELSE NO)
# ========================== Dependencies ============================
ocv_get_all_libs(deps_modules deps_extra deps_3rdparty)
status(" Extra dependencies:" ${deps_extra})
status(" 3rdparty dependencies:" ${deps_3rdparty})
# ========================== OpenCV modules ==========================
status("")
status(" OpenCV modules:")
@@ -718,18 +808,19 @@ if(ANDROID)
status(" Android toolchain:" "${ANDROID_STANDALONE_TOOLCHAIN}")
endif()
status(" android tool:" ANDROID_EXECUTABLE THEN "${ANDROID_EXECUTABLE} (${ANDROID_TOOLS_Pkg_Desc})" ELSE NO)
status(" Google Play package:" BUILD_ANDROID_PACKAGE THEN YES ELSE NO)
status(" Google Play manager:" BUILD_ANDROID_SERVICE THEN YES ELSE NO)
status(" Android examples:" BUILD_ANDROID_EXAMPLES AND CAN_BUILD_ANDROID_PROJECTS THEN YES ELSE NO)
endif()
# ================== Windows RT features ==================
if(WIN32)
status("")
status(" Windows RT support:" HAVE_WINRT THEN YES ELSE NO)
if (ENABLE_WINRT_MODE OR ENABLE_WINRT_MODE_NATIVE)
status(" Windows SDK v8.0:" ${WINDOWS_SDK_PATH})
status(" Visual Studio 2012:" ${VISUAL_STUDIO_PATH})
endif()
status(" Windows RT support:" WINRT THEN YES ELSE NO)
if(WINRT)
status(" Building for Microsoft platform: " ${CMAKE_SYSTEM_NAME})
status(" Building for architectures: " ${CMAKE_VS_EFFECTIVE_PLATFORMS})
status(" Building for version: " ${CMAKE_SYSTEM_VERSION})
endif()
endif(WIN32)
# ========================== GUI ==========================
@@ -815,7 +906,7 @@ else()
endif()
if( WITH_GDAL )
status(" GDAL:" GDAL_FOUND THEN "${GDAL_LIBRARY}")
status(" GDAL:" GDAL_FOUND THEN "${GDAL_LIBRARY}" ELSE "NO")
else()
status(" GDAL:" "NO")
endif()
@@ -833,15 +924,6 @@ if(DEFINED WITH_1394)
status(" DC1394 2.x:" HAVE_DC1394_2 THEN "YES (ver ${ALIASOF_libdc1394-2_VERSION})" ELSE NO)
endif(DEFINED WITH_1394)
if(ANDROID)
if(HAVE_opencv_androidcamera)
status(" AndroidNativeCamera:" BUILD_ANDROID_CAMERA_WRAPPER
THEN "YES, build for Android${ANDROID_VERSION}" ELSE "YES, use prebuilt libraries")
else()
status(" AndroidNativeCamera:" "NO (native camera requires Android API level 8 or higher)")
endif()
endif()
if(DEFINED WITH_AVFOUNDATION)
status(" AVFoundation:" WITH_AVFOUNDATION THEN YES ELSE NO)
endif(DEFINED WITH_AVFOUNDATION)
@@ -856,6 +938,7 @@ if(DEFINED WITH_FFMPEG)
status(" format:" HAVE_FFMPEG_FORMAT THEN "YES (ver ${ALIASOF_libavformat_VERSION})" ELSE NO)
status(" util:" HAVE_FFMPEG_UTIL THEN "YES (ver ${ALIASOF_libavutil_VERSION})" ELSE NO)
status(" swscale:" HAVE_FFMPEG_SWSCALE THEN "YES (ver ${ALIASOF_libswscale_VERSION})" ELSE NO)
status(" resample:" HAVE_FFMPEG_RESAMPLE THEN "YES (ver ${ALIASOF_libavresample_VERSION})" ELSE NO)
status(" gentoo-style:" HAVE_GENTOO_FFMPEG THEN YES ELSE NO)
endif(DEFINED WITH_FFMPEG)
@@ -879,7 +962,7 @@ endif(DEFINED WITH_OPENNI)
if(DEFINED WITH_OPENNI2)
status(" OpenNI2:" HAVE_OPENNI2 THEN "YES (ver ${OPENNI2_VERSION_STRING}, build ${OPENNI2_VERSION_BUILD})"
ELSE NO)
ELSE NO)
endif(DEFINED WITH_OPENNI2)
if(DEFINED WITH_PVAPI)
@@ -913,8 +996,9 @@ if(DEFINED WITH_V4L)
else()
set(HAVE_CAMV4L2_STR "NO")
endif()
status(" V4L/V4L2:" HAVE_LIBV4L THEN "Using libv4l (ver ${ALIASOF_libv4l1_VERSION})"
ELSE "${HAVE_CAMV4L_STR}/${HAVE_CAMV4L2_STR}")
status(" V4L/V4L2:" HAVE_LIBV4L
THEN "Using libv4l1 (ver ${ALIASOF_libv4l1_VERSION}) / libv4l2 (ver ${ALIASOF_libv4l2_VERSION})"
ELSE "${HAVE_CAMV4L_STR}/${HAVE_CAMV4L2_STR}")
endif(DEFINED WITH_V4L)
if(DEFINED WITH_DSHOW)
@@ -937,6 +1021,10 @@ if(DEFINED WITH_INTELPERC)
status(" Intel PerC:" HAVE_INTELPERC THEN "YES" ELSE NO)
endif(DEFINED WITH_INTELPERC)
if(DEFINED WITH_GPHOTO2)
status(" gPhoto2:" HAVE_GPHOTO2 THEN "YES" ELSE NO)
endif(DEFINED WITH_GPHOTO2)
# ========================== Other third-party libraries ==========================
status("")
@@ -945,8 +1033,11 @@ status(" Other third-party libraries:")
if(WITH_IPP AND HAVE_IPP)
status(" Use IPP:" "${IPP_VERSION_STR} [${IPP_VERSION_MAJOR}.${IPP_VERSION_MINOR}.${IPP_VERSION_BUILD}]")
status(" at:" "${IPP_ROOT_DIR}")
if(NOT HAVE_IPP_ICV_ONLY)
status(" linked:" BUILD_WITH_DYNAMIC_IPP THEN "dynamic" ELSE "static")
endif()
else()
status(" Use IPP:" WITH_IPP AND NOT HAVE_IPP THEN "IPP not found" ELSE NO)
status(" Use IPP:" WITH_IPP AND NOT HAVE_IPP THEN "IPP not found or implicitly disabled" ELSE NO)
endif()
if(DEFINED WITH_IPP_A)
@@ -959,6 +1050,7 @@ status(" Use OpenMP:" HAVE_OPENMP THEN YES ELSE NO)
status(" Use GCD" HAVE_GCD THEN YES ELSE NO)
status(" Use Concurrency" HAVE_CONCURRENCY THEN YES ELSE NO)
status(" Use C=:" HAVE_CSTRIPES THEN YES ELSE NO)
status(" Use pthreads for parallel for:" HAVE_PTHREADS_PF THEN YES ELSE NO)
status(" Use Cuda:" HAVE_CUDA THEN "YES (ver ${CUDA_VERSION_STRING})" ELSE NO)
status(" Use OpenCL:" HAVE_OPENCL THEN YES ELSE NO)
@@ -1043,7 +1135,8 @@ status(" ant:" ANT_EXECUTABLE THEN "${ANT_EXECUTABLE} (ver ${A
if(NOT ANDROID)
status(" JNI:" JNI_INCLUDE_DIRS THEN "${JNI_INCLUDE_DIRS}" ELSE NO)
endif()
status(" Java tests:" BUILD_TESTS AND (CAN_BUILD_ANDROID_PROJECTS OR HAVE_opencv_java) THEN YES ELSE NO)
status(" Java wrappers:" HAVE_opencv_java THEN YES ELSE NO)
status(" Java tests:" BUILD_TESTS AND opencv_test_java_BINARY_DIR THEN YES ELSE NO)
# ========================= matlab =========================
status("")
@@ -1057,14 +1150,8 @@ endif()
if(BUILD_DOCS)
status("")
status(" Documentation:")
if(HAVE_SPHINX)
status(" Build Documentation:" PDFLATEX_COMPILER THEN YES ELSE "YES (only HTML and without math expressions)")
else()
status(" Build Documentation:" NO)
endif()
status(" Sphinx:" HAVE_SPHINX THEN "${SPHINX_BUILD} (ver ${SPHINX_VERSION})" ELSE NO)
status(" PdfLaTeX compiler:" PDFLATEX_COMPILER THEN "${PDFLATEX_COMPILER}" ELSE NO)
status(" PlantUML:" PLANTUML THEN "${PLANTUML}" ELSE NO)
status(" Doxygen:" DOXYGEN_FOUND THEN "${DOXYGEN_EXECUTABLE} (ver ${DOXYGEN_VERSION})" ELSE NO)
status(" PlantUML:" PLANTUML_JAR THEN "${PLANTUML_JAR}" ELSE NO)
endif()
# ========================== samples and tests ==========================
+8
View File
@@ -7,6 +7,14 @@ copy or use the software.
For Open Source Computer Vision Library
(3-clause BSD License)
Copyright (C) 2000-2015, Intel Corporation, all rights reserved.
Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved.
Copyright (C) 2009-2015, NVIDIA Corporation, all rights reserved.
Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved.
Copyright (C) 2015, OpenCV Foundation, all rights reserved.
Copyright (C) 2015, Itseez Inc., all rights reserved.
Third party copyrights are property of their respective owners.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
+2
View File
@@ -2,3 +2,5 @@ add_definitions(-D__OPENCV_BUILD=1)
link_libraries(${OPENCV_LINKER_LIBS})
add_subdirectory(traincascade)
add_subdirectory(createsamples)
add_subdirectory(annotation)
+37
View File
@@ -0,0 +1,37 @@
SET(OPENCV_ANNOTATION_DEPS opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs opencv_videoio)
ocv_check_dependencies(${OPENCV_ANNOTATION_DEPS})
if(NOT OCV_DEPENDENCIES_FOUND)
return()
endif()
project(annotation)
set(the_target opencv_annotation)
ocv_target_include_directories(${the_target} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}" "${OpenCV_SOURCE_DIR}/include/opencv")
ocv_target_include_modules_recurse(${the_target} ${OPENCV_ANNOTATION_DEPS})
file(GLOB SRCS *.cpp)
set(annotation_files ${SRCS})
ocv_add_executable(${the_target} ${annotation_files})
ocv_target_link_libraries(${the_target} ${OPENCV_ANNOTATION_DEPS})
set_target_properties(${the_target} PROPERTIES
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
INSTALL_NAME_DIR lib
OUTPUT_NAME "opencv_annotation")
if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(${the_target} PROPERTIES FOLDER "applications")
endif()
if(INSTALL_CREATE_DISTRIB)
if(BUILD_SHARED_LIBS)
install(TARGETS ${the_target} RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} CONFIGURATIONS Release COMPONENT dev)
endif()
else()
install(TARGETS ${the_target} RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT dev)
endif()
+207
View File
@@ -0,0 +1,207 @@
/*****************************************************************************************************
USAGE:
./opencv_annotation -images <folder location> -annotations <ouput file>
Created by: Puttemans Steven
*****************************************************************************************************/
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/imgproc.hpp>
#include <fstream>
#include <iostream>
using namespace std;
using namespace cv;
// Function prototypes
void on_mouse(int, int, int, int, void*);
string int2string(int);
void get_annotations(Mat, stringstream*);
// Public parameters
Mat image;
int roi_x0 = 0, roi_y0 = 0, roi_x1 = 0, roi_y1 = 0, num_of_rec = 0;
bool start_draw = false;
// Window name for visualisation purposes
const string window_name="OpenCV Based Annotation Tool";
// FUNCTION : Mouse response for selecting objects in images
// If left button is clicked, start drawing a rectangle as long as mouse moves
// Stop drawing once a new left click is detected by the on_mouse function
void on_mouse(int event, int x, int y, int , void * )
{
// Action when left button is clicked
if(event == EVENT_LBUTTONDOWN)
{
if(!start_draw)
{
roi_x0 = x;
roi_y0 = y;
start_draw = true;
} else {
roi_x1 = x;
roi_y1 = y;
start_draw = false;
}
}
// Action when mouse is moving
if((event == EVENT_MOUSEMOVE) && start_draw)
{
// Redraw bounding box for annotation
Mat current_view;
image.copyTo(current_view);
rectangle(current_view, Point(roi_x0,roi_y0), Point(x,y), Scalar(0,0,255));
imshow(window_name, current_view);
}
}
// FUNCTION : snippet to convert an integer value to a string using a clean function
// instead of creating a stringstream each time inside the main code
string int2string(int num)
{
stringstream temp_stream;
temp_stream << num;
return temp_stream.str();
}
// FUNCTION : given an image containing positive object instances, add all the object
// annotations to a known stringstream
void get_annotations(Mat input_image, stringstream* output_stream)
{
// Make it possible to exit the annotation
bool stop = false;
// Reset the num_of_rec element at each iteration
// Make sure the global image is set to the current image
num_of_rec = 0;
image = input_image;
// Init window interface and couple mouse actions
namedWindow(window_name, WINDOW_AUTOSIZE);
setMouseCallback(window_name, on_mouse);
imshow(window_name, image);
stringstream temp_stream;
int key_pressed = 0;
do
{
// Keys for processing
// You need to select one for confirming a selection and one to continue to the next image
// Based on the universal ASCII code of the keystroke: http://www.asciitable.com/
// c = 99 add rectangle to current image
// n = 110 save added rectangles and show next image
// <ESC> = 27 exit program
key_pressed = 0xFF & waitKey(0);
switch( key_pressed )
{
case 27:
destroyWindow(window_name);
stop = true;
case 99:
// Add a rectangle to the list
num_of_rec++;
// Draw initiated from top left corner
if(roi_x0<roi_x1 && roi_y0<roi_y1)
{
temp_stream << " " << int2string(roi_x0) << " " << int2string(roi_y0) << " " << int2string(roi_x1-roi_x0) << " " << int2string(roi_y1-roi_y0);
}
// Draw initiated from bottom right corner
if(roi_x0>roi_x1 && roi_y0>roi_y1)
{
temp_stream << " " << int2string(roi_x1) << " " << int2string(roi_y1) << " " << int2string(roi_x0-roi_x1) << " " << int2string(roi_y0-roi_y1);
}
// Draw initiated from top right corner
if(roi_x0>roi_x1 && roi_y0<roi_y1)
{
temp_stream << " " << int2string(roi_x1) << " " << int2string(roi_y0) << " " << int2string(roi_x0-roi_x1) << " " << int2string(roi_y1-roi_y0);
}
// Draw initiated from bottom left corner
if(roi_x0<roi_x1 && roi_y0>roi_y1)
{
temp_stream << " " << int2string(roi_x0) << " " << int2string(roi_y1) << " " << int2string(roi_x1-roi_x0) << " " << int2string(roi_y0-roi_y1);
}
rectangle(input_image, Point(roi_x0,roi_y0), Point(roi_x1,roi_y1), Scalar(0,255,0), 1);
break;
}
// Check if escape has been pressed
if(stop)
{
break;
}
}
// Continue as long as the next image key has not been pressed
while(key_pressed != 110);
// If there are annotations AND the next image key is pressed
// Write the image annotations to the file
if(num_of_rec>0 && key_pressed==110)
{
*output_stream << " " << num_of_rec << temp_stream.str() << endl;
}
// Close down the window
destroyWindow(window_name);
}
int main( int argc, const char** argv )
{
// If no arguments are given, then supply some information on how this tool works
if( argc == 1 ){
cout << "Usage: " << argv[0] << endl;
cout << " -images <folder_location> [example - /data/testimages/]" << endl;
cout << " -annotations <ouput_file> [example - /data/annotations.txt]" << endl;
return -1;
}
// Read in the input arguments
string image_folder;
string annotations;
for(int i = 1; i < argc; ++i )
{
if( !strcmp( argv[i], "-images" ) )
{
image_folder = argv[++i];
}
else if( !strcmp( argv[i], "-annotations" ) )
{
annotations = argv[++i];
}
}
// Create the outputfilestream
ofstream output(annotations.c_str());
// Return the image filenames inside the image folder
vector<String> filenames;
String folder(image_folder);
glob(folder, filenames);
// Loop through each image stored in the images folder
// Create and temporarily store the annotations
// At the end write everything to the annotations file
for (size_t i = 0; i < filenames.size(); i++){
// Read in an image
Mat current_image = imread(filenames[i]);
// Perform annotations & generate corresponding output
stringstream output_stream;
get_annotations(current_image, &output_stream);
// Store the annotations, write to the output file
if (output_stream.str() != ""){
output << filenames[i] << output_stream.str();
}
}
return 0;
}
+39
View File
@@ -0,0 +1,39 @@
set(OPENCV_CREATESAMPLES_DEPS opencv_core opencv_imgproc opencv_objdetect opencv_imgcodecs opencv_highgui opencv_calib3d opencv_features2d opencv_videoio)
ocv_check_dependencies(${OPENCV_CREATESAMPLES_DEPS})
if(NOT OCV_DEPENDENCIES_FOUND)
return()
endif()
project(createsamples)
set(the_target opencv_createsamples)
ocv_target_include_directories(${the_target} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}" "${OpenCV_SOURCE_DIR}/include/opencv")
ocv_target_include_modules_recurse(${the_target} ${OPENCV_CREATESAMPLES_DEPS})
file(GLOB SRCS *.cpp)
file(GLOB HDRS *.h*)
set(createsamples_files ${SRCS} ${HDRS})
ocv_add_executable(${the_target} ${createsamples_files})
ocv_target_link_libraries(${the_target} ${OPENCV_CREATESAMPLES_DEPS})
set_target_properties(${the_target} PROPERTIES
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
INSTALL_NAME_DIR lib
OUTPUT_NAME "opencv_createsamples")
if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(${the_target} PROPERTIES FOLDER "applications")
endif()
if(INSTALL_CREATE_DISTRIB)
if(BUILD_SHARED_LIBS)
install(TARGETS ${the_target} RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} CONFIGURATIONS Release COMPONENT dev)
endif()
else()
install(TARGETS ${the_target} OPTIONAL RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT dev)
endif()
+245
View File
@@ -0,0 +1,245 @@
/*M///////////////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
//
// By downloading, copying, installing or using the software you agree to this license.
// If you do not agree to this license, do not download, install,
// copy or use the software.
//
//
// Intel License Agreement
// For Open Source Computer Vision Library
//
// Copyright (C) 2000, Intel Corporation, all rights reserved.
// Third party copyrights are property of their respective owners.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// * Redistribution's of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// * Redistribution's in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// * The name of Intel Corporation may not be used to endorse or promote products
// derived from this software without specific prior written permission.
//
// This software is provided by the copyright holders and contributors "as is" and
// any express or implied warranties, including, but not limited to, the implied
// warranties of merchantability and fitness for a particular purpose are disclaimed.
// In no event shall the Intel Corporation or contributors be liable for any direct,
// indirect, incidental, special, exemplary, or consequential damages
// (including, but not limited to, procurement of substitute goods or services;
// loss of use, data, or profits; or business interruption) however caused
// and on any theory of liability, whether in contract, strict liability,
// or tort (including negligence or otherwise) arising in any way out of
// the use of this software, even if advised of the possibility of such damage.
//
//M*/
/*
* createsamples.cpp
*
* Create test/training samples
*/
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <ctime>
using namespace std;
#include "utility.hpp"
int main( int argc, char* argv[] )
{
int i = 0;
char* nullname = (char*)"(NULL)";
char* vecname = NULL; /* .vec file name */
char* infoname = NULL; /* file name with marked up image descriptions */
char* imagename = NULL; /* single sample image */
char* bgfilename = NULL; /* background */
int num = 1000;
int bgcolor = 0;
int bgthreshold = 80;
int invert = 0;
int maxintensitydev = 40;
double maxxangle = 1.1;
double maxyangle = 1.1;
double maxzangle = 0.5;
int showsamples = 0;
/* the samples are adjusted to this scale in the sample preview window */
double scale = 4.0;
int width = 24;
int height = 24;
srand((unsigned int)time(0));
if( argc == 1 )
{
printf( "Usage: %s\n [-info <collection_file_name>]\n"
" [-img <image_file_name>]\n"
" [-vec <vec_file_name>]\n"
" [-bg <background_file_name>]\n [-num <number_of_samples = %d>]\n"
" [-bgcolor <background_color = %d>]\n"
" [-inv] [-randinv] [-bgthresh <background_color_threshold = %d>]\n"
" [-maxidev <max_intensity_deviation = %d>]\n"
" [-maxxangle <max_x_rotation_angle = %f>]\n"
" [-maxyangle <max_y_rotation_angle = %f>]\n"
" [-maxzangle <max_z_rotation_angle = %f>]\n"
" [-show [<scale = %f>]]\n"
" [-w <sample_width = %d>]\n [-h <sample_height = %d>]\n",
argv[0], num, bgcolor, bgthreshold, maxintensitydev,
maxxangle, maxyangle, maxzangle, scale, width, height );
return 0;
}
for( i = 1; i < argc; ++i )
{
if( !strcmp( argv[i], "-info" ) )
{
infoname = argv[++i];
}
else if( !strcmp( argv[i], "-img" ) )
{
imagename = argv[++i];
}
else if( !strcmp( argv[i], "-vec" ) )
{
vecname = argv[++i];
}
else if( !strcmp( argv[i], "-bg" ) )
{
bgfilename = argv[++i];
}
else if( !strcmp( argv[i], "-num" ) )
{
num = atoi( argv[++i] );
}
else if( !strcmp( argv[i], "-bgcolor" ) )
{
bgcolor = atoi( argv[++i] );
}
else if( !strcmp( argv[i], "-bgthresh" ) )
{
bgthreshold = atoi( argv[++i] );
}
else if( !strcmp( argv[i], "-inv" ) )
{
invert = 1;
}
else if( !strcmp( argv[i], "-randinv" ) )
{
invert = CV_RANDOM_INVERT;
}
else if( !strcmp( argv[i], "-maxidev" ) )
{
maxintensitydev = atoi( argv[++i] );
}
else if( !strcmp( argv[i], "-maxxangle" ) )
{
maxxangle = atof( argv[++i] );
}
else if( !strcmp( argv[i], "-maxyangle" ) )
{
maxyangle = atof( argv[++i] );
}
else if( !strcmp( argv[i], "-maxzangle" ) )
{
maxzangle = atof( argv[++i] );
}
else if( !strcmp( argv[i], "-show" ) )
{
showsamples = 1;
if( i+1 < argc && strlen( argv[i+1] ) > 0 && argv[i+1][0] != '-' )
{
double d;
d = strtod( argv[i+1], 0 );
if( d != -HUGE_VAL && d != HUGE_VAL && d > 0 ) scale = d;
++i;
}
}
else if( !strcmp( argv[i], "-w" ) )
{
width = atoi( argv[++i] );
}
else if( !strcmp( argv[i], "-h" ) )
{
height = atoi( argv[++i] );
}
}
printf( "Info file name: %s\n", ((infoname == NULL) ? nullname : infoname ) );
printf( "Img file name: %s\n", ((imagename == NULL) ? nullname : imagename ) );
printf( "Vec file name: %s\n", ((vecname == NULL) ? nullname : vecname ) );
printf( "BG file name: %s\n", ((bgfilename == NULL) ? nullname : bgfilename ) );
printf( "Num: %d\n", num );
printf( "BG color: %d\n", bgcolor );
printf( "BG threshold: %d\n", bgthreshold );
printf( "Invert: %s\n", (invert == CV_RANDOM_INVERT) ? "RANDOM"
: ( (invert) ? "TRUE" : "FALSE" ) );
printf( "Max intensity deviation: %d\n", maxintensitydev );
printf( "Max x angle: %g\n", maxxangle );
printf( "Max y angle: %g\n", maxyangle );
printf( "Max z angle: %g\n", maxzangle );
printf( "Show samples: %s\n", (showsamples) ? "TRUE" : "FALSE" );
if( showsamples )
{
printf( "Scale: %g\n", scale );
}
printf( "Width: %d\n", width );
printf( "Height: %d\n", height );
/* determine action */
if( imagename && vecname )
{
printf( "Create training samples from single image applying distortions...\n" );
cvCreateTrainingSamples( vecname, imagename, bgcolor, bgthreshold, bgfilename,
num, invert, maxintensitydev,
maxxangle, maxyangle, maxzangle,
showsamples, width, height );
printf( "Done\n" );
}
else if( imagename && bgfilename && infoname )
{
printf( "Create test samples from single image applying distortions...\n" );
cvCreateTestSamples( infoname, imagename, bgcolor, bgthreshold, bgfilename, num,
invert, maxintensitydev,
maxxangle, maxyangle, maxzangle, showsamples, width, height );
printf( "Done\n" );
}
else if( infoname && vecname )
{
int total;
printf( "Create training samples from images collection...\n" );
total = cvCreateTrainingSamplesFromInfo( infoname, vecname, num, showsamples,
width, height );
printf( "Done. Created %d samples\n", total );
}
else if( vecname )
{
printf( "View samples from vec file (press ESC to exit)...\n" );
cvShowVecSamples( vecname, width, height, scale );
printf( "Done\n" );
}
else
{
printf( "Nothing to do\n" );
}
return 0;
}
File diff suppressed because it is too large Load Diff
+124
View File
@@ -0,0 +1,124 @@
/*M///////////////////////////////////////////////////////////////////////////////////////
//
// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
//
// By downloading, copying, installing or using the software you agree to this license.
// If you do not agree to this license, do not download, install,
// copy or use the software.
//
//
// Intel License Agreement
// For Open Source Computer Vision Library
//
// Copyright (C) 2000, Intel Corporation, all rights reserved.
// Third party copyrights are property of their respective owners.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// * Redistribution's of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// * Redistribution's in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// * The name of Intel Corporation may not be used to endorse or promote products
// derived from this software without specific prior written permission.
//
// This software is provided by the copyright holders and contributors "as is" and
// any express or implied warranties, including, but not limited to, the implied
// warranties of merchantability and fitness for a particular purpose are disclaimed.
// In no event shall the Intel Corporation or contributors be liable for any direct,
// indirect, incidental, special, exemplary, or consequential damages
// (including, but not limited to, procurement of substitute goods or services;
// loss of use, data, or profits; or business interruption) however caused
// and on any theory of liability, whether in contract, strict liability,
// or tort (including negligence or otherwise) arising in any way out of
// the use of this software, even if advised of the possibility of such damage.
//
//M*/
#ifndef __CREATESAMPLES_UTILITY_HPP__
#define __CREATESAMPLES_UTILITY_HPP__
#define CV_VERBOSE 1
/*
* cvCreateTrainingSamples
*
* Create training samples applying random distortions to sample image and
* store them in .vec file
*
* filename - .vec file name
* imgfilename - sample image file name
* bgcolor - background color for sample image
* bgthreshold - background color threshold. Pixels those colors are in range
* [bgcolor-bgthreshold, bgcolor+bgthreshold] are considered as transparent
* bgfilename - background description file name. If not NULL samples
* will be put on arbitrary background
* count - desired number of samples
* invert - if not 0 sample foreground pixels will be inverted
* if invert == CV_RANDOM_INVERT then samples will be inverted randomly
* maxintensitydev - desired max intensity deviation of foreground samples pixels
* maxxangle - max rotation angles
* maxyangle
* maxzangle
* showsamples - if not 0 samples will be shown
* winwidth - desired samples width
* winheight - desired samples height
*/
#define CV_RANDOM_INVERT 0x7FFFFFFF
void cvCreateTrainingSamples( const char* filename,
const char* imgfilename, int bgcolor, int bgthreshold,
const char* bgfilename, int count,
int invert = 0, int maxintensitydev = 40,
double maxxangle = 1.1,
double maxyangle = 1.1,
double maxzangle = 0.5,
int showsamples = 0,
int winwidth = 24, int winheight = 24 );
void cvCreateTestSamples( const char* infoname,
const char* imgfilename, int bgcolor, int bgthreshold,
const char* bgfilename, int count,
int invert, int maxintensitydev,
double maxxangle, double maxyangle, double maxzangle,
int showsamples,
int winwidth, int winheight );
/*
* cvCreateTrainingSamplesFromInfo
*
* Create training samples from a set of marked up images and store them into .vec file
* infoname - file in which marked up image descriptions are stored
* num - desired number of samples
* showsamples - if not 0 samples will be shown
* winwidth - sample width
* winheight - sample height
*
* Return number of successfully created samples
*/
int cvCreateTrainingSamplesFromInfo( const char* infoname, const char* vecfilename,
int num,
int showsamples,
int winwidth, int winheight );
/*
* cvShowVecSamples
*
* Shows samples stored in .vec file
*
* filename
* .vec file name
* winwidth
* sample width
* winheight
* sample height
* scale
* the scale each sample is adjusted to
*/
void cvShowVecSamples( const char* filename, int winwidth, int winheight, double scale );
#endif //__CREATESAMPLES_UTILITY_HPP__
+2 -2
View File
@@ -9,7 +9,7 @@ project(traincascade)
set(the_target opencv_traincascade)
ocv_target_include_directories(${the_target} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}" "${OpenCV_SOURCE_DIR}/include/opencv")
ocv_target_include_modules(${the_target} ${OPENCV_TRAINCASCADE_DEPS})
ocv_target_include_modules_recurse(${the_target} ${OPENCV_TRAINCASCADE_DEPS})
file(GLOB SRCS *.cpp)
file(GLOB HDRS *.h*)
@@ -35,5 +35,5 @@ if(INSTALL_CREATE_DISTRIB)
install(TARGETS ${the_target} RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} CONFIGURATIONS Release COMPONENT dev)
endif()
else()
install(TARGETS ${the_target} RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT dev)
install(TARGETS ${the_target} OPTIONAL RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT dev)
endif()
+28 -28
View File
@@ -437,7 +437,7 @@ CvDTreeNode* CvCascadeBoostTrainData::subsample_data( const CvMat* _subsample_id
if (is_buf_16u)
{
unsigned short* udst_idx = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
vi*sample_count + data_root->offset);
(size_t)vi*sample_count + data_root->offset);
for( int i = 0; i < num_valid; i++ )
{
idx = src_idx[i];
@@ -450,7 +450,7 @@ CvDTreeNode* CvCascadeBoostTrainData::subsample_data( const CvMat* _subsample_id
else
{
int* idst_idx = buf->data.i + root->buf_idx*get_length_subbuf() +
vi*sample_count + root->offset;
(size_t)vi*sample_count + root->offset;
for( int i = 0; i < num_valid; i++ )
{
idx = src_idx[i];
@@ -467,14 +467,14 @@ CvDTreeNode* CvCascadeBoostTrainData::subsample_data( const CvMat* _subsample_id
if (is_buf_16u)
{
unsigned short* udst = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
(workVarCount-1)*sample_count + root->offset);
(size_t)(workVarCount-1)*sample_count + root->offset);
for( int i = 0; i < count; i++ )
udst[i] = (unsigned short)src_lbls[sidx[i]];
}
else
{
int* idst = buf->data.i + root->buf_idx*get_length_subbuf() +
(workVarCount-1)*sample_count + root->offset;
(size_t)(workVarCount-1)*sample_count + root->offset;
for( int i = 0; i < count; i++ )
idst[i] = src_lbls[sidx[i]];
}
@@ -484,14 +484,14 @@ CvDTreeNode* CvCascadeBoostTrainData::subsample_data( const CvMat* _subsample_id
if (is_buf_16u)
{
unsigned short* sample_idx_dst = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
workVarCount*sample_count + root->offset);
(size_t)workVarCount*sample_count + root->offset);
for( int i = 0; i < count; i++ )
sample_idx_dst[i] = (unsigned short)sample_idx_src[sidx[i]];
}
else
{
int* sample_idx_dst = buf->data.i + root->buf_idx*get_length_subbuf() +
workVarCount*sample_count + root->offset;
(size_t)workVarCount*sample_count + root->offset;
for( int i = 0; i < count; i++ )
sample_idx_dst[i] = sample_idx_src[sidx[i]];
}
@@ -677,9 +677,9 @@ void CvCascadeBoostTrainData::setData( const CvFeatureEvaluator* _featureEvaluat
// set sample labels
if (is_buf_16u)
udst = (unsigned short*)(buf->data.s + work_var_count*sample_count);
udst = (unsigned short*)(buf->data.s + (size_t)work_var_count*sample_count);
else
idst = buf->data.i + work_var_count*sample_count;
idst = buf->data.i + (size_t)work_var_count*sample_count;
for (int si = 0; si < sample_count; si++)
{
@@ -747,11 +747,11 @@ void CvCascadeBoostTrainData::get_ord_var_data( CvDTreeNode* n, int vi, float* o
if ( vi < numPrecalcIdx )
{
if( !is_buf_16u )
*sortedIndices = buf->data.i + n->buf_idx*get_length_subbuf() + vi*sample_count + n->offset;
*sortedIndices = buf->data.i + n->buf_idx*get_length_subbuf() + (size_t)vi*sample_count + n->offset;
else
{
const unsigned short* shortIndices = (const unsigned short*)(buf->data.s + n->buf_idx*get_length_subbuf() +
vi*sample_count + n->offset );
(size_t)vi*sample_count + n->offset );
for( int i = 0; i < nodeSampleCount; i++ )
sortedIndicesBuf[i] = shortIndices[i];
@@ -862,14 +862,14 @@ struct FeatureIdxOnlyPrecalc : ParallelLoopBody
{
valCachePtr[si] = (*featureEvaluator)( fi, si );
if ( is_buf_16u )
*(udst + fi*sample_count + si) = (unsigned short)si;
*(udst + (size_t)fi*sample_count + si) = (unsigned short)si;
else
*(idst + fi*sample_count + si) = si;
*(idst + (size_t)fi*sample_count + si) = si;
}
if ( is_buf_16u )
std::sort(udst + fi*sample_count, udst + (fi + 1)*sample_count, LessThanIdx<float, unsigned short>(valCachePtr) );
std::sort(udst + (size_t)fi*sample_count, udst + (size_t)(fi + 1)*sample_count, LessThanIdx<float, unsigned short>(valCachePtr) );
else
std::sort(idst + fi*sample_count, idst + (fi + 1)*sample_count, LessThanIdx<float, int>(valCachePtr) );
std::sort(idst + (size_t)fi*sample_count, idst + (size_t)(fi + 1)*sample_count, LessThanIdx<float, int>(valCachePtr) );
}
}
const CvFeatureEvaluator* featureEvaluator;
@@ -898,14 +898,14 @@ struct FeatureValAndIdxPrecalc : ParallelLoopBody
{
valCache->at<float>(fi,si) = (*featureEvaluator)( fi, si );
if ( is_buf_16u )
*(udst + fi*sample_count + si) = (unsigned short)si;
*(udst + (size_t)fi*sample_count + si) = (unsigned short)si;
else
*(idst + fi*sample_count + si) = si;
*(idst + (size_t)fi*sample_count + si) = si;
}
if ( is_buf_16u )
std::sort(idst + fi*sample_count, idst + (fi + 1)*sample_count, LessThanIdx<float, unsigned short>(valCache->ptr<float>(fi)) );
std::sort(udst + (size_t)fi*sample_count, udst + (size_t)(fi + 1)*sample_count, LessThanIdx<float, unsigned short>(valCache->ptr<float>(fi)) );
else
std::sort(idst + fi*sample_count, idst + (fi + 1)*sample_count, LessThanIdx<float, int>(valCache->ptr<float>(fi)) );
std::sort(idst + (size_t)fi*sample_count, idst + (size_t)(fi + 1)*sample_count, LessThanIdx<float, int>(valCache->ptr<float>(fi)) );
}
}
const CvFeatureEvaluator* featureEvaluator;
@@ -1228,9 +1228,9 @@ void CvCascadeBoostTree::split_node_data( CvDTreeNode* node )
if (data->is_buf_16u)
{
unsigned short *ldst = (unsigned short *)(buf->data.s + left->buf_idx*length_buf_row +
(workVarCount-1)*scount + left->offset);
(size_t)(workVarCount-1)*scount + left->offset);
unsigned short *rdst = (unsigned short *)(buf->data.s + right->buf_idx*length_buf_row +
(workVarCount-1)*scount + right->offset);
(size_t)(workVarCount-1)*scount + right->offset);
for( int i = 0; i < n; i++ )
{
@@ -1251,9 +1251,9 @@ void CvCascadeBoostTree::split_node_data( CvDTreeNode* node )
else
{
int *ldst = buf->data.i + left->buf_idx*length_buf_row +
(workVarCount-1)*scount + left->offset;
(size_t)(workVarCount-1)*scount + left->offset;
int *rdst = buf->data.i + right->buf_idx*length_buf_row +
(workVarCount-1)*scount + right->offset;
(size_t)(workVarCount-1)*scount + right->offset;
for( int i = 0; i < n; i++ )
{
@@ -1281,9 +1281,9 @@ void CvCascadeBoostTree::split_node_data( CvDTreeNode* node )
if (data->is_buf_16u)
{
unsigned short* ldst = (unsigned short*)(buf->data.s + left->buf_idx*length_buf_row +
workVarCount*scount + left->offset);
(size_t)workVarCount*scount + left->offset);
unsigned short* rdst = (unsigned short*)(buf->data.s + right->buf_idx*length_buf_row +
workVarCount*scount + right->offset);
(size_t)workVarCount*scount + right->offset);
for (int i = 0; i < n; i++)
{
unsigned short idx = (unsigned short)tempBuf[i];
@@ -1302,9 +1302,9 @@ void CvCascadeBoostTree::split_node_data( CvDTreeNode* node )
else
{
int* ldst = buf->data.i + left->buf_idx*length_buf_row +
workVarCount*scount + left->offset;
(size_t)workVarCount*scount + left->offset;
int* rdst = buf->data.i + right->buf_idx*length_buf_row +
workVarCount*scount + right->offset;
(size_t)workVarCount*scount + right->offset;
for (int i = 0; i < n; i++)
{
int idx = tempBuf[i];
@@ -1473,7 +1473,7 @@ void CvCascadeBoost::update_weights( CvBoostTree* tree )
if (data->is_buf_16u)
{
unsigned short* labels = (unsigned short*)(buf->data.s + data->data_root->buf_idx*length_buf_row +
data->data_root->offset + (data->work_var_count-1)*data->sample_count);
data->data_root->offset + (size_t)(data->work_var_count-1)*data->sample_count);
for( int i = 0; i < n; i++ )
{
// save original categorical responses {0,1}, convert them to {-1,1}
@@ -1491,7 +1491,7 @@ void CvCascadeBoost::update_weights( CvBoostTree* tree )
else
{
int* labels = buf->data.i + data->data_root->buf_idx*length_buf_row +
data->data_root->offset + (data->work_var_count-1)*data->sample_count;
data->data_root->offset + (size_t)(data->work_var_count-1)*data->sample_count;
for( int i = 0; i < n; i++ )
{
+17 -3
View File
@@ -135,7 +135,8 @@ bool CvCascadeClassifier::train( const string _cascadeDirName,
const CvCascadeParams& _cascadeParams,
const CvFeatureParams& _featureParams,
const CvCascadeBoostParams& _stageParams,
bool baseFormatSave )
bool baseFormatSave,
double acceptanceRatioBreakValue )
{
// Start recording clock ticks for training time output
const clock_t begin_time = clock();
@@ -168,6 +169,13 @@ bool CvCascadeClassifier::train( const string _cascadeDirName,
featureEvaluator = CvFeatureEvaluator::create(cascadeParams.featureType);
featureEvaluator->init( featureParams, numPos + numNeg, cascadeParams.winSize );
stageClassifiers.reserve( numStages );
}else{
// Make sure that if model parameters are preloaded, that people are aware of this,
// even when passing other parameters to the training command
cout << "---------------------------------------------------------------------------------" << endl;
cout << "Training parameters are pre-loaded from the parameter file in data folder!" << endl;
cout << "Please empty this folder if you want to use a NEW set of training parameters." << endl;
cout << "---------------------------------------------------------------------------------" << endl;
}
cout << "PARAMETERS:" << endl;
cout << "cascadeDirName: " << _cascadeDirName << endl;
@@ -178,6 +186,7 @@ bool CvCascadeClassifier::train( const string _cascadeDirName,
cout << "numStages: " << numStages << endl;
cout << "precalcValBufSize[Mb] : " << _precalcValBufSize << endl;
cout << "precalcIdxBufSize[Mb] : " << _precalcIdxBufSize << endl;
cout << "acceptanceRatioBreakValue : " << acceptanceRatioBreakValue << endl;
cascadeParams.printAttrs();
stageParams->printAttrs();
featureParams->printAttrs();
@@ -200,13 +209,18 @@ bool CvCascadeClassifier::train( const string _cascadeDirName,
if ( !updateTrainingSet( tempLeafFARate ) )
{
cout << "Train dataset for temp stage can not be filled. "
"Branch training terminated." << endl;
"Branch training terminated." << endl;
break;
}
if( tempLeafFARate <= requiredLeafFARate )
{
cout << "Required leaf false alarm rate achieved. "
"Branch training terminated." << endl;
"Branch training terminated." << endl;
break;
}
if( (tempLeafFARate <= acceptanceRatioBreakValue) && (acceptanceRatioBreakValue >= 0) ){
cout << "The required acceptanceRatio for the model has been reached to avoid overfitting of trainingdata. "
"Branch training terminated." << endl;
break;
}
+2 -1
View File
@@ -94,7 +94,8 @@ public:
const CvCascadeParams& _cascadeParams,
const CvFeatureParams& _featureParams,
const CvCascadeBoostParams& _stageParams,
bool baseFormatSave = false );
bool baseFormatSave = false,
double acceptanceRatioBreakValue = -1.0 );
private:
int predict( int sampleIdx );
void save( const std::string cascadeDirName, bool baseFormat = false );
+4 -10
View File
@@ -33,20 +33,12 @@ bool CvCascadeImageReader::NegReader::create( const string _filename, Size _winS
if ( !file.is_open() )
return false;
size_t pos = _filename.rfind('\\');
char dlmrt = '\\';
if (pos == string::npos)
{
pos = _filename.rfind('/');
dlmrt = '/';
}
dirname = pos == string::npos ? "" : _filename.substr(0, pos) + dlmrt;
while( !file.eof() )
{
std::getline(file, str);
if (str.empty()) break;
if (str.at(0) == '#' ) continue; /* comment */
imgFilenames.push_back(dirname + str);
imgFilenames.push_back(str);
}
file.close();
@@ -62,8 +54,10 @@ bool CvCascadeImageReader::NegReader::nextImg()
for( size_t i = 0; i < count; i++ )
{
src = imread( imgFilenames[last++], 0 );
if( src.empty() )
if( src.empty() ){
last %= count;
continue;
}
round += last / count;
round = round % (winSize.width * winSize.height);
last %= count;
-97
View File
@@ -122,7 +122,6 @@ CV_INLINE CvParamLattice cvDefaultParamLattice( void )
#define CV_TYPE_NAME_ML_SVM "opencv-ml-svm"
#define CV_TYPE_NAME_ML_KNN "opencv-ml-knn"
#define CV_TYPE_NAME_ML_NBAYES "opencv-ml-bayesian"
#define CV_TYPE_NAME_ML_EM "opencv-ml-em"
#define CV_TYPE_NAME_ML_BOOSTING "opencv-ml-boost-tree"
#define CV_TYPE_NAME_ML_TREE "opencv-ml-tree"
#define CV_TYPE_NAME_ML_ANN_MLP "opencv-ml-ann-mlp"
@@ -562,100 +561,6 @@ private:
CvSVM& operator = (const CvSVM&);
};
/****************************************************************************************\
* Expectation - Maximization *
\****************************************************************************************/
namespace cv
{
class EM : public Algorithm
{
public:
// Type of covariation matrices
enum {COV_MAT_SPHERICAL=0, COV_MAT_DIAGONAL=1, COV_MAT_GENERIC=2, COV_MAT_DEFAULT=COV_MAT_DIAGONAL};
// Default parameters
enum {DEFAULT_NCLUSTERS=5, DEFAULT_MAX_ITERS=100};
// The initial step
enum {START_E_STEP=1, START_M_STEP=2, START_AUTO_STEP=0};
CV_WRAP EM(int nclusters=EM::DEFAULT_NCLUSTERS, int covMatType=EM::COV_MAT_DIAGONAL,
const TermCriteria& termCrit=TermCriteria(TermCriteria::COUNT+TermCriteria::EPS,
EM::DEFAULT_MAX_ITERS, FLT_EPSILON));
virtual ~EM();
CV_WRAP virtual void clear();
CV_WRAP virtual bool train(InputArray samples,
OutputArray logLikelihoods=noArray(),
OutputArray labels=noArray(),
OutputArray probs=noArray());
CV_WRAP virtual bool trainE(InputArray samples,
InputArray means0,
InputArray covs0=noArray(),
InputArray weights0=noArray(),
OutputArray logLikelihoods=noArray(),
OutputArray labels=noArray(),
OutputArray probs=noArray());
CV_WRAP virtual bool trainM(InputArray samples,
InputArray probs0,
OutputArray logLikelihoods=noArray(),
OutputArray labels=noArray(),
OutputArray probs=noArray());
CV_WRAP Vec2d predict(InputArray sample,
OutputArray probs=noArray()) const;
CV_WRAP bool isTrained() const;
AlgorithmInfo* info() const;
virtual void read(const FileNode& fn);
protected:
virtual void setTrainData(int startStep, const Mat& samples,
const Mat* probs0,
const Mat* means0,
const std::vector<Mat>* covs0,
const Mat* weights0);
bool doTrain(int startStep,
OutputArray logLikelihoods,
OutputArray labels,
OutputArray probs);
virtual void eStep();
virtual void mStep();
void clusterTrainSamples();
void decomposeCovs();
void computeLogWeightDivDet();
Vec2d computeProbabilities(const Mat& sample, Mat* probs) const;
// all inner matrices have type CV_64FC1
CV_PROP_RW int nclusters;
CV_PROP_RW int covMatType;
CV_PROP_RW int maxIters;
CV_PROP_RW double epsilon;
Mat trainSamples;
Mat trainProbs;
Mat trainLogLikelihoods;
Mat trainLabels;
CV_PROP Mat weights;
CV_PROP Mat means;
CV_PROP std::vector<Mat> covs;
std::vector<Mat> covsEigenValues;
std::vector<Mat> covsRotateMats;
std::vector<Mat> invCovsEigenValues;
Mat logWeightDivDet;
};
} // namespace cv
/****************************************************************************************\
* Decision Tree *
\****************************************************************************************/\
@@ -2155,8 +2060,6 @@ typedef CvGBTreesParams GradientBoostingTreeParams;
typedef CvGBTrees GradientBoostingTrees;
template<> void DefaultDeleter<CvDTreeSplit>::operator ()(CvDTreeSplit* obj) const;
bool initModule_ml(void);
}
#endif // __cplusplus
+2 -2
View File
@@ -1200,7 +1200,7 @@ CvBoost::update_weights( CvBoostTree* tree )
if (data->is_buf_16u)
{
unsigned short* labels = (unsigned short*)(dtree_data_buf->data.s + data->data_root->buf_idx*length_buf_row +
data->data_root->offset + (data->work_var_count-1)*data->sample_count);
data->data_root->offset + (size_t)(data->work_var_count-1)*data->sample_count);
for( i = 0; i < n; i++ )
{
// save original categorical responses {0,1}, convert them to {-1,1}
@@ -1218,7 +1218,7 @@ CvBoost::update_weights( CvBoostTree* tree )
else
{
int* labels = dtree_data_buf->data.i + data->data_root->buf_idx*length_buf_row +
data->data_root->offset + (data->work_var_count-1)*data->sample_count;
data->data_root->offset + (size_t)(data->work_var_count-1)*data->sample_count;
for( i = 0; i < n; i++ )
{
+1 -1
View File
@@ -82,7 +82,7 @@ void CvStatModel::load( const char* filename, const char* name )
{
CvFileStorage* fs = 0;
CV_FUNCNAME( "CvStatModel::load" );
CV_FUNCNAME( "CvAlgorithm::load" );
__BEGIN__;
+18 -18
View File
@@ -424,9 +424,9 @@ void CvDTreeTrainData::set_data( const CvMat* _train_data, int _tflag,
int* c_map;
if (is_buf_16u)
udst = (unsigned short*)(buf->data.s + vi*sample_count);
udst = (unsigned short*)(buf->data.s + (size_t)vi*sample_count);
else
idst = buf->data.i + vi*sample_count;
idst = buf->data.i + (size_t)vi*sample_count;
// copy data
for( i = 0; i < sample_count; i++ )
@@ -540,9 +540,9 @@ void CvDTreeTrainData::set_data( const CvMat* _train_data, int _tflag,
else if( ci < 0 ) // process ordered variable
{
if (is_buf_16u)
udst = (unsigned short*)(buf->data.s + vi*sample_count);
udst = (unsigned short*)(buf->data.s + (size_t)vi*sample_count);
else
idst = buf->data.i + vi*sample_count;
idst = buf->data.i + (size_t)vi*sample_count;
for( i = 0; i < sample_count; i++ )
{
@@ -583,9 +583,9 @@ void CvDTreeTrainData::set_data( const CvMat* _train_data, int _tflag,
// set sample labels
if (is_buf_16u)
udst = (unsigned short*)(buf->data.s + work_var_count*sample_count);
udst = (unsigned short*)(buf->data.s + (size_t)work_var_count*sample_count);
else
idst = buf->data.i + work_var_count*sample_count;
idst = buf->data.i + (size_t)work_var_count*sample_count;
for (i = 0; i < sample_count; i++)
{
@@ -602,7 +602,7 @@ void CvDTreeTrainData::set_data( const CvMat* _train_data, int _tflag,
if (is_buf_16u)
{
usdst = (unsigned short*)(buf->data.s + (get_work_var_count()-1)*sample_count);
usdst = (unsigned short*)(buf->data.s + (size_t)(get_work_var_count()-1)*sample_count);
for( i = vi = 0; i < sample_count; i++ )
{
usdst[i] = (unsigned short)vi++;
@@ -619,7 +619,7 @@ void CvDTreeTrainData::set_data( const CvMat* _train_data, int _tflag,
}
else
{
idst2 = buf->data.i + (get_work_var_count()-1)*sample_count;
idst2 = buf->data.i + (size_t)(get_work_var_count()-1)*sample_count;
for( i = vi = 0; i < sample_count; i++ )
{
idst2[i] = vi++;
@@ -785,7 +785,7 @@ CvDTreeNode* CvDTreeTrainData::subsample_data( const CvMat* _subsample_idx )
if (is_buf_16u)
{
unsigned short* udst = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
vi*sample_count + root->offset);
(size_t)vi*sample_count + root->offset);
for( i = 0; i < count; i++ )
{
int val = src[sidx[i]];
@@ -796,7 +796,7 @@ CvDTreeNode* CvDTreeTrainData::subsample_data( const CvMat* _subsample_idx )
else
{
int* idst = buf->data.i + root->buf_idx*get_length_subbuf() +
vi*sample_count + root->offset;
(size_t)vi*sample_count + root->offset;
for( i = 0; i < count; i++ )
{
int val = src[sidx[i]];
@@ -822,7 +822,7 @@ CvDTreeNode* CvDTreeTrainData::subsample_data( const CvMat* _subsample_idx )
if (is_buf_16u)
{
unsigned short* udst_idx = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
vi*sample_count + data_root->offset);
(size_t)vi*sample_count + data_root->offset);
for( i = 0; i < num_valid; i++ )
{
idx = src_idx[i];
@@ -846,7 +846,7 @@ CvDTreeNode* CvDTreeTrainData::subsample_data( const CvMat* _subsample_idx )
else
{
int* idst_idx = buf->data.i + root->buf_idx*get_length_subbuf() +
vi*sample_count + root->offset;
(size_t)vi*sample_count + root->offset;
for( i = 0; i < num_valid; i++ )
{
idx = src_idx[i];
@@ -874,14 +874,14 @@ CvDTreeNode* CvDTreeTrainData::subsample_data( const CvMat* _subsample_idx )
if (is_buf_16u)
{
unsigned short* sample_idx_dst = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
workVarCount*sample_count + root->offset);
(size_t)workVarCount*sample_count + root->offset);
for (i = 0; i < count; i++)
sample_idx_dst[i] = (unsigned short)sample_idx_src[sidx[i]];
}
else
{
int* sample_idx_dst = buf->data.i + root->buf_idx*get_length_subbuf() +
workVarCount*sample_count + root->offset;
(size_t)workVarCount*sample_count + root->offset;
for (i = 0; i < count; i++)
sample_idx_dst[i] = sample_idx_src[sidx[i]];
}
@@ -1192,10 +1192,10 @@ void CvDTreeTrainData::get_ord_var_data( CvDTreeNode* n, int vi, float* ord_valu
if( !is_buf_16u )
*sorted_indices = buf->data.i + n->buf_idx*get_length_subbuf() +
vi*sample_count + n->offset;
(size_t)vi*sample_count + n->offset;
else {
const unsigned short* short_indices = (const unsigned short*)(buf->data.s + n->buf_idx*get_length_subbuf() +
vi*sample_count + n->offset );
(size_t)vi*sample_count + n->offset );
for( int i = 0; i < node_sample_count; i++ )
sorted_indices_buf[i] = short_indices[i];
*sorted_indices = sorted_indices_buf;
@@ -1266,10 +1266,10 @@ const int* CvDTreeTrainData::get_cat_var_data( CvDTreeNode* n, int vi, int* cat_
const int* cat_values = 0;
if( !is_buf_16u )
cat_values = buf->data.i + n->buf_idx*get_length_subbuf() +
vi*sample_count + n->offset;
(size_t)vi*sample_count + n->offset;
else {
const unsigned short* short_values = (const unsigned short*)(buf->data.s + n->buf_idx*get_length_subbuf() +
vi*sample_count + n->offset);
(size_t)vi*sample_count + n->offset);
for( int i = 0; i < n->sample_count; i++ )
cat_values_buf[i] = short_values[i];
cat_values = cat_values_buf;
+10 -3
View File
@@ -12,9 +12,10 @@ int main( int argc, char* argv[] )
int numNeg = 1000;
int numStages = 20;
int numThreads = getNumThreads();
int precalcValBufSize = 256,
precalcIdxBufSize = 256;
int precalcValBufSize = 1024,
precalcIdxBufSize = 1024;
bool baseFormatSave = false;
double acceptanceRatioBreakValue = -1.0;
CvCascadeParams cascadeParams;
CvCascadeBoostParams stageParams;
@@ -36,6 +37,7 @@ int main( int argc, char* argv[] )
cout << " [-precalcIdxBufSize <precalculated_idxs_buffer_size_in_Mb = " << precalcIdxBufSize << ">]" << endl;
cout << " [-baseFormatSave]" << endl;
cout << " [-numThreads <max_number_of_threads = " << numThreads << ">]" << endl;
cout << " [-acceptanceRatioBreakValue <value> = " << acceptanceRatioBreakValue << ">]" << endl;
cascadeParams.printDefaults();
stageParams.printDefaults();
for( int fi = 0; fi < fc; fi++ )
@@ -86,6 +88,10 @@ int main( int argc, char* argv[] )
{
numThreads = atoi(argv[++i]);
}
else if( !strcmp( argv[i], "-acceptanceRatioBreakValue" ) )
{
acceptanceRatioBreakValue = atof(argv[++i]);
}
else if ( cascadeParams.scanAttr( argv[i], argv[i+1] ) ) { i++; }
else if ( stageParams.scanAttr( argv[i], argv[i+1] ) ) { i++; }
else if ( !set )
@@ -112,6 +118,7 @@ int main( int argc, char* argv[] )
cascadeParams,
*featureParams[cascadeParams.featureType],
stageParams,
baseFormatSave );
baseFormatSave,
acceptanceRatioBreakValue );
return 0;
}
+160 -241
View File
@@ -31,10 +31,8 @@
# The following variables affect the behavior of the macros in the
# script (in alphebetical order). Note that any of these flags can be
# changed multiple times in the same directory before calling
# CUDA_ADD_EXECUTABLE, CUDA_ADD_LIBRARY, CUDA_COMPILE, CUDA_COMPILE_PTX
# or CUDA_WRAP_SRCS.
#
# ::
# CUDA_ADD_EXECUTABLE, CUDA_ADD_LIBRARY, CUDA_COMPILE, CUDA_COMPILE_PTX,
# CUDA_COMPILE_FATBIN, CUDA_COMPILE_CUBIN or CUDA_WRAP_SRCS::
#
# CUDA_64_BIT_DEVICE_CODE (Default matches host bit size)
# -- Set to ON to compile for 64 bit device code, OFF for 32 bit device code.
@@ -43,19 +41,11 @@
# nvcc in the generated source. If you compile to PTX and then load the
# file yourself, you can mix bit sizes between device and host.
#
#
#
# ::
#
# CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE (Default ON)
# -- Set to ON if you want the custom build rule to be attached to the source
# file in Visual Studio. Turn OFF if you add the same cuda file to multiple
# targets.
#
#
#
# ::
#
# This allows the user to build the target from the CUDA file; however, bad
# things can happen if the CUDA source file is added to multiple targets.
# When performing parallel builds it is possible for the custom build
@@ -68,44 +58,24 @@
# this script could detect the reuse of source files across multiple targets
# and turn the option off for the user, but no good solution could be found.
#
#
#
# ::
#
# CUDA_BUILD_CUBIN (Default OFF)
# -- Set to ON to enable and extra compilation pass with the -cubin option in
# Device mode. The output is parsed and register, shared memory usage is
# printed during build.
#
#
#
# ::
#
# CUDA_BUILD_EMULATION (Default OFF for device mode)
# -- Set to ON for Emulation mode. -D_DEVICEEMU is defined for CUDA C files
# when CUDA_BUILD_EMULATION is TRUE.
#
#
#
# ::
#
# CUDA_GENERATED_OUTPUT_DIR (Default CMAKE_CURRENT_BINARY_DIR)
# -- Set to the path you wish to have the generated files placed. If it is
# blank output files will be placed in CMAKE_CURRENT_BINARY_DIR.
# Intermediate files will always be placed in
# CMAKE_CURRENT_BINARY_DIR/CMakeFiles.
#
#
#
# ::
#
# CUDA_HOST_COMPILATION_CPP (Default ON)
# -- Set to OFF for C compilation of host code.
#
#
#
# ::
#
# CUDA_HOST_COMPILER (Default CMAKE_C_COMPILER, $(VCInstallDir)/bin for VS)
# -- Set the host compiler to be used by nvcc. Ignored if -ccbin or
# --compiler-bindir is already present in the CUDA_NVCC_FLAGS or
@@ -113,19 +83,11 @@
# $(VCInstallDir)/bin is a special value that expands out to the path when
# the command is run from withing VS.
#
#
#
# ::
#
# CUDA_NVCC_FLAGS
# CUDA_NVCC_FLAGS_<CONFIG>
# -- Additional NVCC command line arguments. NOTE: multiple arguments must be
# semi-colon delimited (e.g. --compiler-options;-Wall)
#
#
#
# ::
#
# CUDA_PROPAGATE_HOST_FLAGS (Default ON)
# -- Set to ON to propagate CMAKE_{C,CXX}_FLAGS and their configuration
# dependent counterparts (e.g. CMAKE_C_FLAGS_DEBUG) automatically to the
@@ -137,10 +99,6 @@
# CUDA_ADD_LIBRARY, CUDA_ADD_EXECUTABLE, or CUDA_WRAP_SRCS. Flags used for
# shared library compilation are not affected by this flag.
#
#
#
# ::
#
# CUDA_SEPARABLE_COMPILATION (Default OFF)
# -- If set this will enable separable compilation for all CUDA runtime object
# files. If used outside of CUDA_ADD_EXECUTABLE and CUDA_ADD_LIBRARY
@@ -148,38 +106,22 @@
# CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME and
# CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS should be called.
#
#
#
# ::
#
# CUDA_VERBOSE_BUILD (Default OFF)
# -- Set to ON to see all the commands used when building the CUDA file. When
# using a Makefile generator the value defaults to VERBOSE (run make
# VERBOSE=1 to see output), although setting CUDA_VERBOSE_BUILD to ON will
# always print the output.
#
#
#
# The script creates the following macros (in alphebetical order):
#
# ::
# The script creates the following macros (in alphebetical order)::
#
# CUDA_ADD_CUFFT_TO_TARGET( cuda_target )
# -- Adds the cufft library to the target (can be any target). Handles whether
# you are in emulation mode or not.
#
#
#
# ::
#
# CUDA_ADD_CUBLAS_TO_TARGET( cuda_target )
# -- Adds the cublas library to the target (can be any target). Handles
# whether you are in emulation mode or not.
#
#
#
# ::
#
# CUDA_ADD_EXECUTABLE( cuda_target file0 file1 ...
# [WIN32] [MACOSX_BUNDLE] [EXCLUDE_FROM_ALL] [OPTIONS ...] )
# -- Creates an executable "cuda_target" which is made up of the files
@@ -193,42 +135,28 @@
# nvcc. Such flags should be modified before calling CUDA_ADD_EXECUTABLE,
# CUDA_ADD_LIBRARY or CUDA_WRAP_SRCS.
#
#
#
# ::
#
# CUDA_ADD_LIBRARY( cuda_target file0 file1 ...
# [STATIC | SHARED | MODULE] [EXCLUDE_FROM_ALL] [OPTIONS ...] )
# -- Same as CUDA_ADD_EXECUTABLE except that a library is created.
#
#
#
# ::
#
# CUDA_BUILD_CLEAN_TARGET()
# -- Creates a convience target that deletes all the dependency files
# generated. You should make clean after running this target to ensure the
# dependency files get regenerated.
#
#
#
# ::
#
# CUDA_COMPILE( generated_files file0 file1 ... [STATIC | SHARED | MODULE]
# [OPTIONS ...] )
# -- Returns a list of generated files from the input source files to be used
# with ADD_LIBRARY or ADD_EXECUTABLE.
#
#
#
# ::
#
# CUDA_COMPILE_PTX( generated_files file0 file1 ... [OPTIONS ...] )
# -- Returns a list of PTX files generated from the input source files.
#
# CUDA_COMPILE_FATBIN( generated_files file0 file1 ... [OPTIONS ...] )
# -- Returns a list of FATBIN files generated from the input source files.
#
#
# ::
# CUDA_COMPILE_CUBIN( generated_files file0 file1 ... [OPTIONS ...] )
# -- Returns a list of CUBIN files generated from the input source files.
#
# CUDA_COMPUTE_SEPARABLE_COMPILATION_OBJECT_FILE_NAME( output_file_var
# cuda_target
@@ -242,10 +170,6 @@
# automatically for CUDA_ADD_LIBRARY and CUDA_ADD_EXECUTABLE. Note that
# this is a function and not a macro.
#
#
#
# ::
#
# CUDA_INCLUDE_DIRECTORIES( path0 path1 ... )
# -- Sets the directories that should be passed to nvcc
# (e.g. nvcc -Ipath0 -Ipath1 ... ). These paths usually contain other .cu
@@ -253,17 +177,9 @@
#
#
#
#
#
# ::
#
# CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS( output_file_var cuda_target
# nvcc_flags object_files)
#
#
#
# ::
#
# -- Generates the link object required by separable compilation from the given
# object files. This is called automatically for CUDA_ADD_EXECUTABLE and
# CUDA_ADD_LIBRARY, but can be called manually when using CUDA_WRAP_SRCS
@@ -273,91 +189,51 @@
# specified by CUDA_64_BIT_DEVICE_CODE. Note that this is a function
# instead of a macro.
#
#
#
# ::
#
# CUDA_WRAP_SRCS ( cuda_target format generated_files file0 file1 ...
# [STATIC | SHARED | MODULE] [OPTIONS ...] )
# -- This is where all the magic happens. CUDA_ADD_EXECUTABLE,
# CUDA_ADD_LIBRARY, CUDA_COMPILE, and CUDA_COMPILE_PTX all call this
# function under the hood.
#
#
#
# ::
#
# Given the list of files (file0 file1 ... fileN) this macro generates
# custom commands that generate either PTX or linkable objects (use "PTX" or
# "OBJ" for the format argument to switch). Files that don't end with .cu
# or have the HEADER_FILE_ONLY property are ignored.
#
#
#
# ::
#
# The arguments passed in after OPTIONS are extra command line options to
# give to nvcc. You can also specify per configuration options by
# specifying the name of the configuration followed by the options. General
# options must preceed configuration specific options. Not all
# configurations need to be specified, only the ones provided will be used.
#
#
#
# ::
#
# OPTIONS -DFLAG=2 "-DFLAG_OTHER=space in flag"
# DEBUG -g
# RELEASE --use_fast_math
# RELWITHDEBINFO --use_fast_math;-g
# MINSIZEREL --use_fast_math
#
#
#
# ::
#
# For certain configurations (namely VS generating object files with
# CUDA_ATTACH_VS_BUILD_RULE_TO_CUDA_FILE set to ON), no generated file will
# be produced for the given cuda file. This is because when you add the
# cuda file to Visual Studio it knows that this file produces an object file
# and will link in the resulting object file automatically.
#
#
#
# ::
#
# This script will also generate a separate cmake script that is used at
# build time to invoke nvcc. This is for several reasons.
#
#
#
# ::
#
# 1. nvcc can return negative numbers as return values which confuses
# Visual Studio into thinking that the command succeeded. The script now
# checks the error codes and produces errors when there was a problem.
#
#
#
# ::
#
# 2. nvcc has been known to not delete incomplete results when it
# encounters problems. This confuses build systems into thinking the
# target was generated when in fact an unusable file exists. The script
# now deletes the output files if there was an error.
#
#
#
# ::
#
# 3. By putting all the options that affect the build into a file and then
# make the build rule dependent on the file, the output files will be
# regenerated when the options change.
#
#
#
# ::
#
# This script also looks at optional arguments STATIC, SHARED, or MODULE to
# determine when to target the object compilation for a shared library.
# BUILD_SHARED_LIBS is ignored in CUDA_WRAP_SRCS, but it is respected in
@@ -366,27 +242,17 @@
# <target_name>_EXPORTS is defined when a shared library compilation is
# detected.
#
#
#
# ::
#
# Flags passed into add_definitions with -D or /D are passed along to nvcc.
#
#
#
# The script defines the following variables:
#
# ::
# The script defines the following variables::
#
# CUDA_VERSION_MAJOR -- The major version of cuda as reported by nvcc.
# CUDA_VERSION_MINOR -- The minor version.
# CUDA_VERSION
# CUDA_VERSION_STRING -- CUDA_VERSION_MAJOR.CUDA_VERSION_MINOR
#
#
#
# ::
#
# CUDA_TOOLKIT_ROOT_DIR -- Path to the CUDA Toolkit (defined if not set).
# CUDA_SDK_ROOT_DIR -- Path to the CUDA SDK. Use this to find files in the
# SDK. This script will not directly support finding
@@ -412,13 +278,13 @@
# Only available for CUDA version 3.2+.
# CUDA_cusparse_LIBRARY -- CUDA Sparse Matrix library.
# Only available for CUDA version 3.2+.
# CUDA_npp_LIBRARY -- NVIDIA Performance Primitives library.
# CUDA_npp_LIBRARY -- NVIDIA Performance Primitives lib.
# Only available for CUDA version 4.0+.
# CUDA_nppc_LIBRARY -- NVIDIA Performance Primitives library (core).
# CUDA_nppc_LIBRARY -- NVIDIA Performance Primitives lib (core).
# Only available for CUDA version 5.5+.
# CUDA_nppi_LIBRARY -- NVIDIA Performance Primitives library (image processing).
# CUDA_nppi_LIBRARY -- NVIDIA Performance Primitives lib (image processing).
# Only available for CUDA version 5.5+.
# CUDA_npps_LIBRARY -- NVIDIA Performance Primitives library (signal processing).
# CUDA_npps_LIBRARY -- NVIDIA Performance Primitives lib (signal processing).
# Only available for CUDA version 5.5+.
# CUDA_nvcuvenc_LIBRARY -- CUDA Video Encoder library.
# Only available for CUDA version 3.2+.
@@ -427,32 +293,15 @@
# Only available for CUDA version 3.2+.
# Windows only.
#
#
#
#
#
# ::
#
# James Bigler, NVIDIA Corp (nvidia.com - jbigler)
# Abe Stephens, SCI Institute -- http://www.sci.utah.edu/~abe/FindCuda.html
#
#
#
# ::
#
# Copyright (c) 2008 - 2009 NVIDIA Corporation. All rights reserved.
#
#
#
# ::
#
# Copyright (c) 2007-2009
# Scientific Computing and Imaging Institute, University of Utah
#
#
#
# ::
#
# This code is licensed under the MIT License. See the FindCUDA.cmake script
# for the text of the license.
@@ -481,11 +330,6 @@
# FindCUDA.cmake
# We need to have at least this version to support the VERSION_LESS argument to 'if' (2.6.2) and unset (2.6.3)
cmake_policy(PUSH)
cmake_minimum_required(VERSION 2.6.3)
cmake_policy(POP)
# This macro helps us find the location of helper files we will need the full path to
macro(CUDA_FIND_HELPER_FILE _name _extension)
set(_full_name "${_name}.${_extension}")
@@ -608,7 +452,17 @@ set(CUDA_NVCC_FLAGS "" CACHE STRING "Semi-colon delimit multiple arguments.")
if(CMAKE_GENERATOR MATCHES "Visual Studio")
set(CUDA_HOST_COMPILER "$(VCInstallDir)bin" CACHE FILEPATH "Host side compiler used by NVCC")
else()
set(CUDA_HOST_COMPILER "${CMAKE_C_COMPILER}" CACHE FILEPATH "Host side compiler used by NVCC")
# Using cc which is symlink to clang may let NVCC think it is GCC and issue
# unhandled -dumpspecs option to clang. Also in case neither
# CMAKE_C_COMPILER is defined (project does not use C language) nor
# CUDA_HOST_COMPILER is specified manually we should skip -ccbin and let
# nvcc use its own default C compiler.
if(DEFINED CMAKE_C_COMPILER AND NOT DEFINED CUDA_HOST_COMPILER)
get_filename_component(c_compiler_realpath "${CMAKE_C_COMPILER}" REALPATH)
else()
set(c_compiler_realpath "")
endif()
set(CUDA_HOST_COMPILER "${c_compiler_realpath}" CACHE FILEPATH "Host side compiler used by NVCC")
endif()
# Propagate the host flags to the host compiler via -Xcompiler
@@ -675,14 +529,16 @@ endmacro()
# Check to see if the CUDA_TOOLKIT_ROOT_DIR and CUDA_SDK_ROOT_DIR have changed,
# if they have then clear the cache variables, so that will be detected again.
if(NOT "${CUDA_TOOLKIT_ROOT_DIR}" STREQUAL "${CUDA_TOOLKIT_ROOT_DIR_INTERNAL}")
if(DEFINED CUDA_TOOLKIT_ROOT_DIR_INTERNAL AND (NOT "${CUDA_TOOLKIT_ROOT_DIR}" STREQUAL "${CUDA_TOOLKIT_ROOT_DIR_INTERNAL}"))
unset(CUDA_TARGET_TRIPLET CACHE)
unset(CUDA_TOOLKIT_TARGET_DIR CACHE)
unset(CUDA_NVCC_EXECUTABLE CACHE)
unset(CUDA_VERSION CACHE)
cuda_unset_include_and_libraries()
endif()
if(NOT "${CUDA_TOOLKIT_TARGET_DIR}" STREQUAL "${CUDA_TOOLKIT_TARGET_DIR_INTERNAL}")
if(DEFINED CUDA_TARGET_TRIPLET_INTERNAL AND (NOT "${CUDA_TARGET_TRIPLET}" STREQUAL "${CUDA_TARGET_TRIPLET_INTERNAL}") OR
(DEFINED CUDA_TOOLKIT_TARGET_DIR AND DEFINED CUDA_TOOLKIT_TARGET_DIR_INTERNAL AND NOT "${CUDA_TOOLKIT_TARGET_DIR}" STREQUAL "${CUDA_TOOLKIT_TARGET_DIR_INTERNAL}"))
cuda_unset_include_and_libraries()
endif()
@@ -758,27 +614,54 @@ endif()
# Always set this convenience variable
set(CUDA_VERSION_STRING "${CUDA_VERSION}")
# Support for arm cross compilation with CUDA 5.5
set(__cuda_toolkit_target_dir_initial "${CUDA_TOOLKIT_ROOT_DIR}")
if(CUDA_VERSION VERSION_GREATER "5.0" AND CMAKE_CROSSCOMPILING AND ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
if(ANDROID AND EXISTS "${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-androideabi")
set(__cuda_toolkit_target_dir_initial "${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-androideabi")
elseif(EXISTS "${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-gnueabihf")
set(__cuda_toolkit_target_dir_initial "${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-gnueabihf")
endif()
endif()
set(CUDA_TOOLKIT_TARGET_DIR "${__cuda_toolkit_target_dir_initial}" CACHE PATH "Toolkit target location.")
mark_as_advanced(CUDA_TOOLKIT_TARGET_DIR)
# Target CPU architecture
if(CUDA_VERSION VERSION_GREATER "5.0" AND CMAKE_CROSSCOMPILING AND ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
if(DEFINED CUDA_TARGET_CPU_ARCH)
set(_cuda_target_cpu_arch_initial "${CUDA_TARGET_CPU_ARCH}")
elseif(CUDA_VERSION VERSION_GREATER "5.0" AND CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm|ARM)")
set(_cuda_target_cpu_arch_initial "ARM")
elseif(CUDA_VERSION VERSION_GREATER "6.5" AND CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|AARCH64)")
set(_cuda_target_cpu_arch_initial "AARCH64")
else()
set(_cuda_target_cpu_arch_initial "")
endif()
set(CUDA_TARGET_CPU_ARCH ${_cuda_target_cpu_arch_initial} CACHE STRING "Specify the name of the class of CPU architecture for which the input files must be compiled.")
set(CUDA_TARGET_CPU_ARCH "${_cuda_target_cpu_arch_initial}" CACHE STRING "Specify the name of the class of CPU architecture for which the input files must be compiled.")
mark_as_advanced(CUDA_TARGET_CPU_ARCH)
# Target OS variant
if(DEFINED CUDA_TARGET_OS_VARIANT)
set(_cuda_target_os_variant_initial "${CUDA_TARGET_OS_VARIANT}")
else()
set(_cuda_target_os_variant_initial "")
endif()
set(CUDA_TARGET_OS_VARIANT "${_cuda_target_os_variant_initial}" CACHE STRING "Specify the name of the class of OS for which the input files must be compiled.")
mark_as_advanced(CUDA_TARGET_OS_VARIANT)
# Target triplet
if(DEFINED CUDA_TARGET_TRIPLET)
set(_cuda_target_triplet_initial "${CUDA_TARGET_TRIPLET}")
elseif(CUDA_VERSION VERSION_GREATER "5.0" AND CMAKE_CROSSCOMPILING AND "${CUDA_TARGET_CPU_ARCH}" STREQUAL "ARM")
if("${CUDA_TARGET_OS_VARIANT}" STREQUAL "Android" AND EXISTS "${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-androideabi")
set(_cuda_target_triplet_initial "armv7-linux-androideabi")
elseif(EXISTS "${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-gnueabihf")
set(_cuda_target_triplet_initial "armv7-linux-gnueabihf")
endif()
elseif(CUDA_VERSION VERSION_GREATER "6.5" AND CMAKE_CROSSCOMPILING AND "${CUDA_TARGET_CPU_ARCH}" STREQUAL "AARCH64")
if("${CUDA_TARGET_OS_VARIANT}" STREQUAL "Android" AND EXISTS "${CUDA_TOOLKIT_ROOT_DIR}/targets/aarch64-linux-androideabi")
set(_cuda_target_triplet_initial "aarch64-linux-androideabi")
elseif(EXISTS "${CUDA_TOOLKIT_ROOT_DIR}/targets/aarch64-linux-gnueabihf")
set(_cuda_target_triplet_initial "aarch64-linux-gnueabihf")
endif()
endif()
set(CUDA_TARGET_TRIPLET "${_cuda_target_triplet_initial}" CACHE STRING "Specify the target triplet for which the input files must be compiled.")
file(GLOB __cuda_available_target_tiplets RELATIVE "${CUDA_TOOLKIT_ROOT_DIR}/targets" "${CUDA_TOOLKIT_ROOT_DIR}/targets/*" )
set_property(CACHE CUDA_TARGET_TRIPLET PROPERTY STRINGS ${__cuda_available_target_tiplets})
mark_as_advanced(CUDA_TARGET_TRIPLET)
# Target directory
if(NOT DEFINED CUDA_TOOLKIT_TARGET_DIR AND CUDA_TARGET_TRIPLET AND EXISTS "${CUDA_TOOLKIT_ROOT_DIR}/targets/${CUDA_TARGET_TRIPLET}")
set(CUDA_TOOLKIT_TARGET_DIR "${CUDA_TOOLKIT_ROOT_DIR}/targets/${CUDA_TARGET_TRIPLET}")
endif()
# CUDA_TOOLKIT_INCLUDE
find_path(CUDA_TOOLKIT_INCLUDE
device_functions.h # Header included in toolkit
@@ -802,10 +685,16 @@ macro(cuda_find_library_local_first_with_path_ext _var _names _doc _path_ext )
# and old paths.
set(_cuda_64bit_lib_dir "${_path_ext}lib/x64" "${_path_ext}lib64" "${_path_ext}libx64" )
endif()
if(CUDA_VERSION VERSION_GREATER "6.0")
set(_cuda_static_lib_names "")
foreach(name ${_names})
list(APPEND _cuda_static_lib_names "${name}_static")
endforeach()
endif()
# CUDA 3.2+ on Windows moved the library directories, so we need to new
# (lib/Win32) and the old path (lib).
find_library(${_var}
NAMES ${_names}
NAMES ${_names} ${_cuda_static_lib_names}
PATHS "${CUDA_TOOLKIT_TARGET_DIR}" "${CUDA_TOOLKIT_ROOT_DIR}"
ENV CUDA_PATH
ENV CUDA_LIB_PATH
@@ -815,7 +704,7 @@ macro(cuda_find_library_local_first_with_path_ext _var _names _doc _path_ext )
)
# Search default search paths, after we search our own set of paths.
find_library(${_var}
NAMES ${_names}
NAMES ${_names} ${_cuda_static_lib_names}
PATHS "/usr/lib/nvidia-current"
DOC ${_doc}
)
@@ -853,18 +742,6 @@ if(CUDA_BUILD_EMULATION AND CUDA_CUDARTEMU_LIBRARY)
else()
set(CUDA_LIBRARIES ${CUDA_CUDART_LIBRARY})
endif()
if(APPLE)
# We need to add the path to cudart to the linker using rpath, since the
# library name for the cuda libraries is prepended with @rpath.
if(CUDA_BUILD_EMULATION AND CUDA_CUDARTEMU_LIBRARY)
get_filename_component(_cuda_path_to_cudart "${CUDA_CUDARTEMU_LIBRARY}" PATH)
else()
get_filename_component(_cuda_path_to_cudart "${CUDA_CUDART_LIBRARY}" PATH)
endif()
if(_cuda_path_to_cudart)
list(APPEND CUDA_LIBRARIES -Wl,-rpath "-Wl,${_cuda_path_to_cudart}")
endif()
endif()
# 1.1 toolkit on linux doesn't appear to have a separate library on
# some platforms.
@@ -997,6 +874,8 @@ set(CUDA_FOUND TRUE)
set(CUDA_TOOLKIT_ROOT_DIR_INTERNAL "${CUDA_TOOLKIT_ROOT_DIR}" CACHE INTERNAL
"This is the value of the last time CUDA_TOOLKIT_ROOT_DIR was set successfully." FORCE)
set(CUDA_TARGET_TRIPLET_INTERNAL "${CUDA_TARGET_TRIPLET}" CACHE INTERNAL
"This is the value of the last time CUDA_TARGET_TRIPLET was set successfully." FORCE)
set(CUDA_TOOLKIT_TARGET_DIR_INTERNAL "${CUDA_TOOLKIT_TARGET_DIR}" CACHE INTERNAL
"This is the value of the last time CUDA_TOOLKIT_TARGET_DIR was set successfully." FORCE)
set(CUDA_SDK_ROOT_DIR_INTERNAL "${CUDA_SDK_ROOT_DIR}" CACHE INTERNAL
@@ -1044,15 +923,15 @@ macro(CUDA_GET_SOURCES_AND_OPTIONS _sources _cmake_options _options)
set( ${_options} )
set( _found_options FALSE )
foreach(arg ${ARGN})
if(arg STREQUAL "OPTIONS")
if("x${arg}" STREQUAL "xOPTIONS")
set( _found_options TRUE )
elseif(
arg STREQUAL "WIN32" OR
arg STREQUAL "MACOSX_BUNDLE" OR
arg STREQUAL "EXCLUDE_FROM_ALL" OR
arg STREQUAL "STATIC" OR
arg STREQUAL "SHARED" OR
arg STREQUAL "MODULE"
"x${arg}" STREQUAL "xWIN32" OR
"x${arg}" STREQUAL "xMACOSX_BUNDLE" OR
"x${arg}" STREQUAL "xEXCLUDE_FROM_ALL" OR
"x${arg}" STREQUAL "xSTATIC" OR
"x${arg}" STREQUAL "xSHARED" OR
"x${arg}" STREQUAL "xMODULE"
)
list(APPEND ${_cmake_options} ${arg})
else()
@@ -1148,7 +1027,7 @@ function(CUDA_COMPUTE_BUILD_PATH path build_path)
endif()
endif()
# This recipie is from cmLocalGenerator::CreateSafeUniqueObjectFileName in the
# This recipe is from cmLocalGenerator::CreateSafeUniqueObjectFileName in the
# CMake source.
# Remove leading /
@@ -1177,7 +1056,7 @@ endfunction()
# a .cpp or .ptx file.
# INPUT:
# cuda_target - Target name
# format - PTX or OBJ
# format - PTX, CUBIN, FATBIN or OBJ
# FILE1 .. FILEN - The remaining arguments are the sources to be wrapped.
# OPTIONS - Extra options to NVCC
# OUTPUT:
@@ -1223,8 +1102,14 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
set(nvcc_flags ${nvcc_flags} -m32)
endif()
if(CUDA_TARGET_CPU_ARCH)
set(nvcc_flags ${nvcc_flags} "--target-cpu-architecture=${CUDA_TARGET_CPU_ARCH}")
if(CUDA_TARGET_CPU_ARCH AND CUDA_VERSION VERSION_LESS "7.0")
# CPU architecture is either ARM or X86. Patch AARCH64 to be ARM
string(REPLACE "AARCH64" "ARM" CUDA_TARGET_CPU_ARCH_patched ${CUDA_TARGET_CPU_ARCH})
set(nvcc_flags ${nvcc_flags} "--target-cpu-architecture=${CUDA_TARGET_CPU_ARCH_patched}")
endif()
if(CUDA_TARGET_OS_VARIANT AND CUDA_VERSION VERSION_LESS "7.0")
set(nvcc_flags ${nvcc_flags} "-target-os-variant=${CUDA_TARGET_OS_VARIANT}")
endif()
# This needs to be passed in at this stage, because VS needs to fill out the
@@ -1355,7 +1240,7 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
foreach(file ${ARGN})
# Ignore any file marked as a HEADER_FILE_ONLY
get_source_file_property(_is_header ${file} HEADER_FILE_ONLY)
if(${file} MATCHES ".*\\.cu$" AND NOT _is_header)
if(${file} MATCHES "\\.cu$" AND NOT _is_header)
# Allow per source file overrides of the format.
get_source_file_property(_cuda_source_format ${file} CUDA_SOURCE_PROPERTY_FORMAT)
@@ -1363,16 +1248,22 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
set(_cuda_source_format ${format})
endif()
if( ${_cuda_source_format} MATCHES "PTX" )
set( compile_to_ptx ON )
elseif( ${_cuda_source_format} MATCHES "OBJ")
set( compile_to_ptx OFF )
if( ${_cuda_source_format} MATCHES "OBJ")
set( cuda_compile_to_external_module OFF )
else()
message( FATAL_ERROR "Invalid format flag passed to CUDA_WRAP_SRCS for file '${file}': '${_cuda_source_format}'. Use OBJ or PTX.")
set( cuda_compile_to_external_module ON )
if( ${_cuda_source_format} MATCHES "PTX" )
set( cuda_compile_to_external_module_type "ptx" )
elseif( ${_cuda_source_format} MATCHES "CUBIN")
set( cuda_compile_to_external_module_type "cubin" )
elseif( ${_cuda_source_format} MATCHES "FATBIN")
set( cuda_compile_to_external_module_type "fatbin" )
else()
message( FATAL_ERROR "Invalid format flag passed to CUDA_WRAP_SRCS for file '${file}': '${_cuda_source_format}'. Use OBJ, PTX, CUBIN or FATBIN.")
endif()
endif()
if(compile_to_ptx)
if(cuda_compile_to_external_module)
# Don't use any of the host compilation flags for PTX targets.
set(CUDA_HOST_FLAGS)
set(CUDA_NVCC_FLAGS_CONFIG)
@@ -1387,7 +1278,7 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
if(CUDA_GENERATED_OUTPUT_DIR)
set(cuda_compile_output_dir "${CUDA_GENERATED_OUTPUT_DIR}")
else()
if ( compile_to_ptx )
if ( cuda_compile_to_external_module )
set(cuda_compile_output_dir "${CMAKE_CURRENT_BINARY_DIR}")
else()
set(cuda_compile_output_dir "${cuda_compile_intermediate_directory}")
@@ -1397,10 +1288,10 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
# Add a custom target to generate a c or ptx file. ######################
get_filename_component( basename ${file} NAME )
if( compile_to_ptx )
if( cuda_compile_to_external_module )
set(generated_file_path "${cuda_compile_output_dir}")
set(generated_file_basename "${cuda_target}_generated_${basename}.ptx")
set(format_flag "-ptx")
set(generated_file_basename "${cuda_target}_generated_${basename}.${cuda_compile_to_external_module_type}")
set(format_flag "-${cuda_compile_to_external_module_type}")
file(MAKE_DIRECTORY "${cuda_compile_output_dir}")
else()
set(generated_file_path "${cuda_compile_output_dir}/${CMAKE_CFG_INTDIR}")
@@ -1423,7 +1314,7 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
set(custom_target_script "${cuda_compile_intermediate_directory}/${generated_file_basename}.cmake")
# Setup properties for obj files:
if( NOT compile_to_ptx )
if( NOT cuda_compile_to_external_module )
set_source_files_properties("${generated_file}"
PROPERTIES
EXTERNAL_OBJECT true # This is an object file not to be compiled, but only be linked.
@@ -1438,7 +1329,7 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
set(source_file "${CMAKE_CURRENT_SOURCE_DIR}/${file}")
endif()
if( NOT compile_to_ptx AND CUDA_SEPARABLE_COMPILATION)
if( NOT cuda_compile_to_external_module AND CUDA_SEPARABLE_COMPILATION)
list(APPEND ${cuda_target}_SEPARABLE_COMPILATION_OBJECTS "${generated_file}")
endif()
@@ -1455,7 +1346,7 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
# Build the NVCC made dependency file ###################################
set(build_cubin OFF)
if ( NOT CUDA_BUILD_EMULATION AND CUDA_BUILD_CUBIN )
if ( NOT compile_to_ptx )
if ( NOT cuda_compile_to_external_module )
set ( build_cubin ON )
endif()
endif()
@@ -1482,8 +1373,8 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
# Create up the comment string
file(RELATIVE_PATH generated_file_relative_path "${CMAKE_BINARY_DIR}" "${generated_file}")
if(compile_to_ptx)
set(cuda_build_comment_string "Building NVCC ptx file ${generated_file_relative_path}")
if(cuda_compile_to_external_module)
set(cuda_build_comment_string "Building NVCC ${cuda_compile_to_external_module_type} file ${generated_file_relative_path}")
else()
set(cuda_build_comment_string "Building NVCC (${cuda_build_type}) object ${generated_file_relative_path}")
endif()
@@ -1576,18 +1467,27 @@ function(CUDA_LINK_SEPARABLE_COMPILATION_OBJECTS output_file cuda_target options
# If -ccbin, --compiler-bindir has been specified, don't do anything. Otherwise add it here.
list( FIND nvcc_flags "-ccbin" ccbin_found0 )
list( FIND nvcc_flags "--compiler-bindir" ccbin_found1 )
if( ccbin_found0 LESS 0 AND ccbin_found1 LESS 0 )
if( ccbin_found0 LESS 0 AND ccbin_found1 LESS 0 AND CUDA_HOST_COMPILER )
list(APPEND nvcc_flags -ccbin "\"${CUDA_HOST_COMPILER}\"")
endif()
# Create a list of flags specified by CUDA_NVCC_FLAGS_${CONFIG}
set(config_specific_flags)
set(flags)
foreach(config ${CUDA_configuration_types})
string(TOUPPER ${config} config_upper)
# Add config specific flags
foreach(f ${CUDA_NVCC_FLAGS_${config_upper}})
list(APPEND config_specific_flags $<$<CONFIG:${config}>:${f}>)
endforeach()
set(important_host_flags)
_cuda_get_important_host_flags(important_host_flags ${CMAKE_${CUDA_C_OR_CXX}_FLAGS_${config_upper}})
foreach(f ${important_host_flags})
list(APPEND flags $<$<CONFIG:${config}>:-Xcompiler> $<$<CONFIG:${config}>:${f}>)
endforeach()
endforeach()
# Add our general CUDA_NVCC_FLAGS with the configuration specifig flags
set(nvcc_flags ${CUDA_NVCC_FLAGS} ${config_specific_flags} ${nvcc_flags})
file(RELATIVE_PATH output_file_relative_path "${CMAKE_BINARY_DIR}" "${output_file}")
# Some generators don't handle the multiple levels of custom command
@@ -1713,21 +1613,29 @@ endmacro()
###############################################################################
###############################################################################
# CUDA COMPILE
# (Internal) helper for manually added cuda source files with specific targets
###############################################################################
###############################################################################
macro(CUDA_COMPILE generated_files)
macro(cuda_compile_base cuda_target format generated_files)
# Separate the sources from the options
CUDA_GET_SOURCES_AND_OPTIONS(_sources _cmake_options _options ${ARGN})
# Create custom commands and targets for each file.
CUDA_WRAP_SRCS( cuda_compile OBJ _generated_files ${_sources} ${_cmake_options}
CUDA_WRAP_SRCS( ${cuda_target} ${format} _generated_files ${_sources} ${_cmake_options}
OPTIONS ${_options} )
set( ${generated_files} ${_generated_files})
endmacro()
###############################################################################
###############################################################################
# CUDA COMPILE
###############################################################################
###############################################################################
macro(CUDA_COMPILE generated_files)
cuda_compile_base(cuda_compile OBJ ${generated_files} ${ARGN})
endmacro()
###############################################################################
###############################################################################
@@ -1735,17 +1643,28 @@ endmacro()
###############################################################################
###############################################################################
macro(CUDA_COMPILE_PTX generated_files)
# Separate the sources from the options
CUDA_GET_SOURCES_AND_OPTIONS(_sources _cmake_options _options ${ARGN})
# Create custom commands and targets for each file.
CUDA_WRAP_SRCS( cuda_compile_ptx PTX _generated_files ${_sources} ${_cmake_options}
OPTIONS ${_options} )
set( ${generated_files} ${_generated_files})
cuda_compile_base(cuda_compile_ptx PTX ${generated_files} ${ARGN})
endmacro()
###############################################################################
###############################################################################
# CUDA COMPILE FATBIN
###############################################################################
###############################################################################
macro(CUDA_COMPILE_FATBIN generated_files)
cuda_compile_base(cuda_compile_fatbin FATBIN ${generated_files} ${ARGN})
endmacro()
###############################################################################
###############################################################################
# CUDA COMPILE CUBIN
###############################################################################
###############################################################################
macro(CUDA_COMPILE_CUBIN generated_files)
cuda_compile_base(cuda_compile_cubin CUBIN ${generated_files} ${ARGN})
endmacro()
###############################################################################
###############################################################################
# CUDA ADD CUFFT TO TARGET
+2 -3
View File
@@ -37,12 +37,11 @@
file(READ ${input_file} depend_text)
if (${depend_text} MATCHES ".+")
if (NOT "${depend_text}" STREQUAL "")
# message("FOUND DEPENDS")
# Remember, four backslashes is escaped to one backslash in the string.
string(REGEX REPLACE "\\\\ " " " depend_text ${depend_text})
string(REPLACE "\\ " " " depend_text ${depend_text})
# This works for the nvcc -M generated dependency files.
string(REGEX REPLACE "^.* : " "" depend_text ${depend_text})
+7 -8
View File
@@ -37,11 +37,10 @@
file(READ ${input_file} file_text)
if (${file_text} MATCHES ".+")
if (NOT "${file_text}" STREQUAL "")
# Remember, four backslashes is escaped to one backslash in the string.
string(REGEX REPLACE ";" "\\\\;" file_text ${file_text})
string(REGEX REPLACE "\ncode" ";code" file_text ${file_text})
string(REPLACE ";" "\\;" file_text ${file_text})
string(REPLACE "\ncode" ";code" file_text ${file_text})
list(LENGTH file_text len)
@@ -57,7 +56,7 @@ if (${file_text} MATCHES ".+")
# Extract kernel names.
if (${entry} MATCHES "[^g]name = ([^ ]+)")
string(REGEX REPLACE ".* = ([^ ]+)" "\\1" entry ${entry})
set(entry "${CMAKE_MATCH_1}")
# Check to see if the kernel name starts with "_"
set(skip FALSE)
@@ -76,19 +75,19 @@ if (${file_text} MATCHES ".+")
# Registers
if (${entry} MATCHES "reg([ ]+)=([ ]+)([^ ]+)")
string(REGEX REPLACE ".*([ ]+)=([ ]+)([^ ]+)" "\\3" entry ${entry})
set(entry "${CMAKE_MATCH_3}")
message("Registers: ${entry}")
endif()
# Local memory
if (${entry} MATCHES "lmem([ ]+)=([ ]+)([^ ]+)")
string(REGEX REPLACE ".*([ ]+)=([ ]+)([^ ]+)" "\\3" entry ${entry})
set(entry "${CMAKE_MATCH_3}")
message("Local: ${entry}")
endif()
# Shared memory
if (${entry} MATCHES "smem([ ]+)=([ ]+)([^ ]+)")
string(REGEX REPLACE ".*([ ]+)=([ ]+)([^ ]+)" "\\3" entry ${entry})
set(entry "${CMAKE_MATCH_3}")
message("Shared: ${entry}")
endif()
+3 -3
View File
@@ -62,7 +62,7 @@ set(cmake_dependency_file "@cmake_dependency_file@") # path
set(CUDA_make2cmake "@CUDA_make2cmake@") # path
set(CUDA_parse_cubin "@CUDA_parse_cubin@") # path
set(build_cubin @build_cubin@) # bool
set(CUDA_HOST_COMPILER "@CUDA_HOST_COMPILER@") # bool
set(CUDA_HOST_COMPILER "@CUDA_HOST_COMPILER@") # path
# We won't actually use these variables for now, but we need to set this, in
# order to force this file to be run again if it changes.
set(generated_file_path "@generated_file_path@") # path
@@ -106,7 +106,7 @@ list(APPEND CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS_${build_configuration}})
# Any -ccbin existing in CUDA_NVCC_FLAGS gets highest priority
list( FIND CUDA_NVCC_FLAGS "-ccbin" ccbin_found0 )
list( FIND CUDA_NVCC_FLAGS "--compiler-bindir" ccbin_found1 )
if( ccbin_found0 LESS 0 AND ccbin_found1 LESS 0 )
if( ccbin_found0 LESS 0 AND ccbin_found1 LESS 0 AND CUDA_HOST_COMPILER )
if (CUDA_HOST_COMPILER STREQUAL "$(VCInstallDir)bin" AND DEFINED CCBIN)
set(CCBIN -ccbin "${CCBIN}")
else()
@@ -126,7 +126,7 @@ endif()
# and other return variables are present after executing the process.
macro(cuda_execute_process status command)
set(_command ${command})
if(NOT _command STREQUAL "COMMAND")
if(NOT "x${_command}" STREQUAL "xCOMMAND")
message(FATAL_ERROR "Malformed call to cuda_execute_process. Missing COMMAND as second argument. (command = ${command})")
endif()
if(verbose)
+26 -36
View File
@@ -2,47 +2,37 @@ if(NOT MSVC)
message(FATAL_ERROR "CRT options are available only for MSVC")
endif()
#INCLUDE (CheckIncludeFiles)
#if (${CMAKE_SYSTEM_NAME} MATCHES "WindowsStore" OR ${CMAKE_SYSTEM_NAME} MATCHES "WindowsPhone")
# set(WINRT TRUE)
set(HAVE_WINRT FALSE)
# search Windows Platform SDK
message(STATUS "Checking for Windows Platform SDK")
GET_FILENAME_COMPONENT(WINDOWS_SDK_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v8.0;InstallationFolder]" ABSOLUTE CACHE)
if(WINDOWS_SDK_PATH STREQUAL "")
set(HAVE_MSPDK FALSE)
message(STATUS "Windows Platform SDK 8.0 was not found")
else()
set(HAVE_MSPDK TRUE)
if (WINRT)
add_definitions(/DWINVER=_WIN32_WINNT_WIN8 /DNTDDI_VERSION=NTDDI_WIN8 /D_WIN32_WINNT=_WIN32_WINNT_WIN8)
endif()
#search for Visual Studio 11.0 install directory
message(STATUS "Checking for Visual Studio 2012")
GET_FILENAME_COMPONENT(VISUAL_STUDIO_PATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0\\Setup\\VS;ProductDir] REALPATH CACHE)
if(VISUAL_STUDIO_PATH STREQUAL "")
set(HAVE_MSVC2012 FALSE)
message(STATUS "Visual Studio 2012 was not found")
else()
set(HAVE_MSVC2012 TRUE)
endif()
# Removing LNK4075 warnings for debug WinRT builds
# "LNK4075: ignoring '/INCREMENTAL' due to '/OPT:ICF' specification"
# "LNK4075: ignoring '/INCREMENTAL' due to '/OPT:REF' specification"
if(MSVC AND WINRT)
# Optional verification checks since we don't know existing contents of variables below
string(REPLACE "/OPT:ICF " "/OPT:NOICF " CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
string(REPLACE "/OPT:REF " "/OPT:NOREF " CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
string(REPLACE "/INCREMENTAL:YES " "/INCREMENTAL:NO " CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
string(REPLACE "/INCREMENTAL " "/INCREMENTAL:NO " CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
try_compile(HAVE_WINRT_SDK
"${OpenCV_BINARY_DIR}"
"${OpenCV_SOURCE_DIR}/cmake/checks/winrttest.cpp")
string(REPLACE "/OPT:ICF " "/OPT:NOICF " CMAKE_MODULE_LINKER_FLAGS_DEBUG "${CMAKE_MODULE_LINKER_FLAGS_DEBUG}")
string(REPLACE "/OPT:REF " "/OPT:NORE F" CMAKE_MODULE_LINKER_FLAGS_DEBUG "${CMAKE_MODULE_LINKER_FLAGS_DEBUG}")
string(REPLACE "/INCREMENTAL:YES " "/INCREMENTAL:NO " CMAKE_MODULE_LINKER_FLAGS_DEBUG "${CMAKE_MODULE_LINKER_FLAGS_DEBUG}")
string(REPLACE "/INCREMENTAL " "/INCREMENTAL:NO " CMAKE_MODULE_LINKER_FLAGS_DEBUG "${CMAKE_MODULE_LINKER_FLAGS_DEBUG}")
if(ENABLE_WINRT_MODE AND HAVE_WINRT_SDK AND HAVE_MSVC2012 AND HAVE_MSPDK)
set(HAVE_WINRT TRUE)
set(HAVE_WINRT_CX TRUE)
elseif(ENABLE_WINRT_MODE_NATIVE AND HAVE_WINRT_SDK AND HAVE_MSVC2012 AND HAVE_MSPDK)
set(HAVE_WINRT TRUE)
set(HAVE_WINRT_CX FALSE)
endif()
string(REPLACE "/OPT:ICF " "/OPT:NOICF " CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")
string(REPLACE "/OPT:REF " "/OPT:NOREF " CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")
string(REPLACE "/INCREMENTAL:YES " "/INCREMENTAL:NO " CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")
string(REPLACE "/INCREMENTAL " "/INCREMENTAL:NO " CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")
if(HAVE_WINRT)
add_definitions(/DWINVER=0x0602 /DNTDDI_VERSION=NTDDI_WIN8 /D_WIN32_WINNT=0x0602)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /appcontainer")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /appcontainer")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /appcontainer")
# Mandatory
set(CMAKE_MODULE_LINKER_FLAGS_DEBUG "${CMAKE_MODULE_LINKER_FLAGS_DEBUG} /INCREMENTAL:NO /OPT:NOREF /OPT:NOICF")
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /INCREMENTAL:NO /OPT:NOREF /OPT:NOICF")
set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} /INCREMENTAL:NO /OPT:NOREF /OPT:NOICF")
endif()
if(NOT BUILD_SHARED_LIBS AND BUILD_WITH_STATIC_CRT)
@@ -77,7 +67,7 @@ else()
endforeach(flag_var)
endif()
if(NOT ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.8 AND NOT ${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} LESS 8.6)
if(CMAKE_VERSION VERSION_GREATER "2.8.6")
include(ProcessorCount)
ProcessorCount(N)
if(NOT N EQUAL 0)
+45 -9
View File
@@ -98,6 +98,10 @@ if(CMAKE_COMPILER_IS_GNUCXX)
add_extra_compiler_option(-pthread)
endif()
if(CMAKE_COMPILER_IS_CLANGCXX)
add_extra_compiler_option(-Qunused-arguments)
endif()
if(OPENCV_WARNINGS_ARE_ERRORS)
add_extra_compiler_option(-Werror)
endif()
@@ -106,6 +110,10 @@ if(CMAKE_COMPILER_IS_GNUCXX)
add_extra_compiler_option(-march=i686)
endif()
if(APPLE)
add_extra_compiler_option(-Wno-semicolon-before-method-body)
endif()
# Other optimizations
if(ENABLE_OMIT_FRAME_POINTER)
add_extra_compiler_option(-fomit-frame-pointer)
@@ -123,11 +131,13 @@ if(CMAKE_COMPILER_IS_GNUCXX)
endif()
if(ENABLE_SSE2)
add_extra_compiler_option(-msse2)
elseif(X86 OR X86_64)
add_extra_compiler_option(-mno-sse2)
endif()
if (ENABLE_NEON)
if(ENABLE_NEON)
add_extra_compiler_option("-mfpu=neon")
endif()
if (ENABLE_VFPV3 AND NOT ENABLE_NEON)
if(ENABLE_VFPV3 AND NOT ENABLE_NEON)
add_extra_compiler_option("-mfpu=vfpv3")
endif()
@@ -135,24 +145,45 @@ if(CMAKE_COMPILER_IS_GNUCXX)
if(NOT MINGW)
if(ENABLE_AVX)
add_extra_compiler_option(-mavx)
elseif(X86 OR X86_64)
add_extra_compiler_option(-mno-avx)
endif()
if(ENABLE_AVX2)
add_extra_compiler_option(-mavx2)
if(ENABLE_FMA3)
add_extra_compiler_option(-mfma)
endif()
endif()
# GCC depresses SSEx instructions when -mavx is used. Instead, it generates new AVX instructions or AVX equivalence for all SSEx instructions when needed.
if(NOT OPENCV_EXTRA_CXX_FLAGS MATCHES "-mavx")
if(ENABLE_SSE3)
add_extra_compiler_option(-msse3)
elseif(X86 OR X86_64)
add_extra_compiler_option(-mno-sse3)
endif()
if(ENABLE_SSSE3)
add_extra_compiler_option(-mssse3)
elseif(X86 OR X86_64)
add_extra_compiler_option(-mno-ssse3)
endif()
if(ENABLE_SSE41)
add_extra_compiler_option(-msse4.1)
elseif(X86 OR X86_64)
add_extra_compiler_option(-mno-sse4.1)
endif()
if(ENABLE_SSE42)
add_extra_compiler_option(-msse4.2)
elseif(X86 OR X86_64)
add_extra_compiler_option(-mno-sse4.2)
endif()
if(ENABLE_POPCNT)
add_extra_compiler_option(-mpopcnt)
endif()
endif()
endif(NOT MINGW)
@@ -167,10 +198,6 @@ if(CMAKE_COMPILER_IS_GNUCXX)
endif()
endif()
if(ENABLE_NEON)
add_extra_compiler_option(-mfpu=neon)
endif()
# Profiling?
if(ENABLE_PROFILING)
add_extra_compiler_option("-pg -g")
@@ -214,7 +241,10 @@ if(MSVC)
set(OPENCV_EXTRA_FLAGS_RELEASE "${OPENCV_EXTRA_FLAGS_RELEASE} /Zi")
endif()
if(ENABLE_AVX AND NOT MSVC_VERSION LESS 1600)
if(ENABLE_AVX2 AND NOT MSVC_VERSION LESS 1800)
set(OPENCV_EXTRA_FLAGS "${OPENCV_EXTRA_FLAGS} /arch:AVX2")
endif()
if(ENABLE_AVX AND NOT MSVC_VERSION LESS 1600 AND NOT OPENCV_EXTRA_FLAGS MATCHES "/arch:")
set(OPENCV_EXTRA_FLAGS "${OPENCV_EXTRA_FLAGS} /arch:AVX")
endif()
@@ -236,7 +266,7 @@ if(MSVC)
endif()
endif()
if(ENABLE_SSE OR ENABLE_SSE2 OR ENABLE_SSE3 OR ENABLE_SSE4_1 OR ENABLE_AVX)
if(ENABLE_SSE OR ENABLE_SSE2 OR ENABLE_SSE3 OR ENABLE_SSE4_1 OR ENABLE_AVX OR ENABLE_AVX2)
set(OPENCV_EXTRA_FLAGS "${OPENCV_EXTRA_FLAGS} /Oi")
endif()
@@ -251,6 +281,11 @@ if(MSVC)
endif()
endif()
if(MSVC12 AND NOT CMAKE_GENERATOR MATCHES "Visual Studio")
set(OPENCV_EXTRA_C_FLAGS "${OPENCV_EXTRA_C_FLAGS} /FS")
set(OPENCV_EXTRA_CXX_FLAGS "${OPENCV_EXTRA_CXX_FLAGS} /FS")
endif()
# Extra link libs if the user selects building static libs:
if(NOT BUILD_SHARED_LIBS AND CMAKE_COMPILER_IS_GNUCXX AND NOT ANDROID)
# Android does not need these settings because they are already set by toolchain file
@@ -308,6 +343,7 @@ if(MSVC)
endforeach()
if(NOT ENABLE_NOISY_WARNINGS)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251") #class 'std::XXX' needs to have dll-interface to be used by clients of YYY
ocv_warnings_disable(CMAKE_CXX_FLAGS /wd4251) # class 'std::XXX' needs to have dll-interface to be used by clients of YYY
ocv_warnings_disable(CMAKE_CXX_FLAGS /wd4324) # 'struct_name' : structure was padded due to __declspec(align())
endif()
endif()
+11 -6
View File
@@ -16,7 +16,7 @@
# If the module is found then OPENCV_<MODULE>_FOUND is set to TRUE.
#
# This file will define the following variables:
# - OpenCV_LIBS : The list of libraries to links against.
# - OpenCV_LIBS : The list of libraries to link against.
# - OpenCV_LIB_DIR : The directory(es) where lib files are. Calling LINK_DIRECTORIES
# with this path is NOT needed.
# - OpenCV_INCLUDE_DIRS : The OpenCV include directories.
@@ -47,7 +47,7 @@ endif()
if(NOT DEFINED OpenCV_STATIC)
# look for global setting
if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS)
if(BUILD_SHARED_LIBS)
set(OpenCV_STATIC OFF)
else()
set(OpenCV_STATIC ON)
@@ -65,6 +65,9 @@ if(MSVC)
if(CMAKE_CL_64)
set(OpenCV_ARCH x64)
set(OpenCV_TBB_ARCH intel64)
elseif((CMAKE_GENERATOR MATCHES "ARM") OR ("${arch_hint}" STREQUAL "ARM") OR (CMAKE_VS_EFFECTIVE_PLATFORMS MATCHES "ARM|arm"))
# see Modules/CmakeGenericSystem.cmake
set(OpenCV_ARCH ARM)
else()
set(OpenCV_ARCH x86)
set(OpenCV_TBB_ARCH ia32)
@@ -79,6 +82,8 @@ if(MSVC)
set(OpenCV_RUNTIME vc11)
elseif(MSVC_VERSION EQUAL 1800)
set(OpenCV_RUNTIME vc12)
elseif(MSVC_VERSION EQUAL 1900)
set(OpenCV_RUNTIME vc14)
endif()
elseif(MINGW)
set(OpenCV_RUNTIME mingw)
@@ -86,7 +91,7 @@ elseif(MINGW)
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine
OUTPUT_VARIABLE OPENCV_GCC_TARGET_MACHINE
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(CMAKE_OPENCV_GCC_TARGET_MACHINE MATCHES "64")
if(OPENCV_GCC_TARGET_MACHINE MATCHES "amd64|x86_64|AMD64")
set(MINGW64 1)
set(OpenCV_ARCH x64)
else()
@@ -124,8 +129,8 @@ endif()
if(OpenCV_LIB_PATH AND EXISTS "${OpenCV_LIB_PATH}/OpenCVConfig.cmake")
set(OpenCV_LIB_DIR_OPT "${OpenCV_LIB_PATH}" CACHE PATH "Path where release OpenCV libraries are located" FORCE)
set(OpenCV_LIB_DIR_DBG "${OpenCV_LIB_PATH}" CACHE PATH "Path where debug OpenCV libraries are located" FORCE)
set(OpenCV_3RDPARTY_LIB_DIR_OPT "${OpenCV_LIB_PATH}" CACHE PATH "Path where release 3rdpaty OpenCV dependencies are located" FORCE)
set(OpenCV_3RDPARTY_LIB_DIR_DBG "${OpenCV_LIB_PATH}" CACHE PATH "Path where debug 3rdpaty OpenCV dependencies are located" FORCE)
set(OpenCV_3RDPARTY_LIB_DIR_OPT "${OpenCV_LIB_PATH}" CACHE PATH "Path where release 3rdparty OpenCV dependencies are located" FORCE)
set(OpenCV_3RDPARTY_LIB_DIR_DBG "${OpenCV_LIB_PATH}" CACHE PATH "Path where debug 3rdparty OpenCV dependencies are located" FORCE)
include("${OpenCV_LIB_PATH}/OpenCVConfig.cmake")
@@ -159,7 +164,7 @@ if(OpenCV_LIB_PATH AND EXISTS "${OpenCV_LIB_PATH}/OpenCVConfig.cmake")
else()
if(NOT OpenCV_FIND_QUIETLY)
message(WARNING
"Found OpenCV Windows Pack but it has not binaries compatible with your configuration.
"Found OpenCV Windows Pack but it has no binaries compatible with your configuration.
You should manually point CMake variable OpenCV_DIR to your build of OpenCV library."
)
endif()
+6 -3
View File
@@ -180,7 +180,7 @@ unset(__android_project_chain CACHE)
# add_android_project(target_name ${path} NATIVE_DEPS opencv_core LIBRARY_DEPS ${OpenCV_BINARY_DIR} SDK_TARGET 11)
macro(add_android_project target path)
# parse arguments
set(android_proj_arglist NATIVE_DEPS LIBRARY_DEPS SDK_TARGET IGNORE_JAVA IGNORE_MANIFEST)
set(android_proj_arglist NATIVE_DEPS LIBRARY_DEPS SDK_TARGET IGNORE_JAVA IGNORE_MANIFEST COPY_LIBS)
set(__varname "android_proj_")
foreach(v ${android_proj_arglist})
set(${__varname}${v} "")
@@ -334,14 +334,17 @@ macro(add_android_project target path)
add_dependencies(${target} ${android_proj_native_deps})
endif()
if(ANDROID_EXAMPLES_WITH_LIBS)
if (android_proj_COPY_LIBS OR ANDROID_EXAMPLES_WITH_LIBS)
message(STATUS "Android project with libs: " ${target})
add_custom_target(
${target}_copy_libs
COMMAND ${CMAKE_COMMAND} -DSRC_DIR=${OpenCV_BINARY_DIR}/lib -DDST_DIR=${android_proj_bin_dir}/libs -P ${OpenCV_SOURCE_DIR}/cmake/copyAndroidLibs.cmake
WORKING_DIRECTORY ${OpenCV_BINARY_DIR}/lib
DEPENDS "${OpenCV_BINARY_DIR}/bin/classes.jar.dephelper" opencv_java
)
add_dependencies(${target} ${target}_copy_libs)
if (ANDROID_EXAMPLES_WITH_LIBS)
add_dependencies(${target}_copy_libs "${OpenCV_BINARY_DIR}/bin/classes.jar.dephelper" opencv_java)
endif()
endif()
if(__android_project_chain)
+13 -16
View File
@@ -10,19 +10,10 @@ endif()
set(CMAKE_MODULE_PATH "${OpenCV_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
foreach(var INCLUDE LIBRARY PROGRAM)
set(__old_frpm_${var} "${CMAKE_FIND_ROOT_PATH_MODE_${var}}")
endforeach()
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER)
find_package(CUDA "${MIN_VER_CUDA}" QUIET)
foreach(var INCLUDE LIBRARY PROGRAM)
set(CMAKE_FIND_ROOT_PATH_MODE_${var} "${__old_frpm_${var}}")
endforeach()
if(ANDROID)
set(CUDA_TARGET_OS_VARIANT "Android")
endif()
find_host_package(CUDA "${MIN_VER_CUDA}" QUIET)
list(REMOVE_AT CMAKE_MODULE_PATH 0)
@@ -89,11 +80,18 @@ if(CUDA_FOUND)
if(NOT DEFINED __cuda_arch_bin)
if(ANDROID)
set(__cuda_arch_bin "3.2")
set(__cuda_arch_ptx "")
if(ARM)
set(__cuda_arch_bin "3.2")
set(__cuda_arch_ptx "")
elseif(AARCH64)
set(__cuda_arch_bin "5.3")
set(__cuda_arch_ptx "")
endif()
else()
if(${CUDA_VERSION} VERSION_LESS "5.0")
set(__cuda_arch_bin "1.1 1.2 1.3 2.0 2.1(2.0) 3.0")
elseif(${CUDA_VERSION} VERSION_GREATER "6.5")
set(__cuda_arch_bin "2.0 2.1(2.0) 3.0 3.5")
else()
set(__cuda_arch_bin "1.1 1.2 1.3 2.0 2.1(2.0) 3.0 3.5")
endif()
@@ -152,7 +150,6 @@ if(CUDA_FOUND)
if(ANDROID)
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-Xptxas;-dlcm=ca")
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-target-os-variant=Android")
endif()
message(STATUS "CUDA NVCC target flags: ${CUDA_NVCC_FLAGS}")
+12 -9
View File
@@ -91,9 +91,9 @@ elseif(CMAKE_COMPILER_IS_GNUCXX)
if(WIN32)
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine
OUTPUT_VARIABLE CMAKE_OPENCV_GCC_TARGET_MACHINE
OUTPUT_VARIABLE OPENCV_GCC_TARGET_MACHINE
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(CMAKE_OPENCV_GCC_TARGET_MACHINE MATCHES "amd64|x86_64|AMD64")
if(OPENCV_GCC_TARGET_MACHINE MATCHES "amd64|x86_64|AMD64")
set(MINGW64 1)
endif()
endif()
@@ -107,12 +107,14 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*")
set(X86_64 1)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*")
set(X86 1)
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "arm.*|ARM.*")
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(arm.*|ARM.*)")
set(ARM 1)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*)")
set(AARCH64 1)
endif()
# Similar code is existed in OpenCVConfig.cmake
# Similar code exists in OpenCVConfig.cmake
if(NOT DEFINED OpenCV_STATIC)
# look for global setting
if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS)
@@ -125,6 +127,9 @@ endif()
if(MSVC)
if(CMAKE_CL_64)
set(OpenCV_ARCH x64)
elseif((CMAKE_GENERATOR MATCHES "ARM") OR ("${arch_hint}" STREQUAL "ARM") OR (CMAKE_VS_EFFECTIVE_PLATFORMS MATCHES "ARM|arm"))
# see Modules/CmakeGenericSystem.cmake
set(OpenCV_ARCH ARM)
else()
set(OpenCV_ARCH x86)
endif()
@@ -138,15 +143,13 @@ if(MSVC)
set(OpenCV_RUNTIME vc11)
elseif(MSVC_VERSION EQUAL 1800)
set(OpenCV_RUNTIME vc12)
elseif(MSVC_VERSION EQUAL 1900)
set(OpenCV_RUNTIME vc14)
endif()
elseif(MINGW)
set(OpenCV_RUNTIME mingw)
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine
OUTPUT_VARIABLE OPENCV_GCC_TARGET_MACHINE
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(CMAKE_OPENCV_GCC_TARGET_MACHINE MATCHES "64")
set(MINGW64 1)
if(MINGW64)
set(OpenCV_ARCH x64)
else()
set(OpenCV_ARCH x86)
+12 -1
View File
@@ -10,6 +10,11 @@ else(APPLE)
set(OPENCL_INCLUDE_DIR "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/1.2")
endif(APPLE)
if(WINRT)
set(OPENCL_FOUND NO)
set(HAVE_OPENCL_STATIC OFF)
endif(WINRT)
if(OPENCL_FOUND)
if(NOT HAVE_OPENCL_STATIC)
try_compile(__VALID_OPENCL
@@ -24,7 +29,13 @@ if(OPENCL_FOUND)
endif()
endif()
set(HAVE_OPENCL 1)
if(NOT WINRT)
set(HAVE_OPENCL 1)
endif()
if(WITH_OPENCL_SVM)
set(HAVE_OPENCL_SVM 1)
endif()
if(HAVE_OPENCL_STATIC)
set(OPENCL_LIBRARIES "${OPENCL_LIBRARY}")
+10 -23
View File
@@ -37,7 +37,7 @@ function(find_python preferred_version min_version library_env include_dir_env
# standard FindPythonInterp always prefers executable from system path
# this is really important because we are using the interpreter for numpy search and for choosing the install location
foreach(_CURRENT_VERSION ${Python_ADDITIONAL_VERSIONS} "${preferred_version}" "${min_version}")
find_host_program(executable
find_host_program(PYTHON_EXECUTABLE
NAMES python${_CURRENT_VERSION} python
PATHS
[HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\${_CURRENT_VERSION}\\\\InstallPath]
@@ -75,15 +75,20 @@ function(find_python preferred_version min_version library_env include_dir_env
if(NOT ANDROID AND NOT IOS)
ocv_check_environment_variables(${library_env} ${include_dir_env})
if(${library})
if(NOT ${${library_env}} EQUAL "")
set(PYTHON_LIBRARY "${${library_env}}")
endif()
if(${include_dir})
if(NOT ${${include_dir_env}} EQUAL "")
set(PYTHON_INCLUDE_DIR "${${include_dir_env}}")
endif()
# not using _version_string here, because it might not conform to the CMake version format
find_host_package(PythonLibs "${_version_major_minor}.${_version_patch}" EXACT)
if(CMAKE_CROSSCOMPILING)
# builder version can differ from target, matching base version (e.g. 2.7)
find_host_package(PythonLibs "${_version_major_minor}")
else()
find_host_package(PythonLibs "${_version_major_minor}.${_version_patch}" EXACT)
endif()
if(PYTHONLIBS_FOUND)
# Copy outputs
@@ -228,25 +233,7 @@ find_python(3.4 "${MIN_VER_PYTHON3}" PYTHON3_LIBRARY PYTHON3_INCLUDE_DIR
PYTHON3_NUMPY_INCLUDE_DIRS PYTHON3_NUMPY_VERSION)
# Use Python 2 as default Python interpreter
if(PYTHON2LIBS_FOUND)
if(PYTHON2INTERP_FOUND)
set(PYTHON_DEFAULT_AVAILABLE "TRUE")
set(PYTHON_DEFAULT_EXECUTABLE "${PYTHON2_EXECUTABLE}")
endif()
unset(HAVE_SPHINX CACHE)
if(BUILD_DOCS)
find_host_program(SPHINX_BUILD sphinx-build)
find_host_program(PLANTUML plantuml)
if(SPHINX_BUILD)
execute_process(COMMAND "${SPHINX_BUILD}"
OUTPUT_QUIET
ERROR_VARIABLE SPHINX_OUTPUT
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(SPHINX_OUTPUT MATCHES "Sphinx v([0-9][^ \n]*)")
set(SPHINX_VERSION "${CMAKE_MATCH_1}")
set(HAVE_SPHINX 1)
message(STATUS "Found Sphinx ${SPHINX_VERSION}: ${SPHINX_BUILD}")
endif()
endif()
endif(BUILD_DOCS)
+41 -18
View File
@@ -34,8 +34,10 @@ unset(IPP_VERSION_MAJOR)
unset(IPP_VERSION_MINOR)
unset(IPP_VERSION_BUILD)
set(IPP_LIB_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX})
set(IPP_LIB_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX})
if (X86 AND UNIX AND NOT APPLE AND NOT ANDROID AND BUILD_SHARED_LIBS)
message(STATUS "On 32-bit Linux IPP can not currently be used with dynamic libs because of linker errors. Set BUILD_SHARED_LIBS=OFF")
return()
endif()
set(IPP_X64 0)
if(CMAKE_CXX_SIZEOF_DATA_PTR EQUAL 8)
@@ -125,19 +127,32 @@ macro(ipp_detect_version)
endif()
macro(_ipp_add_library name)
# dynamic linking is only supported for standalone version of IPP
if (BUILD_WITH_DYNAMIC_IPP AND NOT HAVE_IPP_ICV_ONLY)
set(IPP_LIB_PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX})
set(IPP_LIB_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX})
else ()
set(IPP_LIB_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX})
set(IPP_LIB_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX})
endif ()
if (EXISTS ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX})
add_library(ipp${name} STATIC IMPORTED)
set_target_properties(ipp${name} PROPERTIES
IMPORTED_LINK_INTERFACE_LIBRARIES ""
IMPORTED_LOCATION ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}
)
list(APPEND IPP_LIBRARIES ipp${name})
# CMake doesn't support "install(TARGETS ipp${name} " command with imported targets
install(FILES ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}
DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT main)
string(TOUPPER ${name} uname)
set(IPP${uname}_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/${OPENCV_3P_LIB_INSTALL_PATH}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}" CACHE INTERNAL "" FORCE)
set(IPP${uname}_LOCATION_PATH "${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}" CACHE INTERNAL "" FORCE)
if (BUILD_WITH_DYNAMIC_IPP AND NOT HAVE_IPP_ICV_ONLY)
# When using dynamic libraries from standalone IPP it is your responsibility to install those on the target system
list(APPEND IPP_LIBRARIES ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX})
else ()
add_library(ipp${name} STATIC IMPORTED)
set_target_properties(ipp${name} PROPERTIES
IMPORTED_LINK_INTERFACE_LIBRARIES ""
IMPORTED_LOCATION ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}
)
list(APPEND IPP_LIBRARIES ipp${name})
# CMake doesn't support "install(TARGETS ${IPP_PREFIX}${name} " command with imported targets
install(FILES ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}
DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev)
string(TOUPPER ${name} uname)
set(IPP${uname}_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/${OPENCV_3P_LIB_INSTALL_PATH}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}" CACHE INTERNAL "" FORCE)
set(IPP${uname}_LOCATION_PATH "${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}" CACHE INTERNAL "" FORCE)
endif()
else()
message(STATUS "Can't find IPP library: ${name} at ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}")
endif()
@@ -145,10 +160,18 @@ macro(ipp_detect_version)
set(IPP_PREFIX "ipp")
if(${IPP_VERSION_STR} VERSION_LESS "8.0")
set(IPP_SUFFIX "_l") # static not threaded libs suffix IPP 7.x
else()
if (BUILD_WITH_DYNAMIC_IPP AND NOT HAVE_IPP_ICV_ONLY)
set(IPP_SUFFIX "") # dynamic not threaded libs suffix IPP 7.x
else ()
set(IPP_SUFFIX "_l") # static not threaded libs suffix IPP 7.x
endif ()
else ()
if(WIN32)
set(IPP_SUFFIX "mt") # static not threaded libs suffix IPP 8.x for Windows
if (BUILD_WITH_DYNAMIC_IPP AND NOT HAVE_IPP_ICV_ONLY)
set(IPP_SUFFIX "") # dynamic not threaded libs suffix IPP 8.x for Windows
else ()
set(IPP_SUFFIX "mt") # static not threaded libs suffix IPP 8.x for Windows
endif ()
else()
set(IPP_SUFFIX "") # static not threaded libs suffix IPP 8.x for Linux/OS X
endif()
@@ -191,7 +214,7 @@ macro(ipp_detect_version)
if (EXISTS ${INTEL_COMPILER_LIBRARY_DIR}/${IPP_LIB_PREFIX}${name}${CMAKE_SHARED_LIBRARY_SUFFIX})
list(APPEND IPP_LIBRARIES ${INTEL_COMPILER_LIBRARY_DIR}/${IPP_LIB_PREFIX}${name}${CMAKE_SHARED_LIBRARY_SUFFIX})
else()
message(STATUS "Can't find compiler library: ${name}")
message(STATUS "Can't find compiler library: ${name} at ${INTEL_COMPILER_LIBRARY_DIR}/${IPP_LIB_PREFIX}${name}${CMAKE_SHARED_LIBRARY_SUFFIX}")
endif()
endmacro()
+1
View File
@@ -208,5 +208,6 @@ if(WITH_GDAL)
set(HAVE_GDAL NO)
else()
set(HAVE_GDAL YES)
ocv_include_directories(${GDAL_INCLUDE_DIR})
endif()
endif()
+23 -13
View File
@@ -93,8 +93,25 @@ else()
set(HAVE_CSTRIPES 0)
endif()
# --- GCD ---
if(APPLE AND NOT HAVE_TBB AND NOT HAVE_CSTRIPES)
set(HAVE_GCD 1)
else()
set(HAVE_GCD 0)
endif()
# --- Concurrency ---
if(MSVC AND NOT HAVE_TBB AND NOT HAVE_CSTRIPES)
set(_fname "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/concurrencytest.cpp")
file(WRITE "${_fname}" "#if _MSC_VER < 1600\n#error\n#endif\nint main() { return 0; }\n")
try_compile(HAVE_CONCURRENCY "${CMAKE_BINARY_DIR}" "${_fname}")
file(REMOVE "${_fname}")
else()
set(HAVE_CONCURRENCY 0)
endif()
# --- OpenMP ---
if(WITH_OPENMP AND NOT HAVE_TBB AND NOT HAVE_CSTRIPES)
if(WITH_OPENMP)
find_package(OpenMP)
if(OPENMP_FOUND)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
@@ -103,19 +120,12 @@ if(WITH_OPENMP AND NOT HAVE_TBB AND NOT HAVE_CSTRIPES)
set(HAVE_OPENMP "${OPENMP_FOUND}")
endif()
# --- GCD ---
if(APPLE AND NOT HAVE_TBB AND NOT HAVE_CSTRIPES AND NOT HAVE_OPENMP)
set(HAVE_GCD 1)
if(UNIX OR ANDROID)
if(NOT APPLE AND NOT HAVE_TBB AND NOT HAVE_OPENMP)
set(HAVE_PTHREADS_PF 1)
else()
set(HAVE_GCD 0)
set(HAVE_PTHREADS_PF 0)
endif()
# --- Concurrency ---
if(MSVC AND NOT HAVE_TBB AND NOT HAVE_CSTRIPES AND NOT HAVE_OPENMP)
set(_fname "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/concurrencytest.cpp")
file(WRITE "${_fname}" "#if _MSC_VER < 1600\n#error\n#endif\nint main() { return 0; }\n")
try_compile(HAVE_CONCURRENCY "${CMAKE_BINARY_DIR}" "${_fname}")
file(REMOVE "${_fname}")
else()
set(HAVE_CONCURRENCY 0)
set(HAVE_PTHREADS_PF 0)
endif()
+65 -36
View File
@@ -32,7 +32,7 @@ if(WITH_GSTREAMER AND NOT WITH_GSTREAMER_0_10)
endif(WITH_GSTREAMER AND NOT WITH_GSTREAMER_0_10)
# if gstreamer 1.x was not found, or we specified we wanted 0.10, try to find it
if(WITH_GSTREAMER_0_10 OR NOT HAVE_GSTREAMER)
if(WITH_GSTREAMER AND NOT HAVE_GSTREAMER OR WITH_GSTREAMER_0_10)
CHECK_MODULE(gstreamer-base-0.10 HAVE_GSTREAMER_BASE)
CHECK_MODULE(gstreamer-video-0.10 HAVE_GSTREAMER_VIDEO)
CHECK_MODULE(gstreamer-app-0.10 HAVE_GSTREAMER_APP)
@@ -47,7 +47,7 @@ if(WITH_GSTREAMER_0_10 OR NOT HAVE_GSTREAMER)
set(GSTREAMER_RIFF_VERSION ${ALIASOF_gstreamer-riff-0.10_VERSION})
set(GSTREAMER_PBUTILS_VERSION ${ALIASOF_gstreamer-pbutils-0.10_VERSION})
endif()
endif(WITH_GSTREAMER_0_10 OR NOT HAVE_GSTREAMER)
endif(WITH_GSTREAMER AND NOT HAVE_GSTREAMER OR WITH_GSTREAMER_0_10)
# --- unicap ---
ocv_clear_vars(HAVE_UNICAP)
@@ -153,7 +153,13 @@ endif(WITH_XINE)
ocv_clear_vars(HAVE_LIBV4L HAVE_CAMV4L HAVE_CAMV4L2 HAVE_VIDEOIO)
if(WITH_V4L)
if(WITH_LIBV4L)
CHECK_MODULE(libv4l1 HAVE_LIBV4L)
CHECK_MODULE(libv4l1 HAVE_LIBV4L1)
CHECK_MODULE(libv4l2 HAVE_LIBV4L2)
if(HAVE_LIBV4L1 AND HAVE_LIBV4L2)
set(HAVE_LIBV4L YES)
else()
set(HAVE_LIBV4L NO)
endif()
endif()
CHECK_INCLUDE_FILE(linux/videodev.h HAVE_CAMV4L)
CHECK_INCLUDE_FILE(linux/videodev2.h HAVE_CAMV4L2)
@@ -181,7 +187,7 @@ if(WITH_XIMEA)
endif(WITH_XIMEA)
# --- FFMPEG ---
ocv_clear_vars(HAVE_FFMPEG HAVE_FFMPEG_CODEC HAVE_FFMPEG_FORMAT HAVE_FFMPEG_UTIL HAVE_FFMPEG_SWSCALE HAVE_GENTOO_FFMPEG HAVE_FFMPEG_FFMPEG)
ocv_clear_vars(HAVE_FFMPEG HAVE_FFMPEG_CODEC HAVE_FFMPEG_FORMAT HAVE_FFMPEG_UTIL HAVE_FFMPEG_SWSCALE HAVE_FFMPEG_RESAMPLE HAVE_GENTOO_FFMPEG HAVE_FFMPEG_FFMPEG)
if(WITH_FFMPEG)
if(WIN32 AND NOT ARM)
include("${OpenCV_SOURCE_DIR}/3rdparty/ffmpeg/ffmpeg_version.cmake")
@@ -190,6 +196,7 @@ if(WITH_FFMPEG)
CHECK_MODULE(libavformat HAVE_FFMPEG_FORMAT)
CHECK_MODULE(libavutil HAVE_FFMPEG_UTIL)
CHECK_MODULE(libswscale HAVE_FFMPEG_SWSCALE)
CHECK_MODULE(libavresample HAVE_FFMPEG_RESAMPLE)
CHECK_INCLUDE_FILE(libavformat/avformat.h HAVE_GENTOO_FFMPEG)
CHECK_INCLUDE_FILE(ffmpeg/avformat.h HAVE_FFMPEG_FFMPEG)
@@ -209,42 +216,55 @@ if(WITH_FFMPEG)
# Do an other trial
FIND_FILE(BZIP2_LIBRARIES NAMES libbz2.so.1 PATHS /lib)
endif()
endif(HAVE_FFMPEG)
endif()
if(APPLE)
find_path(FFMPEG_INCLUDE_DIR "libavformat/avformat.h"
PATHS /usr/local /usr /opt
PATH_SUFFIXES include
DOC "The path to FFMPEG headers")
if(FFMPEG_INCLUDE_DIR)
set(HAVE_GENTOO_FFMPEG TRUE)
set(FFMPEG_LIB_DIR "${FFMPEG_INCLUDE_DIR}/../lib" CACHE PATH "Full path of FFMPEG library directory")
if(EXISTS "${FFMPEG_LIB_DIR}/libavcodec.a")
set(HAVE_FFMPEG_CODEC 1)
set(ALIASOF_libavcodec_VERSION "Unknown")
if(EXISTS "${FFMPEG_LIB_DIR}/libavformat.a")
else()
find_path(FFMPEG_INCLUDE_DIR "libavformat/avformat.h"
PATHS /usr/local /usr /opt
PATH_SUFFIXES include
DOC "The path to FFMPEG headers")
if(FFMPEG_INCLUDE_DIR)
set(HAVE_GENTOO_FFMPEG TRUE)
set(FFMPEG_LIB_DIR "${FFMPEG_INCLUDE_DIR}/../lib" CACHE PATH "Full path of FFMPEG library directory")
find_library(FFMPEG_CODEC_LIB "avcodec" HINTS "${FFMPEG_LIB_DIR}")
find_library(FFMPEG_FORMAT_LIB "avformat" HINTS "${FFMPEG_LIB_DIR}")
find_library(FFMPEG_UTIL_LIB "avutil" HINTS "${FFMPEG_LIB_DIR}")
find_library(FFMPEG_SWSCALE_LIB "swscale" HINTS "${FFMPEG_LIB_DIR}")
find_library(FFMPEG_RESAMPLE_LIB "avresample" HINTS "${FFMPEG_LIB_DIR}")
if(FFMPEG_CODEC_LIB)
set(HAVE_FFMPEG_CODEC 1)
endif()
if(FFMPEG_FORMAT_LIB)
set(HAVE_FFMPEG_FORMAT 1)
endif()
if(FFMPEG_UTIL_LIB)
set(HAVE_FFMPEG_UTIL 1)
endif()
if(FFMPEG_SWSCALE_LIB)
set(HAVE_FFMPEG_SWSCALE 1)
endif()
if(FFMPEG_CODEC_LIB AND FFMPEG_FORMAT_LIB AND
FFMPEG_UTIL_LIB AND FFMPEG_SWSCALE_LIB)
set(ALIASOF_libavcodec_VERSION "Unknown")
set(ALIASOF_libavformat_VERSION "Unknown")
if(EXISTS "${FFMPEG_LIB_DIR}/libavutil.a")
set(HAVE_FFMPEG_UTIL 1)
set(ALIASOF_libavutil_VERSION "Unknown")
if(EXISTS "${FFMPEG_LIB_DIR}/libswscale.a")
set(HAVE_FFMPEG_SWSCALE 1)
set(ALIASOF_libswscale_VERSION "Unknown")
set(HAVE_FFMPEG 1)
endif()
set(ALIASOF_libavutil_VERSION "Unknown")
set(ALIASOF_libswscale_VERSION "Unknown")
set(HAVE_FFMPEG 1)
if(FFMPEG_RESAMPLE_LIB)
set(HAVE_FFMPEG_RESAMPLE 1)
set(ALIASOF_libavresample_VERSION "Unknown")
endif()
endif()
endif()
endif(FFMPEG_INCLUDE_DIR)
if(HAVE_FFMPEG)
set(VIDEOIO_LIBRARIES ${VIDEOIO_LIBRARIES} "${FFMPEG_LIB_DIR}/libavcodec.a"
"${FFMPEG_LIB_DIR}/libavformat.a" "${FFMPEG_LIB_DIR}/libavutil.a"
"${FFMPEG_LIB_DIR}/libswscale.a")
ocv_include_directories(${FFMPEG_INCLUDE_DIR})
endif(FFMPEG_INCLUDE_DIR)
if(HAVE_FFMPEG)
set(VIDEOIO_LIBRARIES ${VIDEOIO_LIBRARIES} "${FFMPEG_LIB_DIR}/libavcodec.a"
"${FFMPEG_LIB_DIR}/libavformat.a" "${FFMPEG_LIB_DIR}/libavutil.a"
"${FFMPEG_LIB_DIR}/libswscale.a")
if(HAVE_FFMPEG_RESAMPLE)
set(VIDEOIO_LIBRARIES ${VIDEOIO_LIBRARIES} "${FFMPEG_LIB_DIR}/libavresample.a")
endif()
ocv_include_directories(${FFMPEG_INCLUDE_DIR})
endif(HAVE_FFMPEG)
endif()
endif(APPLE)
endif()
endif(WITH_FFMPEG)
# --- VideoInput/DirectShow ---
@@ -254,6 +274,7 @@ if(WITH_DSHOW)
endif(WITH_DSHOW)
# --- VideoInput/Microsoft Media Foundation ---
ocv_clear_vars(HAVE_MSMF)
if(WITH_MSMF)
check_include_file(Mfapi.h HAVE_MSMF)
endif(WITH_MSMF)
@@ -261,7 +282,9 @@ endif(WITH_MSMF)
# --- Extra HighGUI and VideoIO libs on Windows ---
if(WIN32)
list(APPEND HIGHGUI_LIBRARIES comctl32 gdi32 ole32 setupapi ws2_32)
list(APPEND VIDEOIO_LIBRARIES vfw32)
if(HAVE_VFW)
list(APPEND VIDEOIO_LIBRARIES vfw32)
endif()
if(MINGW64)
list(APPEND VIDEOIO_LIBRARIES avifil32 avicap32 winmm msvfw32)
list(REMOVE_ITEM VIDEOIO_LIBRARIES vfw32)
@@ -288,3 +311,9 @@ endif()
if(WITH_INTELPERC)
include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindIntelPerCSDK.cmake")
endif(WITH_INTELPERC)
# --- gPhoto2 ---
ocv_clear_vars(HAVE_GPHOTO2)
if(WITH_GPHOTO2)
CHECK_MODULE(libgphoto2 HAVE_GPHOTO2)
endif(WITH_GPHOTO2)
+3 -3
View File
@@ -17,12 +17,12 @@ if(WIN32)
find_file(OPENNI2_INCLUDES "OpenNI.h" PATHS "$ENV{OPEN_NI_INSTALL_PATH}Include" DOC "OpenNI2 c++ interface header")
find_library(OPENNI2_LIBRARY "OpenNI2" PATHS $ENV{OPENNI2_LIB} DOC "OpenNI2 library")
else()
find_file(OPENNI2_INCLUDES "OpenNI.h" PATHS "$ENV{OPEN_NI_INSTALL_PATH64}Include" DOC "OpenNI2 c++ interface header")
find_file(OPENNI2_INCLUDES "OpenNI.h" PATHS $ENV{OPENNI2_INCLUDE64} "$ENV{OPEN_NI_INSTALL_PATH64}Include" DOC "OpenNI2 c++ interface header")
find_library(OPENNI2_LIBRARY "OpenNI2" PATHS $ENV{OPENNI2_LIB64} DOC "OpenNI2 library")
endif()
elseif(UNIX OR APPLE)
find_file(OPENNI2_INCLUDES "OpenNI.h" PATHS "/usr/include/ni2" "/usr/include/openni2" DOC "OpenNI2 c++ interface header")
find_library(OPENNI2_LIBRARY "OpenNI2" PATHS "/usr/lib" DOC "OpenNI2 library")
find_file(OPENNI2_INCLUDES "OpenNI.h" PATHS "/usr/include/ni2" "/usr/include/openni2" $ENV{OPENNI2_INCLUDE} DOC "OpenNI2 c++ interface header")
find_library(OPENNI2_LIBRARY "OpenNI2" PATHS "/usr/lib" $ENV{OPENNI2_REDIST} DOC "OpenNI2 library")
endif()
if(OPENNI2_LIBRARY AND OPENNI2_INCLUDES)
+6
View File
@@ -31,6 +31,12 @@ if(WIN32)
else()
set(XIMEA_FOUND 0)
endif()
elseif(APPLE)
if(EXISTS /Library/Frameworks/m3api.framework)
set(XIMEA_FOUND 1)
else()
set(XIMEA_FOUND 0)
endif()
else()
if(EXISTS /opt/XIMEA)
set(XIMEA_FOUND 1)
+49
View File
@@ -0,0 +1,49 @@
if (NOT GENERATE_ABI_DESCRIPTOR)
return()
endif()
set(filename "opencv_abi.xml")
set(path1 "${CMAKE_BINARY_DIR}/${filename}")
set(modules "${OPENCV_MODULES_PUBLIC}")
ocv_list_filterout(modules "opencv_ts")
message(STATUS "Generating ABI compliance checker configuration: ${filename}")
if (OPENCV_VCSVERSION AND NOT OPENCV_VCSVERSION STREQUAL "unknown")
set(OPENCV_ABI_VERSION "${OPENCV_VCSVERSION}")
else()
set(OPENCV_ABI_VERSION "${OPENCV_VERSION}")
endif()
# Headers
set(OPENCV_ABI_HEADERS "{RELPATH}/${OPENCV_INCLUDE_INSTALL_PATH}")
# Libraries
set(OPENCV_ABI_LIBRARIES "{RELPATH}/${OPENCV_LIB_INSTALL_PATH}")
set(OPENCV_ABI_SKIP_HEADERS "")
set(OPENCV_ABI_SKIP_LIBRARIES "")
foreach(mod ${OPENCV_MODULES_BUILD})
string(REGEX REPLACE "^opencv_" "" mod "${mod}")
if(NOT "${OPENCV_MODULE_opencv_${mod}_LOCATION}" STREQUAL "${OpenCV_SOURCE_DIR}/modules/${mod}")
# headers
foreach(h ${OPENCV_MODULE_opencv_${mod}_HEADERS})
file(RELATIVE_PATH h "${OPENCV_MODULE_opencv_${mod}_LOCATION}/include" "${h}")
list(APPEND OPENCV_ABI_SKIP_HEADERS "${h}")
endforeach()
# libraries
set(lib_name "")
get_target_property(lib_name opencv_${mod} LOCATION)
get_filename_component(lib_name "${lib_name}" NAME)
list(APPEND OPENCV_ABI_SKIP_LIBRARIES "${lib_name}")
endif()
endforeach()
string(REPLACE ";" "\n " OPENCV_ABI_SKIP_HEADERS "${OPENCV_ABI_SKIP_HEADERS}")
string(REPLACE ";" "\n " OPENCV_ABI_SKIP_LIBRARIES "${OPENCV_ABI_SKIP_LIBRARIES}")
# Options
set(OPENCV_ABI_GCC_OPTIONS "${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}")
string(REGEX REPLACE "([^ ]) +([^ ])" "\\1\\n \\2" OPENCV_ABI_GCC_OPTIONS "${OPENCV_ABI_GCC_OPTIONS}")
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/opencv_abi.xml.in" "${path1}")
+8 -48
View File
@@ -19,58 +19,18 @@ if(ANDROID)
set(OPENCV_STATIC_LIBTYPE_CONFIGMAKE ${OPENCV_LIBTYPE_CONFIGMAKE})
endif()
# setup lists of camera libs
foreach(abi ARMEABI ARMEABI_V7A X86 MIPS)
ANDROID_GET_ABI_RAWNAME(${abi} ndkabi)
if(BUILD_ANDROID_CAMERA_WRAPPER)
if(ndkabi STREQUAL ANDROID_NDK_ABI_NAME)
set(OPENCV_CAMERA_LIBS_${abi}_CONFIGCMAKE "native_camera_r${ANDROID_VERSION}")
else()
set(OPENCV_CAMERA_LIBS_${abi}_CONFIGCMAKE "")
endif()
elseif(HAVE_opencv_androidcamera)
set(OPENCV_CAMERA_LIBS_${abi}_CONFIGCMAKE "")
file(GLOB OPENCV_CAMERA_LIBS "${OpenCV_SOURCE_DIR}/3rdparty/lib/${ndkabi}/libnative_camera_r*.so")
if(OPENCV_CAMERA_LIBS)
list(SORT OPENCV_CAMERA_LIBS)
endif()
foreach(cam_lib ${OPENCV_CAMERA_LIBS})
get_filename_component(cam_lib "${cam_lib}" NAME)
string(REGEX REPLACE "lib(native_camera_r[0-9]+\\.[0-9]+\\.[0-9]+)\\.so" "\\1" cam_lib "${cam_lib}")
set(OPENCV_CAMERA_LIBS_${abi}_CONFIGCMAKE "${OPENCV_CAMERA_LIBS_${abi}_CONFIGCMAKE} ${cam_lib}")
endforeach()
endif()
endforeach()
# build the list of opencv libs and dependencies for all modules
set(OPENCV_MODULES_CONFIGMAKE "")
set(OPENCV_EXTRA_COMPONENTS_CONFIGMAKE "")
set(OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE "")
foreach(m ${OPENCV_MODULES_PUBLIC})
list(INSERT OPENCV_MODULES_CONFIGMAKE 0 ${${m}_MODULE_DEPS_${ocv_optkind}} ${m})
if(${m}_EXTRA_DEPS_${ocv_optkind})
list(INSERT OPENCV_EXTRA_COMPONENTS_CONFIGMAKE 0 ${${m}_EXTRA_DEPS_${ocv_optkind}})
endif()
endforeach()
ocv_get_all_libs(OPENCV_MODULES_CONFIGMAKE OPENCV_EXTRA_COMPONENTS_CONFIGMAKE OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE)
# split 3rdparty libs and modules
foreach(mod ${OPENCV_MODULES_CONFIGMAKE})
if(NOT mod MATCHES "^opencv_.+$")
list(INSERT OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE 0 ${mod})
endif()
endforeach()
if(OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE)
list(REMOVE_ITEM OPENCV_MODULES_CONFIGMAKE ${OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE})
endif()
# list -> string
string(REPLACE ";" " " OPENCV_MODULES_CONFIGMAKE "${OPENCV_MODULES_CONFIGMAKE}")
string(REPLACE ";" " " OPENCV_EXTRA_COMPONENTS_CONFIGMAKE "${OPENCV_EXTRA_COMPONENTS_CONFIGMAKE}")
string(REPLACE ";" " " OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE "${OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE}")
# convert CMake lists to makefile literals
foreach(lst OPENCV_MODULES_CONFIGMAKE OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE OPENCV_EXTRA_COMPONENTS_CONFIGMAKE)
ocv_list_unique(${lst})
ocv_list_reverse(${lst})
string(REPLACE ";" " " ${lst} "${${lst}}")
endforeach()
# replace 'opencv_<module>' -> '<module>''
string(REPLACE "opencv_" "" OPENCV_MODULES_CONFIGMAKE "${OPENCV_MODULES_CONFIGMAKE}")
# prepare 3rd-party component list without TBB for armeabi and mips platforms. TBB is useless there.
set(OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE_NO_TBB ${OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE})
foreach(mod ${OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE_NO_TBB})
@@ -78,7 +38,7 @@ if(ANDROID)
endforeach()
if(BUILD_FAT_JAVA_LIB)
set(OPENCV_LIBS_CONFIGMAKE java)
set(OPENCV_LIBS_CONFIGMAKE java3)
else()
set(OPENCV_LIBS_CONFIGMAKE "${OPENCV_MODULES_CONFIGMAKE}")
endif()
+20 -27
View File
@@ -101,10 +101,7 @@ configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.
set(OpenCV_INCLUDE_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OPENCV_INCLUDE_INSTALL_PATH}/opencv" "\${OpenCV_INSTALL_PATH}/${OPENCV_INCLUDE_INSTALL_PATH}\"")
set(OpenCV2_INCLUDE_DIRS_CONFIGCMAKE "\"\"")
if(INSTALL_TO_MANGLED_PATHS)
string(REPLACE "OpenCV" "OpenCV-${OPENCV_VERSION}" OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE "${OPENCV_3P_LIB_INSTALL_PATH}")
set(OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE}\"")
endif()
set(OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OPENCV_3P_LIB_INSTALL_PATH}\"")
if(UNIX) # ANDROID configuration is created here also
#http://www.vtk.org/Wiki/CMake/Tutorials/Packaging reference
@@ -114,23 +111,13 @@ if(UNIX) # ANDROID configuration is created here also
# <prefix>/(share|lib)/<name>*/ (U)
# <prefix>/(share|lib)/<name>*/(cmake|CMake)/ (U)
if(USE_IPPICV)
if(INSTALL_TO_MANGLED_PATHS)
file(RELATIVE_PATH INSTALL_PATH_RELATIVE_IPPICV "${CMAKE_INSTALL_PREFIX}/${OPENCV_CONFIG_INSTALL_PATH}-${OPENCV_VERSION}/" ${IPPICV_INSTALL_PATH})
else()
file(RELATIVE_PATH INSTALL_PATH_RELATIVE_IPPICV "${CMAKE_INSTALL_PREFIX}/${OPENCV_CONFIG_INSTALL_PATH}/" ${IPPICV_INSTALL_PATH})
endif()
file(RELATIVE_PATH INSTALL_PATH_RELATIVE_IPPICV "${CMAKE_INSTALL_PREFIX}/${OPENCV_CONFIG_INSTALL_PATH}/" ${IPPICV_INSTALL_PATH})
endif()
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" @ONLY)
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig-version.cmake" @ONLY)
if(INSTALL_TO_MANGLED_PATHS)
install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}-${OPENCV_VERSION}/ COMPONENT dev)
install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig-version.cmake DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}-${OPENCV_VERSION}/ COMPONENT dev)
install(EXPORT OpenCVModules DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}-${OPENCV_VERSION}/ FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
else()
install(FILES "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}/ COMPONENT dev)
install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig-version.cmake DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}/ COMPONENT dev)
install(EXPORT OpenCVModules DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}/ FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
endif()
install(FILES "${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig.cmake" DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}/ COMPONENT dev)
install(FILES ${CMAKE_BINARY_DIR}/unix-install/OpenCVConfig-version.cmake DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}/ COMPONENT dev)
install(EXPORT OpenCVModules DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}/ FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
endif()
if(ANDROID)
@@ -154,13 +141,19 @@ if(WIN32)
endif()
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" @ONLY)
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig-version.cmake" @ONLY)
if(BUILD_SHARED_LIBS)
install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib" COMPONENT dev)
install(EXPORT OpenCVModules DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
else()
install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib" COMPONENT dev)
install(EXPORT OpenCVModules DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
endif()
install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig-version.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}" COMPONENT dev)
install(FILES "${OpenCV_SOURCE_DIR}/cmake/OpenCVConfig.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}/" COMPONENT dev)
if (CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
if(BUILD_SHARED_LIBS)
install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib" COMPONENT dev)
install(EXPORT OpenCVModules DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
else()
install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib" COMPONENT dev)
install(EXPORT OpenCVModules DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
endif()
install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig-version.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}" COMPONENT dev)
install(FILES "${OpenCV_SOURCE_DIR}/cmake/OpenCVConfig.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}/" COMPONENT dev)
else ()
install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib/cmake/opencv-${OPENCV_VERSION}" COMPONENT dev)
install(EXPORT OpenCVModules DESTINATION "${OpenCV_INSTALL_BINARIES_PREFIX}lib/cmake/opencv-${OPENCV_VERSION}" FILE OpenCVModules${modules_file_suffix}.cmake COMPONENT dev)
install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig-version.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/opencv-${OPENCV_VERSION}" COMPONENT dev)
endif ()
endif()
+2
View File
@@ -1,5 +1,7 @@
# platform-specific config file
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/cvconfig.h.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h")
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/cvconfig.h.in" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/cvconfig.h")
install(FILES "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h" DESTINATION ${OPENCV_INCLUDE_INSTALL_PATH}/opencv2 COMPONENT dev)
# ----------------------------------------------------------------------------
# opencv_modules.hpp based on actual modules list
+8
View File
@@ -1,3 +1,11 @@
if(OPENCV_EXTRA_WORLD)
set(OPENCV_APPLE_BUNDLE_NAME "OpenCV_contrib")
set(OPENCV_APPLE_BUNDLE_ID "org.opencv_contrib")
else()
set(OPENCV_APPLE_BUNDLE_NAME "OpenCV")
set(OPENCV_APPLE_BUNDLE_ID "org.opencv")
endif()
if(IOS)
configure_file("${OpenCV_SOURCE_DIR}/platforms/ios/Info.plist.in"
"${CMAKE_BINARY_DIR}/ios/Info.plist")
+67 -54
View File
@@ -8,69 +8,82 @@
#
# ${BIN_DIR}/unix-install/opencv.pc -> For use *with* "make install"
# -------------------------------------------------------------------------------------------
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
set(libdir "") #TODO: need link paths for OpenCV_EXTRA_COMPONENTS
set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
if(CMAKE_BUILD_TYPE MATCHES "Release")
set(ocv_optkind OPT)
else()
set(ocv_optkind DBG)
endif()
macro(fix_prefix lst isown)
set(_lst)
foreach(item ${${lst}})
if(TARGET ${item})
get_target_property(item "${item}" LOCATION_${CMAKE_BUILD_TYPE})
if("${isown}")
get_filename_component(item "${item}" NAME_WE)
string(REGEX REPLACE "^lib(.*)" "\\1" item "${item}")
endif()
endif()
if(item MATCHES "^-l")
list(APPEND _lst "${item}")
elseif(item MATCHES "[\\/]")
get_filename_component(libdir "${item}" PATH)
get_filename_component(libname "${item}" NAME_WE)
string(REGEX REPLACE "^lib(.*)" "\\1" libname "${libname}")
list(APPEND _lst "-L${libdir}" "-l${libname}")
else()
list(APPEND _lst "-l${item}")
endif()
endforeach()
set(${lst} ${_lst})
unset(_lst)
endmacro()
#build the list of opencv libs and dependencies for all modules
set(OpenCV_LIB_COMPONENTS "")
set(OpenCV_EXTRA_COMPONENTS "")
foreach(m ${OPENCV_MODULES_PUBLIC})
list(INSERT OpenCV_LIB_COMPONENTS 0 ${${m}_MODULE_DEPS_${ocv_optkind}} ${m})
if(${m}_EXTRA_DEPS_${ocv_optkind})
list(INSERT OpenCV_EXTRA_COMPONENTS 0 ${${m}_EXTRA_DEPS_${ocv_optkind}})
endif()
endforeach()
ocv_list_unique(OpenCV_LIB_COMPONENTS)
ocv_list_unique(OpenCV_EXTRA_COMPONENTS)
ocv_list_reverse(OpenCV_LIB_COMPONENTS)
ocv_list_reverse(OpenCV_EXTRA_COMPONENTS)
# build the list of opencv libs and dependencies for all modules
ocv_get_all_libs(_modules _extra _3rdparty)
#build the list of components
set(OpenCV_LIB_COMPONENTS_ "")
foreach(CVLib ${OpenCV_LIB_COMPONENTS})
get_target_property(libpath ${CVLib} LOCATION_${CMAKE_BUILD_TYPE})
get_filename_component(libname "${libpath}" NAME)
if(INSTALL_TO_MANGLED_PATHS)
set(libname "${libname}.${OPENCV_VERSION}")
endif()
# Note:
# when linking against static libraries, if libfoo depends on libbar, then
# libfoo must come first in the linker flags.
#need better solution....
if(libpath MATCHES "3rdparty")
set(installDir "share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH}")
else()
set(installDir "${OPENCV_LIB_INSTALL_PATH}")
endif()
set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} \${exec_prefix}/${installDir}/${libname}")
endforeach()
# add extra dependencies required for OpenCV
set(OpenCV_LIB_COMPONENTS ${OpenCV_LIB_COMPONENTS_})
if(OpenCV_EXTRA_COMPONENTS)
foreach(extra_component ${OpenCV_EXTRA_COMPONENTS})
if(extra_component MATCHES "^-[lL]" OR extra_component MATCHES "[\\/]")
set(maybe_l_prefix "")
else()
set(maybe_l_prefix "-l")
endif()
set(OpenCV_LIB_COMPONENTS "${OpenCV_LIB_COMPONENTS} ${maybe_l_prefix}${extra_component}")
endforeach()
# world and contrib_world are special targets whose library should come first,
# especially for static link.
if(_modules MATCHES "opencv_world")
set(_modules "opencv_world")
endif()
if(_modules MATCHES "opencv_contrib_world")
list(REMOVE_ITEM _modules "opencv_contrib_world")
list(INSERT _modules 0 "opencv_contrib_world")
endif()
fix_prefix(_modules TRUE)
fix_prefix(_extra FALSE)
fix_prefix(_3rdparty TRUE)
ocv_list_unique(_modules)
ocv_list_unique(_extra)
ocv_list_unique(_3rdparty)
set(OPENCV_PC_LIBS
"-L\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}"
"${_modules}"
)
if (BUILD_SHARED_LIBS)
set(OPENCV_PC_LIBS_PRIVATE "${_extra}")
else()
set(OPENCV_PC_LIBS_PRIVATE
"-L\${exec_prefix}/${OPENCV_3P_LIB_INSTALL_PATH}"
"${_3rdparty}"
"${_extra}"
)
endif()
string(REPLACE ";" " " OPENCV_PC_LIBS "${OPENCV_PC_LIBS}")
string(REPLACE ";" " " OPENCV_PC_LIBS_PRIVATE "${OPENCV_PC_LIBS_PRIVATE}")
#generate the .pc file
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
set(libdir "\${exec_prefix}/${OPENCV_LIB_INSTALL_PATH}")
set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
if(INSTALL_TO_MANGLED_PATHS)
set(OPENCV_PC_FILE_NAME "opencv-${OPENCV_VERSION}.pc")
else()
+162 -44
View File
@@ -19,6 +19,9 @@
# OPENCV_MODULE_${the_module}_PRIVATE_REQ_DEPS
# OPENCV_MODULE_${the_module}_PRIVATE_OPT_DEPS
# OPENCV_MODULE_${the_module}_IS_PART_OF_WORLD
# OPENCV_MODULE_${the_module}_CUDA_OBJECTS - compiled CUDA objects list
# OPENCV_MODULE_${the_module}_CHILDREN - list of submodules for compound modules (cmake >= 2.8.8)
# OPENCV_MODULE_${the_module}_WRAPPERS - list of wrappers supporting this module
# HAVE_${the_module} - for fast check of module availability
# To control the setup of the module you could also set:
@@ -26,6 +29,7 @@
# OPENCV_MODULE_TYPE - STATIC|SHARED - set to force override global settings for current module
# OPENCV_MODULE_IS_PART_OF_WORLD - ON|OFF (default ON) - should the module be added to the opencv_world?
# BUILD_${the_module}_INIT - ON|OFF (default ON) - initial value for BUILD_${the_module}
# OPENCV_MODULE_CHILDREN - list of submodules
# The verbose template for OpenCV module:
#
@@ -57,6 +61,7 @@ foreach(mod ${OPENCV_MODULES_BUILD} ${OPENCV_MODULES_DISABLED_USER} ${OPENCV_MOD
unset(OPENCV_MODULE_${mod}_PRIVATE_REQ_DEPS CACHE)
unset(OPENCV_MODULE_${mod}_PRIVATE_OPT_DEPS CACHE)
unset(OPENCV_MODULE_${mod}_LINK_DEPS CACHE)
unset(OPENCV_MODULE_${mod}_WRAPPERS CACHE)
endforeach()
# clean modules info which needs to be recalculated
@@ -69,7 +74,7 @@ unset(OPENCV_WORLD_MODULES CACHE)
# adds dependencies to OpenCV module
# Usage:
# add_dependencies(opencv_<name> [REQUIRED] [<list of dependencies>] [OPTIONAL <list of modules>])
# add_dependencies(opencv_<name> [REQUIRED] [<list of dependencies>] [OPTIONAL <list of modules>] [WRAP <list of wrappers>])
# Notes:
# * <list of dependencies> - can include full names of modules or full pathes to shared/static libraries or cmake targets
macro(ocv_add_dependencies full_modname)
@@ -84,16 +89,28 @@ macro(ocv_add_dependencies full_modname)
set(__depsvar OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS)
elseif(d STREQUAL "PRIVATE_OPTIONAL")
set(__depsvar OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS)
elseif(d STREQUAL "WRAP")
set(__depsvar OPENCV_MODULE_${full_modname}_WRAPPERS)
else()
list(APPEND ${__depsvar} "${d}")
endif()
endforeach()
unset(__depsvar)
# hack for python
set(__python_idx)
list(FIND OPENCV_MODULE_${full_modname}_WRAPPERS "python" __python_idx)
if (NOT __python_idx EQUAL -1)
list(REMOVE_ITEM OPENCV_MODULE_${full_modname}_WRAPPERS "python")
list(APPEND OPENCV_MODULE_${full_modname}_WRAPPERS "python2" "python3")
endif()
unset(__python_idx)
ocv_list_unique(OPENCV_MODULE_${full_modname}_REQ_DEPS)
ocv_list_unique(OPENCV_MODULE_${full_modname}_OPT_DEPS)
ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS)
ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS)
ocv_list_unique(OPENCV_MODULE_${full_modname}_WRAPPERS)
set(OPENCV_MODULE_${full_modname}_REQ_DEPS ${OPENCV_MODULE_${full_modname}_REQ_DEPS}
CACHE INTERNAL "Required dependencies of ${full_modname} module")
@@ -103,17 +120,18 @@ macro(ocv_add_dependencies full_modname)
CACHE INTERNAL "Required private dependencies of ${full_modname} module")
set(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS ${OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS}
CACHE INTERNAL "Optional private dependencies of ${full_modname} module")
set(OPENCV_MODULE_${full_modname}_WRAPPERS ${OPENCV_MODULE_${full_modname}_WRAPPERS}
CACHE INTERNAL "List of wrappers supporting module ${full_modname}")
endmacro()
# declare new OpenCV module in current folder
# Usage:
# ocv_add_module(<name> [INTERNAL|BINDINGS] [REQUIRED] [<list of dependencies>] [OPTIONAL <list of optional dependencies>])
# ocv_add_module(<name> [INTERNAL|BINDINGS] [REQUIRED] [<list of dependencies>] [OPTIONAL <list of optional dependencies>] [WRAP <list of wrappers>])
# Example:
# ocv_add_module(yaom INTERNAL opencv_core opencv_highgui opencv_flann OPTIONAL opencv_cuda)
# ocv_add_module(yaom INTERNAL opencv_core opencv_highgui opencv_flann OPTIONAL opencv_cudev)
macro(ocv_add_module _name)
ocv_debug_message("ocv_add_module(" ${_name} ${ARGN} ")")
string(TOLOWER "${_name}" name)
string(REGEX REPLACE "^opencv_" "" ${name} "${name}")
set(the_module opencv_${name})
# the first pass - collect modules info, the second pass - create targets
@@ -158,8 +176,14 @@ macro(ocv_add_module _name)
endif()
endif()
# add HAL as dependency
if(NOT "${the_module}" STREQUAL "opencv_hal")
ocv_add_dependencies(${the_module} opencv_hal)
endif()
# add self to the world dependencies
if((NOT DEFINED OPENCV_MODULE_IS_PART_OF_WORLD AND NOT OPENCV_MODULE_${the_module}_CLASS STREQUAL "BINDINGS"
if((NOT DEFINED OPENCV_MODULE_IS_PART_OF_WORLD
AND NOT OPENCV_MODULE_${the_module}_CLASS STREQUAL "BINDINGS"
AND NOT OPENCV_PROCESSING_EXTRA_MODULES)
OR OPENCV_MODULE_IS_PART_OF_WORLD
)
@@ -175,7 +199,13 @@ macro(ocv_add_module _name)
set(OPENCV_MODULES_DISABLED_USER ${OPENCV_MODULES_DISABLED_USER} "${the_module}" CACHE INTERNAL "List of OpenCV modules explicitly disabled by user")
endif()
# TODO: add submodules if any
# add submodules if any
set(OPENCV_MODULE_${the_module}_CHILDREN "${OPENCV_MODULE_CHILDREN}" CACHE INTERNAL "List of ${the_module} submodules")
# add reverse wrapper dependencies
foreach (wrapper ${OPENCV_MODULE_${the_module}_WRAPPERS})
ocv_add_dependencies(opencv_${wrapper} OPTIONAL ${the_module})
endforeach()
# stop processing of current file
return()
@@ -302,27 +332,42 @@ endfunction()
# sort modules by dependencies
function(__ocv_sort_modules_by_deps __lst)
ocv_list_sort(${__lst})
set(${__lst}_ORDERED ${${__lst}} CACHE INTERNAL "")
set(__result "")
foreach (m ${${__lst}})
list(LENGTH __result __lastindex)
set(__index ${__lastindex})
foreach (__d ${__result})
set(__deps "${OPENCV_MODULE_${__d}_DEPS}")
if(";${__deps};" MATCHES ";${m};")
list(FIND __result "${__d}" __i)
if(__i LESS "${__index}")
set(__index "${__i}")
set(input ${${__lst}})
set(result "")
while(input)
list(LENGTH input length_before)
foreach (m ${input})
# check if module is in the result already
if (NOT ";${result};" MATCHES ";${m};")
# scan through module dependencies...
set(unresolved_deps_found FALSE)
foreach (d ${OPENCV_MODULE_${m}_CHILDREN} ${OPENCV_MODULE_${m}_DEPS})
# ... which are not already in the result and are enabled
if ((NOT ";${result};" MATCHES ";${d};") AND HAVE_${d})
set(unresolved_deps_found TRUE)
break()
endif()
endforeach()
# chek if all dependencies for this module has been resolved
if (NOT unresolved_deps_found)
list(APPEND result ${m})
list(REMOVE_ITEM input ${m})
endif()
endif()
endforeach()
if(__index STREQUAL __lastindex)
list(APPEND __result "${m}")
else()
list(INSERT __result ${__index} "${m}")
list(LENGTH input length_after)
# check for infinite loop or unresolved dependencies
if (NOT length_after LESS length_before)
message(WARNING "Unresolved dependencies or loop in dependency graph (${length_after})\n"
"Processed ${__lst}: ${${__lst}}\n"
"Good modules: ${result}\n"
"Bad modules: ${input}"
)
list(APPEND result ${input})
break()
endif()
endforeach()
set(${__lst} "${__result}" PARENT_SCOPE)
endwhile()
set(${__lst} "${result}" PARENT_SCOPE)
endfunction()
# resolve dependensies
@@ -477,6 +522,18 @@ macro(ocv_include_modules)
endforeach()
endmacro()
# same as previous but with dependencies
macro(ocv_include_modules_recurse)
ocv_include_modules(${ARGN})
foreach(d ${ARGN})
if(d MATCHES "^opencv_" AND HAVE_${d} AND DEFINED OPENCV_MODULE_${d}_DEPS)
foreach (sub ${OPENCV_MODULE_${d}_DEPS})
ocv_include_modules(${sub})
endforeach()
endif()
endforeach()
endmacro()
# setup include paths for the list of passed modules
macro(ocv_target_include_modules target)
foreach(d ${ARGN})
@@ -641,13 +698,43 @@ macro(_ocv_create_module)
get_native_precompiled_header(${the_module} precomp.hpp)
endif()
set(sub_objs "")
set(sub_links "")
set(cuda_objs "")
if (OPENCV_MODULE_${the_module}_CHILDREN)
status("Complex module ${the_module}")
foreach (m ${OPENCV_MODULE_${the_module}_CHILDREN})
if (BUILD_${m} AND TARGET ${m}_object)
get_target_property(_sub_links ${m} LINK_LIBRARIES)
list(APPEND sub_objs $<TARGET_OBJECTS:${m}_object>)
list(APPEND sub_links ${_sub_links})
status(" + ${m}")
else()
status(" - ${m}")
endif()
list(APPEND cuda_objs ${OPENCV_MODULE_${m}_CUDA_OBJECTS})
endforeach()
endif()
ocv_add_library(${the_module} ${OPENCV_MODULE_TYPE} ${OPENCV_MODULE_${the_module}_HEADERS} ${OPENCV_MODULE_${the_module}_SOURCES}
"${OPENCV_CONFIG_FILE_INCLUDE_DIR}/cvconfig.h" "${OPENCV_CONFIG_FILE_INCLUDE_DIR}/opencv2/opencv_modules.hpp"
${${the_module}_pch})
if(NOT the_module STREQUAL opencv_ts)
set_target_properties(${the_module} PROPERTIES COMPILE_DEFINITIONS OPENCV_NOSTL)
${${the_module}_pch} ${sub_objs})
if (cuda_objs)
target_link_libraries(${the_module} ${cuda_objs})
endif()
# TODO: is it needed?
if (sub_links)
ocv_list_filterout(sub_links "^opencv_")
ocv_list_unique(sub_links)
target_link_libraries(${the_module} ${sub_links})
endif()
unset(sub_objs)
unset(sub_links)
unset(cuda_objs)
ocv_target_link_libraries(${the_module} ${OPENCV_MODULE_${the_module}_DEPS_TO_LINK})
ocv_target_link_libraries(${the_module} LINK_INTERFACE_LIBRARIES ${OPENCV_MODULE_${the_module}_DEPS_TO_LINK})
ocv_target_link_libraries(${the_module} ${OPENCV_MODULE_${the_module}_DEPS_EXT} ${OPENCV_LINKER_LIBS} ${IPP_LIBS} ${ARGN})
@@ -682,6 +769,7 @@ macro(_ocv_create_module)
if((NOT DEFINED OPENCV_MODULE_TYPE AND BUILD_SHARED_LIBS)
OR (DEFINED OPENCV_MODULE_TYPE AND OPENCV_MODULE_TYPE STREQUAL SHARED))
set_target_properties(${the_module} PROPERTIES COMPILE_DEFINITIONS CVAPI_EXPORTS)
set_target_properties(${the_module} PROPERTIES DEFINE_SYMBOL CVAPI_EXPORTS)
endif()
@@ -692,22 +780,42 @@ macro(_ocv_create_module)
set_target_properties(${the_module} PROPERTIES LINK_FLAGS "/NODEFAULTLIB:libc /DEBUG")
endif()
ocv_install_target(${the_module} EXPORT OpenCVModules
ocv_install_target(${the_module} EXPORT OpenCVModules OPTIONAL
RUNTIME DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT libs
LIBRARY DESTINATION ${OPENCV_LIB_INSTALL_PATH} COMPONENT libs
LIBRARY DESTINATION ${OPENCV_LIB_INSTALL_PATH} COMPONENT libs NAMELINK_SKIP
ARCHIVE DESTINATION ${OPENCV_LIB_INSTALL_PATH} COMPONENT dev
)
# only "public" headers need to be installed
if(OPENCV_MODULE_${the_module}_HEADERS AND ";${OPENCV_MODULES_PUBLIC};" MATCHES ";${the_module};")
foreach(hdr ${OPENCV_MODULE_${the_module}_HEADERS})
string(REGEX REPLACE "^.*opencv2/" "opencv2/" hdr2 "${hdr}")
if(NOT hdr2 MATCHES "opencv2/${the_module}/private.*" AND hdr2 MATCHES "^(opencv2/?.*)/[^/]+.h(..)?$" )
install(FILES ${hdr} DESTINATION "${OPENCV_INCLUDE_INSTALL_PATH}/${CMAKE_MATCH_1}" COMPONENT dev)
endif()
endforeach()
get_target_property(_target_type ${the_module} TYPE)
if("${_target_type}" STREQUAL "SHARED_LIBRARY")
install(TARGETS ${the_module}
LIBRARY DESTINATION ${OPENCV_LIB_INSTALL_PATH} COMPONENT dev NAMELINK_ONLY)
endif()
foreach(m ${OPENCV_MODULE_${the_module}_CHILDREN} ${the_module})
# only "public" headers need to be installed
if(OPENCV_MODULE_${m}_HEADERS AND ";${OPENCV_MODULES_PUBLIC};" MATCHES ";${m};")
foreach(hdr ${OPENCV_MODULE_${m}_HEADERS})
string(REGEX REPLACE "^.*opencv2/" "opencv2/" hdr2 "${hdr}")
if(NOT hdr2 MATCHES "opencv2/${m}/private.*" AND hdr2 MATCHES "^(opencv2/?.*)/[^/]+.h(..)?$" )
install(FILES ${hdr} OPTIONAL DESTINATION "${OPENCV_INCLUDE_INSTALL_PATH}/${CMAKE_MATCH_1}" COMPONENT dev)
endif()
endforeach()
endif()
endforeach()
_ocv_add_precompiled_headers(${the_module})
if (TARGET ${the_module}_object)
# copy COMPILE_DEFINITIONS
get_target_property(main_defs ${the_module} COMPILE_DEFINITIONS)
if (main_defs)
set_target_properties(${the_module}_object PROPERTIES COMPILE_DEFINITIONS ${main_defs})
endif()
# use same PCH
if (TARGET pch_Generate_${the_module})
add_dependencies(${the_module}_object pch_Generate_${the_module} )
endif()
endif()
endmacro()
# opencv precompiled headers macro (can add pch to modules and tests)
@@ -731,7 +839,7 @@ endmacro()
# short command for adding simple OpenCV module
# see ocv_add_module for argument details
# Usage:
# ocv_define_module(module_name [INTERNAL] [EXCLUDE_CUDA] [REQUIRED] [<list of dependencies>] [OPTIONAL <list of optional dependencies>])
# ocv_define_module(module_name [INTERNAL] [EXCLUDE_CUDA] [REQUIRED] [<list of dependencies>] [OPTIONAL <list of optional dependencies>] [WRAP <list of wrappers>])
macro(ocv_define_module module_name)
ocv_debug_message("ocv_define_module(" ${module_name} ${ARGN} ")")
set(_argn ${ARGN})
@@ -782,7 +890,7 @@ macro(__ocv_parse_test_sources tests_type)
set(__file_group_sources "")
elseif(arg STREQUAL "DEPENDS_ON")
set(__currentvar "OPENCV_${tests_type}_${the_module}_DEPS")
elseif("${__currentvar}" STREQUAL "__file_group_sources" AND NOT __file_group_name)
elseif(" ${__currentvar}" STREQUAL " __file_group_sources" AND NOT __file_group_name) # spaces to avoid CMP0054
set(__file_group_name "${arg}")
else()
list(APPEND ${__currentvar} "${arg}")
@@ -803,7 +911,7 @@ function(ocv_add_perf_tests)
__ocv_parse_test_sources(PERF ${ARGN})
# opencv_imgcodecs is required for imread/imwrite
set(perf_deps ${the_module} opencv_ts opencv_imgcodecs ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_MODULE_opencv_ts_DEPS})
set(perf_deps opencv_ts ${the_module} opencv_imgcodecs ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_MODULE_opencv_ts_DEPS})
ocv_check_dependencies(${perf_deps})
if(OCV_DEPENDENCIES_FOUND)
@@ -824,7 +932,7 @@ function(ocv_add_perf_tests)
ocv_add_executable(${the_target} ${OPENCV_PERF_${the_module}_SOURCES} ${${the_target}_pch})
ocv_target_include_modules(${the_target} ${perf_deps} "${perf_path}")
ocv_target_link_libraries(${the_target} ${OPENCV_MODULE_${the_module}_DEPS} ${perf_deps} ${OPENCV_LINKER_LIBS})
ocv_target_link_libraries(${the_target} ${perf_deps} ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_LINKER_LIBS})
add_dependencies(opencv_perf_tests ${the_target})
# Additional target properties
@@ -859,7 +967,7 @@ function(ocv_add_accuracy_tests)
__ocv_parse_test_sources(TEST ${ARGN})
# opencv_imgcodecs is required for imread/imwrite
set(test_deps ${the_module} opencv_ts opencv_imgcodecs opencv_videoio ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_MODULE_opencv_ts_DEPS})
set(test_deps opencv_ts ${the_module} opencv_imgcodecs opencv_videoio ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_MODULE_opencv_ts_DEPS})
ocv_check_dependencies(${test_deps})
if(OCV_DEPENDENCIES_FOUND)
set(the_target "opencv_test_${name}")
@@ -879,7 +987,7 @@ function(ocv_add_accuracy_tests)
ocv_add_executable(${the_target} ${OPENCV_TEST_${the_module}_SOURCES} ${${the_target}_pch})
ocv_target_include_modules(${the_target} ${test_deps} "${test_path}")
ocv_target_link_libraries(${the_target} ${OPENCV_MODULE_${the_module}_DEPS} ${test_deps} ${OPENCV_LINKER_LIBS})
ocv_target_link_libraries(${the_target} ${test_deps} ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_LINKER_LIBS})
add_dependencies(opencv_tests ${the_target})
# Additional target properties
@@ -945,9 +1053,19 @@ function(ocv_add_samples)
endif()
if(INSTALL_C_EXAMPLES AND NOT WIN32 AND EXISTS "${samples_path}")
file(GLOB sample_files "${samples_path}/*")
file(GLOB DEPLOY_FILES_AND_DIRS "${samples_path}/*")
foreach(ITEM ${DEPLOY_FILES_AND_DIRS})
IF( IS_DIRECTORY "${ITEM}" )
LIST( APPEND sample_dirs "${ITEM}" )
ELSE()
LIST( APPEND sample_files "${ITEM}" )
ENDIF()
endforeach()
install(FILES ${sample_files}
DESTINATION ${OPENCV_SAMPLES_SRC_INSTALL_PATH}/${module_id}
PERMISSIONS OWNER_READ GROUP_READ WORLD_READ COMPONENT samples)
install(DIRECTORY ${sample_dirs}
DESTINATION ${OPENCV_SAMPLES_SRC_INSTALL_PATH}/${module_id}
USE_SOURCE_PERMISSIONS COMPONENT samples)
endif()
endfunction()
+45 -31
View File
@@ -57,54 +57,68 @@ set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
set(CPACK_DEBIAN_PACKAGE_SECTION "libs")
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "http://opencv.org")
#display names
set(CPACK_COMPONENT_DEV_DISPLAY_NAME "Development files")
set(CPACK_COMPONENT_DOCS_DISPLAY_NAME "Documentation")
set(CPACK_COMPONENT_JAVA_DISPLAY_NAME "Java bindings")
set(CPACK_COMPONENT_LIBS_DISPLAY_NAME "Libraries and data")
set(CPACK_COMPONENT_PYTHON_DISPLAY_NAME "Python bindings")
set(CPACK_COMPONENT_SAMPLES_DISPLAY_NAME "Samples")
set(CPACK_COMPONENT_TESTS_DISPLAY_NAME "Tests")
#depencencies
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS TRUE)
set(CPACK_COMPONENT_samples_DEPENDS libs)
set(CPACK_COMPONENT_dev_DEPENDS libs)
set(CPACK_COMPONENT_docs_DEPENDS libs)
set(CPACK_COMPONENT_java_DEPENDS libs)
set(CPACK_COMPONENT_python_DEPENDS libs)
set(CPACK_COMPONENT_tests_DEPENDS libs)
set(CPACK_COMPONENT_LIBS_REQUIRED TRUE)
set(CPACK_COMPONENT_SAMPLES_DEPENDS libs)
set(CPACK_COMPONENT_DEV_DEPENDS libs)
set(CPACK_COMPONENT_DOCS_DEPENDS libs)
set(CPACK_COMPONENT_JAVA_DEPENDS libs)
set(CPACK_COMPONENT_PYTHON_DEPENDS libs)
set(CPACK_COMPONENT_TESTS_DEPENDS libs)
if(HAVE_CUDA)
string(REPLACE "." "-" cuda_version_suffix ${CUDA_VERSION})
set(CPACK_DEB_libs_PACKAGE_DEPENDS "cuda-core-libs-${cuda_version_suffix}, cuda-extra-libs-${cuda_version_suffix}")
if(${CUDA_VERSION} VERSION_LESS "6.5")
set(CPACK_DEB_libs_PACKAGE_DEPENDS "cuda-core-libs-${cuda_version_suffix}, cuda-extra-libs-${cuda_version_suffix}")
set(CPACK_DEB_dev_PACKAGE_DEPENDS "cuda-headers-${cuda_version_suffix}")
else()
set(CPACK_DEB_libs_PACKAGE_DEPENDS "cuda-cudart-${cuda_version_suffix}, cuda-npp-${cuda_version_suffix}")
set(CPACK_DEB_dev_PACKAGE_DEPENDS "cuda-cudart-dev-${cuda_version_suffix}, cuda-npp-dev-${cuda_version_suffix}")
if(HAVE_CUFFT)
set(CPACK_DEB_libs_PACKAGE_DEPENDS "${CPACK_DEB_libs_PACKAGE_DEPENDS}, cuda-cufft-${cuda_version_suffix}")
set(CPACK_DEB_dev_PACKAGE_DEPENDS "${CPACK_DEB_dev_PACKAGE_DEPENDS}, cuda-cufft-dev-${cuda_version_suffix}")
endif()
if(HAVE_HAVE_CUBLAS)
set(CPACK_DEB_libs_PACKAGE_DEPENDS "${CPACK_DEB_libs_PACKAGE_DEPENDS}, cuda-cublas-${cuda_version_suffix}")
set(CPACK_DEB_dev_PACKAGE_DEPENDS "${CPACK_DEB_dev_PACKAGE_DEPENDS}, cuda-cublas-dev-${cuda_version_suffix}")
endif()
endif()
set(CPACK_COMPONENT_dev_DEPENDS libs)
set(CPACK_DEB_dev_PACKAGE_DEPENDS "cuda-headers-${cuda_version_suffix}")
endif()
if(NOT OPENCV_CUSTOM_PACKAGE_INFO)
set(CPACK_COMPONENT_libs_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}")
set(CPACK_COMPONENT_libs_DESCRIPTION "Open Computer Vision Library")
set(CPACK_COMPONENT_LIBS_DESCRIPTION "Open Computer Vision Library")
set(CPACK_DEBIAN_COMPONENT_LIBS_NAME "lib${CMAKE_PROJECT_NAME}")
set(CPACK_COMPONENT_python_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-python")
set(CPACK_COMPONENT_python_DESCRIPTION "Python bindings for Open Source Computer Vision Library")
set(CPACK_COMPONENT_PYTHON_DESCRIPTION "Python bindings for Open Source Computer Vision Library")
set(CPACK_DEBIAN_COMPONENT_PYTHON_NAME "lib${CMAKE_PROJECT_NAME}-python")
set(CPACK_COMPONENT_java_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-java")
set(CPACK_COMPONENT_java_DESCRIPTION "Java bindings for Open Source Computer Vision Library")
set(CPACK_COMPONENT_JAVA_DESCRIPTION "Java bindings for Open Source Computer Vision Library")
set(CPACK_DEBIAN_COMPONENT_JAVA_NAME "lib${CMAKE_PROJECT_NAME}-java")
set(CPACK_COMPONENT_dev_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-dev")
set(CPACK_COMPONENT_dev_DESCRIPTION "Development files for Open Source Computer Vision Library")
set(CPACK_COMPONENT_DEV_DESCRIPTION "Development files for Open Source Computer Vision Library")
set(CPACK_DEBIAN_COMPONENT_DEV_NAME "lib${CMAKE_PROJECT_NAME}-dev")
set(CPACK_COMPONENT_docs_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-docs")
set(CPACK_COMPONENT_docs_DESCRIPTION "Documentation for Open Source Computer Vision Library")
set(CPACK_COMPONENT_DOCS_DESCRIPTION "Documentation for Open Source Computer Vision Library")
set(CPACK_DEBIAN_COMPONENT_DOCS_NAME "lib${CMAKE_PROJECT_NAME}-docs")
set(CPACK_COMPONENT_samples_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-samples")
set(CPACK_COMPONENT_samples_DESCRIPTION "Samples for Open Source Computer Vision Library")
set(CPACK_COMPONENT_SAMPLES_DESCRIPTION "Samples for Open Source Computer Vision Library")
set(CPACK_DEBIAN_COMPONENT_SAMPLES_NAME "lib${CMAKE_PROJECT_NAME}-samples")
set(CPACK_COMPONENT_tests_DISPLAY_NAME "lib${CMAKE_PROJECT_NAME}-tests")
set(CPACK_COMPONENT_tests_DESCRIPTION "Accuracy and performance tests for Open Source Computer Vision Library")
set(CPACK_COMPONENT_TESTS_DESCRIPTION "Accuracy and performance tests for Open Source Computer Vision Library")
set(CPACK_DEBIAN_COMPONENT_TESTS_NAME "lib${CMAKE_PROJECT_NAME}-tests")
endif(NOT OPENCV_CUSTOM_PACKAGE_INFO)
if(NOT OPENCV_CUSTOM_PACKAGE_LAYOUT)
set(CPACK_libs_COMPONENT_INSTALL TRUE)
set(CPACK_dev_COMPONENT_INSTALL TRUE)
set(CPACK_docs_COMPONENT_INSTALL TRUE)
set(CPACK_python_COMPONENT_INSTALL TRUE)
set(CPACK_java_COMPONENT_INSTALL TRUE)
set(CPACK_samples_COMPONENT_INSTALL TRUE)
endif(NOT OPENCV_CUSTOM_PACKAGE_LAYOUT)
include(CPack)
ENDif(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
+92 -27
View File
@@ -242,6 +242,24 @@ macro(ocv_warnings_disable)
endif(NOT ENABLE_NOISY_WARNINGS)
endmacro()
macro(add_apple_compiler_options the_module)
ocv_check_flag_support(OBJCXX "-fobjc-exceptions" HAVE_OBJC_EXCEPTIONS)
if(HAVE_OBJC_EXCEPTIONS)
foreach(source ${OPENCV_MODULE_${the_module}_SOURCES})
if("${source}" MATCHES "\\.mm$")
get_source_file_property(flags "${source}" COMPILE_FLAGS)
if(flags)
set(flags "${_flags} -fobjc-exceptions")
else()
set(flags "-fobjc-exceptions")
endif()
set_source_files_properties("${source}" PROPERTIES COMPILE_FLAGS "${flags}")
endif()
endforeach()
endif()
endmacro()
# Provides an option that the user can optionally select.
# Can accept condition to control when option is available for user.
# Usage:
@@ -258,12 +276,12 @@ macro(OCV_OPTION variable description value)
endif()
endforeach()
unset(__varname)
if("${__condition}" STREQUAL "")
if(__condition STREQUAL "")
set(__condition 2 GREATER 1)
endif()
if(${__condition})
if("${__value}" MATCHES ";")
if(__value MATCHES ";")
if(${__value})
option(${variable} "${description}" ON)
else()
@@ -397,31 +415,6 @@ function(status text)
endfunction()
# splits cmake libraries list of format "general;item1;debug;item2;release;item3" to two lists
macro(ocv_split_libs_list lst lstdbg lstopt)
set(${lstdbg} "")
set(${lstopt} "")
set(perv_keyword "")
foreach(word ${${lst}})
if(word STREQUAL "debug" OR word STREQUAL "optimized")
set(perv_keyword ${word})
elseif(word STREQUAL "general")
set(perv_keyword "")
elseif(perv_keyword STREQUAL "debug")
list(APPEND ${lstdbg} "${word}")
set(perv_keyword "")
elseif(perv_keyword STREQUAL "optimized")
list(APPEND ${lstopt} "${word}")
set(perv_keyword "")
else()
list(APPEND ${lstdbg} "${word}")
list(APPEND ${lstopt} "${word}")
set(perv_keyword "")
endif()
endforeach()
endmacro()
# remove all matching elements from the list
macro(ocv_list_filterout lst regex)
foreach(item ${${lst}})
@@ -738,6 +731,9 @@ endfunction()
function(_ocv_append_target_includes target)
if(DEFINED OCV_TARGET_INCLUDE_DIRS_${target})
target_include_directories(${target} PRIVATE ${OCV_TARGET_INCLUDE_DIRS_${target}})
if (TARGET ${target}_object)
target_include_directories(${target}_object PRIVATE ${OCV_TARGET_INCLUDE_DIRS_${target}})
endif()
unset(OCV_TARGET_INCLUDE_DIRS_${target} CACHE)
endif()
endfunction()
@@ -762,8 +758,77 @@ function(ocv_add_library target)
ocv_include_directories(${CUDA_INCLUDE_DIRS})
ocv_cuda_compile(cuda_objs ${lib_cuda_srcs} ${lib_cuda_hdrs})
endif()
set(OPENCV_MODULE_${target}_CUDA_OBJECTS ${cuda_objs} CACHE INTERNAL "Compiled CUDA object files")
endif()
add_library(${target} ${ARGN} ${cuda_objs})
# Add OBJECT library (added in cmake 2.8.8) to use in compound modules
if (NOT CMAKE_VERSION VERSION_LESS "2.8.8"
AND NOT OPENCV_MODULE_${target}_CHILDREN
AND NOT OPENCV_MODULE_${target}_CLASS STREQUAL "BINDINGS"
AND NOT ${target} STREQUAL "opencv_ts"
)
set(sources ${ARGN})
ocv_list_filterout(sources "\\\\.(cl|inc)$")
add_library(${target}_object OBJECT ${sources})
set_target_properties(${target}_object PROPERTIES
EXCLUDE_FROM_ALL True
EXCLUDE_FROM_DEFAULT_BUILD True
POSITION_INDEPENDENT_CODE True
)
if (ENABLE_SOLUTION_FOLDERS)
set_target_properties(${target}_object PROPERTIES FOLDER "object_libraries")
endif()
unset(sources)
endif()
_ocv_append_target_includes(${target})
endfunction()
# build the list of opencv libs and dependencies for all modules
# _modules - variable to hold list of all modules
# _extra - variable to hold list of extra dependencies
# _3rdparty - variable to hold list of prebuilt 3rdparty libraries
macro(ocv_get_all_libs _modules _extra _3rdparty)
set(${_modules} "")
set(${_extra} "")
set(${_3rdparty} "")
foreach(m ${OPENCV_MODULES_PUBLIC})
get_target_property(deps ${m} INTERFACE_LINK_LIBRARIES)
if(NOT deps)
set(deps "")
endif()
list(INSERT ${_modules} 0 ${deps} ${m})
foreach (dep ${deps} ${OPENCV_LINKER_LIBS})
if (NOT DEFINED OPENCV_MODULE_${dep}_LOCATION)
if (TARGET ${dep})
get_target_property(_output ${dep} ARCHIVE_OUTPUT_DIRECTORY)
if ("${_output}" STREQUAL "${3P_LIBRARY_OUTPUT_PATH}")
list(INSERT ${_3rdparty} 0 ${dep})
else()
list(INSERT ${_extra} 0 ${dep})
endif()
else()
list(INSERT ${_extra} 0 ${dep})
endif()
endif()
endforeach()
endforeach()
# ippicv specific handling
list(FIND ${_extra} "ippicv" ippicv_idx)
if (${ippicv_idx} GREATER -1)
list(REMOVE_ITEM ${_extra} "ippicv")
list(INSERT ${_3rdparty} 0 "ippicv")
endif()
# split 3rdparty libs and modules
list(REMOVE_ITEM ${_modules} ${${_3rdparty}} ${${_extra}})
# convert CMake lists to makefile literals
foreach(lst ${_modules} ${_3rdparty} ${_extra})
ocv_list_unique(${lst})
ocv_list_reverse(${lst})
endforeach()
endmacro()
-6
View File
@@ -1,6 +0,0 @@
#include <wrl/client.h>
int main(int, char**)
{
return 0;
}
+1
View File
@@ -28,6 +28,7 @@ ${nested_namespace_start}
set(STR_HPP "// This file is auto-generated. Do not edit!
#include \"opencv2/core/ocl.hpp\"
#include \"opencv2/core/ocl_genbase.hpp\"
#include \"opencv2/core/opencl/ocl_defs.hpp\"
-25
View File
@@ -54,23 +54,6 @@ else
endif
endif
ifeq ($(OPENCV_CAMERA_MODULES),on)
ifeq ($(TARGET_ARCH_ABI),armeabi)
OPENCV_CAMERA_MODULES:=@OPENCV_CAMERA_LIBS_ARMEABI_CONFIGCMAKE@
endif
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
OPENCV_CAMERA_MODULES:=@OPENCV_CAMERA_LIBS_ARMEABI_V7A_CONFIGCMAKE@
endif
ifeq ($(TARGET_ARCH_ABI),x86)
OPENCV_CAMERA_MODULES:=@OPENCV_CAMERA_LIBS_X86_CONFIGCMAKE@
endif
ifeq ($(TARGET_ARCH_ABI),mips)
OPENCV_CAMERA_MODULES:=@OPENCV_CAMERA_LIBS_MIPS_CONFIGCMAKE@
endif
else
OPENCV_CAMERA_MODULES:=
endif
ifeq ($(OPENCV_LIB_TYPE),SHARED)
OPENCV_LIB_SUFFIX:=so
else
@@ -92,20 +75,12 @@ define add_opencv_3rdparty_component
include $(PREBUILT_STATIC_LIBRARY)
endef
define add_opencv_camera_module
include $(CLEAR_VARS)
LOCAL_MODULE:=$1
LOCAL_SRC_FILES:=$(OPENCV_LIBS_DIR)/lib$1.so
include $(PREBUILT_SHARED_LIBRARY)
endef
ifeq ($(OPENCV_MK_$(OPENCV_TARGET_ARCH_ABI)_ALREADY_INCLUDED),)
ifeq ($(OPENCV_INSTALL_MODULES),on)
$(foreach module,$(OPENCV_LIBS),$(eval $(call add_opencv_module,$(module))))
endif
$(foreach module,$(OPENCV_3RDPARTY_COMPONENTS),$(eval $(call add_opencv_3rdparty_component,$(module))))
$(foreach module,$(OPENCV_CAMERA_MODULES),$(eval $(call add_opencv_camera_module,$(module))))
ifneq ($(OPENCV_BASEDIR),)
OPENCV_LOCAL_C_INCLUDES += $(foreach mod, $(OPENCV_MODULES), $(OPENCV_BASEDIR)/modules/$(mod)/include)
+33 -27
View File
@@ -34,13 +34,27 @@
# - OpenCV_LIB_COMPONENTS : Present OpenCV modules list
# - OpenCV_USE_MANGLED_PATHS : Mangled OpenCV path flag
# - OpenCV_MODULES_SUFFIX : The suffix for OpenCVModules-XXX.cmake file
# - OpenCV_HAVE_ANDROID_CAMERA : Presence of Android native camera wrappers
#
# Deprecated variables:
# - OpenCV_VERSION_TWEAK : Always "0"
#
# ===================================================================================
# Search packages for host system instead of packages for target system.
# in case of cross compilation thess macro should be defined by toolchain file
if(NOT COMMAND find_host_package)
macro(find_host_package)
find_package(${ARGN})
endmacro()
endif()
if(NOT COMMAND find_host_program)
macro(find_host_program)
find_program(${ARGN})
endmacro()
endif()
if(NOT DEFINED OpenCV_MODULES_SUFFIX)
if(ANDROID)
string(REPLACE - _ OpenCV_MODULES_SUFFIX "_${ANDROID_NDK_ABI_NAME}")
@@ -49,7 +63,7 @@ if(NOT DEFINED OpenCV_MODULES_SUFFIX)
endif()
endif()
if(@USE_IPPICV@) # value is defined by package builder
if("@USE_IPPICV@" STREQUAL "TRUE") # value is defined by package builder (use STREQUAL to comply new CMake policy CMP0012)
if(NOT TARGET ippicv)
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@INSTALL_PATH_RELATIVE_IPPICV@")
add_library(ippicv STATIC IMPORTED)
@@ -62,6 +76,13 @@ if(@USE_IPPICV@) # value is defined by package builder
endif()
if(NOT TARGET opencv_core)
# Extract directory name from full path of the file currently being processed.
# Note that CMake 2.8.3 introduced CMAKE_CURRENT_LIST_DIR. We reimplement it
# for older versions of CMake to support these as well.
if(CMAKE_VERSION VERSION_LESS "2.8.3")
get_filename_component(CMAKE_CURRENT_LIST_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
endif()
include(${CMAKE_CURRENT_LIST_DIR}/OpenCVModules${OpenCV_MODULES_SUFFIX}.cmake)
endif()
@@ -105,9 +126,6 @@ if(NOT WIN32 OR ANDROID)
endif()
endif()
# Presence of Android native camera wrappers
set(OpenCV_HAVE_ANDROID_CAMERA @HAVE_opencv_androidcamera@)
# ======================================================
# Include directories to add to the user project:
# ======================================================
@@ -122,8 +140,8 @@ set(OpenCV_INCLUDE_DIRS @OpenCV_INCLUDE_DIRS_CONFIGCMAKE@)
# Provide the libs directories to the caller
set(OpenCV_LIB_DIR_OPT @OpenCV_LIB_DIRS_CONFIGCMAKE@ CACHE PATH "Path where release OpenCV libraries are located")
set(OpenCV_LIB_DIR_DBG @OpenCV_LIB_DIRS_CONFIGCMAKE@ CACHE PATH "Path where debug OpenCV libraries are located")
set(OpenCV_3RDPARTY_LIB_DIR_OPT @OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE@ CACHE PATH "Path where release 3rdpaty OpenCV dependencies are located")
set(OpenCV_3RDPARTY_LIB_DIR_DBG @OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE@ CACHE PATH "Path where debug 3rdpaty OpenCV dependencies are located")
set(OpenCV_3RDPARTY_LIB_DIR_OPT @OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE@ CACHE PATH "Path where release 3rdparty OpenCV dependencies are located")
set(OpenCV_3RDPARTY_LIB_DIR_DBG @OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE@ CACHE PATH "Path where debug 3rdparty OpenCV dependencies are located")
mark_as_advanced(FORCE OpenCV_LIB_DIR_OPT OpenCV_LIB_DIR_DBG OpenCV_3RDPARTY_LIB_DIR_OPT OpenCV_3RDPARTY_LIB_DIR_DBG OpenCV_CONFIG_PATH)
# ======================================================
@@ -255,7 +273,7 @@ foreach(__opttype OPT DBG)
# CUDA
if(OpenCV_CUDA_VERSION)
if(NOT CUDA_FOUND)
find_package(CUDA ${OpenCV_CUDA_VERSION} EXACT REQUIRED)
find_host_package(CUDA ${OpenCV_CUDA_VERSION} EXACT REQUIRED)
else()
if(NOT CUDA_VERSION_STRING VERSION_EQUAL OpenCV_CUDA_VERSION)
message(FATAL_ERROR "OpenCV static library was compiled with CUDA ${OpenCV_CUDA_VERSION} support. Please, use the same version or rebuild OpenCV with CUDA ${CUDA_VERSION_STRING}")
@@ -292,7 +310,9 @@ foreach(__opttype OPT DBG)
set(OpenCV_CUDA_LIBS_RELPATH "")
foreach(l ${OpenCV_CUDA_LIBS_ABSPATH})
get_filename_component(_tmp ${l} PATH)
list(APPEND OpenCV_CUDA_LIBS_RELPATH ${_tmp})
if(NOT ${_tmp} MATCHES "-Wl.*")
list(APPEND OpenCV_CUDA_LIBS_RELPATH ${_tmp})
endif()
endforeach()
list(REMOVE_DUPLICATES OpenCV_CUDA_LIBS_RELPATH)
@@ -300,24 +320,6 @@ foreach(__opttype OPT DBG)
endif()
endforeach()
# ==============================================================
# Android camera helper macro
# ==============================================================
if(OpenCV_HAVE_ANDROID_CAMERA)
macro(COPY_NATIVE_CAMERA_LIBS target)
get_target_property(target_location ${target} LOCATION)
get_filename_component(target_location "${target_location}" PATH)
file(GLOB camera_wrappers "${OpenCV_LIB_DIR_OPT}/libnative_camera_r*.so")
foreach(wrapper ${camera_wrappers})
add_custom_command(
TARGET ${target}
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy "${wrapper}" "${target_location}"
)
endforeach()
endmacro()
endif()
# ==============================================================
# Compatibility stuff
# ==============================================================
@@ -371,6 +373,10 @@ macro(ocv_include_modules)
include_directories(BEFORE "${OpenCV_INCLUDE_DIRS}")
endmacro()
macro(ocv_include_modules_recurse)
include_directories(BEFORE "${OpenCV_INCLUDE_DIRS}")
endmacro()
macro(ocv_target_link_libraries)
target_link_libraries(${ARGN})
endmacro()
+4 -3
View File
@@ -122,6 +122,7 @@
/* OpenCL Support */
#cmakedefine HAVE_OPENCL
#cmakedefine HAVE_OPENCL_STATIC
#cmakedefine HAVE_OPENCL_SVM
/* OpenEXR codec */
#cmakedefine HAVE_OPENEXR
@@ -168,9 +169,6 @@
/* Win32 UI */
#cmakedefine HAVE_WIN32UI
/* Windows Runtime support */
#cmakedefine HAVE_WINRT
/* XIMEA camera support */
#cmakedefine HAVE_XIMEA
@@ -180,3 +178,6 @@
/* Define if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#cmakedefine WORDS_BIGENDIAN
/* gPhoto2 library */
#cmakedefine HAVE_GPHOTO2
+2 -1
View File
@@ -9,5 +9,6 @@ includedir_new=@includedir@
Name: OpenCV
Description: Open Source Computer Vision Library
Version: @OPENCV_VERSION_PLAIN@
Libs: @OpenCV_LIB_COMPONENTS@
Libs: @OPENCV_PC_LIBS@
Libs.private: @OPENCV_PC_LIBS_PRIVATE@
Cflags: -I${includedir_old} -I${includedir_new}
+46
View File
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is auto-generated
-->
<descriptor>
<version>
@OPENCV_ABI_VERSION@
</version>
<headers>
@OPENCV_ABI_HEADERS@
</headers>
<libs>
@OPENCV_ABI_LIBRARIES@
</libs>
<skip_headers>
opencv2/hal/intrin*
opencv2/core/cuda*
opencv2/core/private*
opencv/cxeigen.hpp
opencv2/core/eigen.hpp
opencv2/flann/hdf5.h
opencv2/imgcodecs/ios.h
opencv2/videoio/cap_ios.h
opencv2/ts.hpp
opencv2/ts/*
opencv2/xobjdetect/private.hpp
@OPENCV_ABI_SKIP_HEADERS@
</skip_headers>
<skip_libs>
@OPENCV_ABI_SKIP_LIBRARIES@
</skip_libs>
<gcc_options>
@OPENCV_ABI_GCC_OPTIONS@
</gcc_options>
</descriptor>
+127 -10
View File
@@ -1,25 +1,142 @@
#!/bin/sh
#!/bin/bash
# Usage info
usage()
{
cat << EOF
usage: $0 [options]
This script runs the OpenCV tests on linux device.
OPTIONS:
-h Show this message
-c Color output
EOF
}
# Parse options
COLOR_OUTPUT=0
while getopts “hc” OPTION
do
case $OPTION in
h)
usage
exit 0
;;
c)
COLOR_OUTPUT=1
;;
?)
usage
exit 1
;;
esac
done
# Text style
if [ $COLOR_OUTPUT -eq 1 ]; then
TEXT_RED="$(tput setaf 1)"
TEXT_GREEN="$(tput setaf 2)"
TEXT_CYAN="$(tput setaf 6)"
TEXT_RESET="$(tput sgr0)"
else
TEXT_RED=""
TEXT_GREEN=""
TEXT_CYAN=""
TEXT_RESET=""
fi
# Test binaries and data paths
OPENCV_TEST_PATH=@CMAKE_INSTALL_PREFIX@/@OPENCV_TEST_INSTALL_PATH@
OPENCV_PYTHON_TESTS=@OPENCV_PYTHON_TESTS_LIST@
export OPENCV_TEST_DATA_PATH=@CMAKE_INSTALL_PREFIX@/share/OpenCV/testdata
# Run tests
SUMMARY_STATUS=0
FAILED_TESTS=""
PASSED_TESTS=""
for t in "$OPENCV_TEST_PATH/"opencv_test_* "$OPENCV_TEST_PATH/"opencv_perf_*;
do
report="`basename "$t"`-`date --rfc-3339=date`.xml"
"$t" --perf_min_samples=1 --perf_force_samples=1 --gtest_output=xml:"$report"
TEST_STATUS=$?
if [ $TEST_STATUS -ne 0 ]; then
SUMMARY_STATUS=$TEST_STATUS
fi
test_name=`basename "$t"`
report="$test_name-`date --rfc-3339=date`.xml"
cmd="$t --perf_min_samples=1 --perf_force_samples=1 --gtest_output=xml:\"$report\""
seg_reg="s/^/${TEXT_CYAN}[$test_name]${TEXT_RESET} /" # append test name
if [ $COLOR_OUTPUT -eq 1 ]; then
seg_reg="${seg_reg};s/\[==========\]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [==========]
seg_reg="${seg_reg};s/\[----------\]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [----------]
seg_reg="${seg_reg};s/\[ RUN \]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [ RUN ]
seg_reg="${seg_reg};s/\[ OK \]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [ OK ]
seg_reg="${seg_reg};s/\[ FAILED \]/${TEXT_RED}&${TEXT_RESET}/g" # red for [ FAILED ]
seg_reg="${seg_reg};s/\[ PASSED \]/${TEXT_GREEN}&${TEXT_RESET}/g" # green for [ PASSED ]
fi
echo "${TEXT_CYAN}[$test_name]${TEXT_RESET} RUN : $cmd"
$cmd | sed -r "$seg_reg"
ret=${PIPESTATUS[0]}
echo "${TEXT_CYAN}[$test_name]${TEXT_RESET} RETURN_CODE : $ret"
if [ $ret -ne 0 ]; then
echo "${TEXT_CYAN}[$test_name]${TEXT_RESET} ${TEXT_RED}FAILED${TEXT_RESET}"
SUMMARY_STATUS=1
FAILED_TESTS="$FAILED_TESTS $test_name"
else
echo "${TEXT_CYAN}[$test_name]${TEXT_RESET} ${TEXT_GREEN}OK${TEXT_RESET}"
PASSED_TESTS="$PASSED_TESTS $test_name"
fi
echo ""
done
for t in $OPENCV_PYTHON_TESTS;
do
test_name=`basename "$t"`
report="$test_name-`date --rfc-3339=date`.xml"
cmd="py.test --junitxml $report \"$OPENCV_TEST_PATH\"/$t"
seg_reg="s/^/${TEXT_CYAN}[$test_name]${TEXT_RESET} /" # append test name
echo "${TEXT_CYAN}[$test_name]${TEXT_RESET} RUN : $cmd"
eval "$cmd" | sed -r "$seg_reg"
ret=${PIPESTATUS[0]}
echo "${TEXT_CYAN}[$test_name]${TEXT_RESET} RETURN_CODE : $ret"
if [ $ret -ne 0 ]; then
echo "${TEXT_CYAN}[$test_name]${TEXT_RESET} ${TEXT_RED}FAILED${TEXT_RESET}"
SUMMARY_STATUS=1
FAILED_TESTS="$FAILED_TESTS $test_name"
else
echo "${TEXT_CYAN}[$test_name]${TEXT_RESET} ${TEXT_GREEN}OK${TEXT_RESET}"
PASSED_TESTS="$PASSED_TESTS $test_name"
fi
echo ""
done
# Remove temporary test files
rm -f /tmp/__opencv_temp.*
# Report final status
echo "${TEXT_CYAN}===============================================================${TEXT_RESET}"
echo "${TEXT_CYAN}PASSED TESTS : $PASSED_TESTS${TEXT_RESET}"
echo "${TEXT_CYAN}FAILED TESTS : $FAILED_TESTS${TEXT_RESET}"
if [ $SUMMARY_STATUS -eq 0 ]; then
echo "All OpenCV tests finished successfully"
echo "${TEXT_GREEN}STATUS : OK${TEXT_RESET}"
echo "${TEXT_GREEN}STATUS : All OpenCV tests finished successfully${TEXT_RESET}"
else
echo "OpenCV tests finished with status $SUMMARY_STATUS"
echo "${TEXT_RED}STATUS : FAIL${TEXT_RESET}"
echo "${TEXT_RED}STATUS : OpenCV tests finished with status $SUMMARY_STATUS${TEXT_RESET}"
fi
return $SUMMARY_STATUS
exit $SUMMARY_STATUS
@@ -0,0 +1,74 @@
@echo OFF
setlocal ENABLEDELAYEDEXPANSION
rem Process command line
rem This script is designed to allow situations when the tests are installed in
rem a different directory from the library.
set OPENCV_DIR=%~1
if "%OPENCV_DIR%" == "" (
echo>&2 This script runs the OpenCV tests on Windows.
echo>&2
echo>&2 usage: %0 ^<OpenCV install directory^>
exit /B 1
)
if NOT EXIST "%OPENCV_DIR%" (
echo>&2 error: "%OPENCV_DIR%" doesn't exist
)
rem Set up paths
set PATH=%OPENCV_DIR%\@OPENCV_BIN_INSTALL_PATH@;%PATH%
set OPENCV_TEST_PATH=%~dp0
set OPENCV_TEST_DATA_PATH=%OPENCV_TEST_PATH%\..\testdata
rem Run tests
set SUMMARY_STATUS=0
set FAILED_TESTS=
set PASSED_TESTS=
for %%t IN ("%OPENCV_TEST_PATH%\opencv_test_*.exe" "%OPENCV_TEST_PATH%\opencv_perf_*.exe") DO (
set test_name=%%~nt
set report=!test_name!.xml
set cmd="%%t" --perf_min_samples=1 --perf_force_samples=1 "--gtest_output=xml:!report!"
echo [!test_name!] RUN : !cmd!
!cmd!
set ret=!errorlevel!
echo [!test_name!] RETURN_CODE : !ret!
if !ret! EQU 0 (
echo [!test_name!] OK
set PASSED_TESTS=!PASSED_TESTS! !test_name!
) ELSE (
echo [!test_name!] FAILED
set SUMMARY_STATUS=1
set FAILED_TESTS=!FAILED_TESTS! !test_name!
)
echo.
)
rem Remove temporary test files
del /F /Q "%TMP%\ocv*.tmp*"
rem Report final status
echo ===============================================================
echo PASSED TESTS : %PASSED_TESTS%
echo FAILED TESTS : %FAILED_TESTS%
if %SUMMARY_STATUS% EQU 0 (
echo STATUS : OK
echo STATUS : All OpenCV tests finished successfully
) ELSE (
echo STATUS : FAIL
echo STATUS : OpenCV tests finished with status %SUMMARY_STATUS%
)
exit /B %SUMMARY_STATUS%
-2
View File
@@ -1,2 +0,0 @@
# Environment setup for OpenCV testing
export OPENCV_TEST_DATA_PATH=@CMAKE_INSTALL_PREFIX@/share/OpenCV/testdata
+4 -17
View File
@@ -1,22 +1,9 @@
file(GLOB HAAR_CASCADES haarcascades/*.xml)
file(GLOB LBP_CASCADES lbpcascades/*.xml)
if(ANDROID)
install(FILES ${HAAR_CASCADES} DESTINATION sdk/etc/haarcascades COMPONENT libs)
install(FILES ${LBP_CASCADES} DESTINATION sdk/etc/lbpcascades COMPONENT libs)
elseif(NOT WIN32)
install(FILES ${HAAR_CASCADES} DESTINATION share/OpenCV/haarcascades COMPONENT libs)
install(FILES ${LBP_CASCADES} DESTINATION share/OpenCV/lbpcascades COMPONENT libs)
endif()
install(FILES ${HAAR_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/haarcascades COMPONENT libs)
install(FILES ${LBP_CASCADES} DESTINATION ${OPENCV_OTHER_INSTALL_PATH}/lbpcascades COMPONENT libs)
if(INSTALL_TESTS AND OPENCV_TEST_DATA_PATH)
if(ANDROID)
install(DIRECTORY ${OPENCV_TEST_DATA_PATH} DESTINATION sdk/etc/testdata COMPONENT tests)
elseif(NOT WIN32)
# CPack does not set correct permissions by default, so we do it explicitly.
install(DIRECTORY ${OPENCV_TEST_DATA_PATH}
DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE
GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
DESTINATION share/OpenCV/testdata COMPONENT tests)
endif()
endif()
install(DIRECTORY "${OPENCV_TEST_DATA_PATH}/" DESTINATION "${OPENCV_TEST_DATA_INSTALL_PATH}" COMPONENT "tests")
endif()
Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -139,8 +139,8 @@ Thanks to Martin Spengler, ETH Zurich, for providing the demo movie.
<opencv_storage>
<cascade type_id="opencv-cascade-classifier"><stageType>BOOST</stageType>
<featureType>HAAR</featureType>
<height>14</height>
<width>28</width>
<height>28</height>
<width>14</width>
<stageParams>
<maxWeakCount>107</maxWeakCount></stageParams>
<featureParams>
+2 -2
View File
@@ -139,8 +139,8 @@ Thanks to Martin Spengler, ETH Zurich, for providing the demo movie.
<opencv_storage>
<cascade type_id="opencv-cascade-classifier"><stageType>BOOST</stageType>
<featureType>HAAR</featureType>
<height>19</height>
<width>23</width>
<height>23</height>
<width>19</width>
<stageParams>
<maxWeakCount>89</maxWeakCount></stageParams>
<featureParams>
+2 -2
View File
@@ -47,8 +47,8 @@
<opencv_storage>
<cascade type_id="opencv-cascade-classifier"><stageType>BOOST</stageType>
<featureType>HAAR</featureType>
<height>36</height>
<width>18</width>
<height>18</height>
<width>36</width>
<stageParams>
<maxWeakCount>53</maxWeakCount></stageParams>
<featureParams>
+2 -2
View File
@@ -139,8 +139,8 @@ Thanks to Martin Spengler, ETH Zurich, for providing the demo movie.
<opencv_storage>
<cascade type_id="opencv-cascade-classifier"><stageType>BOOST</stageType>
<featureType>HAAR</featureType>
<height>22</height>
<width>18</width>
<height>18</height>
<width>22</width>
<stageParams>
<maxWeakCount>152</maxWeakCount></stageParams>
<featureParams>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+122 -123
View File
@@ -1,25 +1,15 @@
#
#-----------------------
# CMake file for OpenCV docs
#
#-----------------------
if(BUILD_DOCS AND HAVE_SPHINX)
if(BUILD_DOCS AND DOXYGEN_FOUND)
set(HAVE_DOC_GENERATOR TRUE)
else()
set(HAVE_DOC_GENERATOR FALSE)
endif()
if(HAVE_DOC_GENERATOR)
project(opencv_docs)
set(DOC_LIST
"${OpenCV_SOURCE_DIR}/doc/opencv-logo.png"
"${OpenCV_SOURCE_DIR}/doc/opencv-logo2.png"
"${OpenCV_SOURCE_DIR}/doc/opencv-logo-white.png"
"${OpenCV_SOURCE_DIR}/doc/opencv.ico"
"${OpenCV_SOURCE_DIR}/doc/pattern.png"
"${OpenCV_SOURCE_DIR}/doc/acircles_pattern.png")
if(NOT INSTALL_CREATE_DISTRIB)
list(APPEND DOC_LIST "${OpenCV_SOURCE_DIR}/doc/haartraining.htm")
endif()
set(OPTIONAL_DOC_LIST "")
# build lists of modules to be documented
set(BASE_MODULES "")
set(EXTRA_MODULES "")
@@ -32,127 +22,136 @@ if(BUILD_DOCS AND HAVE_SPHINX)
list(APPEND EXTRA_MODULES ${mod})
endif()
endforeach()
set(FIXED_ORDER_MODULES core imgproc imgcodecs videoio highgui video calib3d features2d objdetect ml flann photo stitching)
list(REMOVE_ITEM BASE_MODULES ${FIXED_ORDER_MODULES})
ocv_list_sort(BASE_MODULES)
ocv_list_sort(EXTRA_MODULES)
set(FIXED_ORDER_MODULES core imgproc imgcodecs videoio highgui video calib3d features2d objdetect ml flann photo stitching)
list(REMOVE_ITEM BASE_MODULES ${FIXED_ORDER_MODULES})
set(BASE_MODULES ${FIXED_ORDER_MODULES} ${BASE_MODULES})
endif(HAVE_DOC_GENERATOR)
# build lists of documentation files and generate table of contents for reference manual
# ========= Doxygen docs =========
set(DOC_FAKE_ROOT "${CMAKE_CURRENT_BINARY_DIR}/fake-root")
set(DOC_FAKE_ROOT_FILES "")
if(BUILD_DOCS AND DOXYGEN_FOUND)
# not documented modules list
list(APPEND blacklist "ts" "java" "python2" "python3" "world" "contrib_world")
function(ocv_doc_add_file_to_fake_root source destination)
add_custom_command(
OUTPUT "${DOC_FAKE_ROOT}/${destination}"
COMMAND "${CMAKE_COMMAND}" -E copy "${source}" "${DOC_FAKE_ROOT}/${destination}"
DEPENDS "${source}"
COMMENT "Copying ${destination} to fake root..."
VERBATIM
)
list(APPEND DOC_FAKE_ROOT_FILES "${DOC_FAKE_ROOT}/${destination}")
set(DOC_FAKE_ROOT_FILES "${DOC_FAKE_ROOT_FILES}" PARENT_SCOPE)
endfunction()
function(ocv_doc_add_to_fake_root source)
if(ARGC GREATER 1)
set(destination "${ARGV1}")
else()
file(RELATIVE_PATH destination "${OpenCV_SOURCE_DIR}" "${source}")
endif()
if(IS_DIRECTORY "${source}")
file(GLOB_RECURSE files RELATIVE "${source}" "${source}/*")
foreach(file ${files})
ocv_doc_add_file_to_fake_root("${source}/${file}" "${destination}/${file}")
endforeach()
else()
ocv_doc_add_file_to_fake_root("${source}" "${destination}")
endif()
set(DOC_FAKE_ROOT_FILES "${DOC_FAKE_ROOT_FILES}" PARENT_SCOPE)
endfunction()
set(OPENCV_REFMAN_TOC "")
foreach(mod ${BASE_MODULES} ${EXTRA_MODULES})
if(EXISTS "${OPENCV_MODULE_opencv_${mod}_LOCATION}/doc/${mod}.rst")
ocv_doc_add_to_fake_root("${OPENCV_MODULE_opencv_${mod}_LOCATION}/doc" modules/${mod}/doc)
set(OPENCV_REFMAN_TOC "${OPENCV_REFMAN_TOC} ${mod}/doc/${mod}.rst\n")
# gathering headers
set(paths_include)
set(paths_doc)
set(paths_bib)
set(paths_sample)
set(paths_tutorial)
set(refs_main)
set(refs_extra)
set(deps)
foreach(m ${BASE_MODULES} ${EXTRA_MODULES})
list(FIND blacklist ${m} _pos)
if(${_pos} EQUAL -1)
# include folder
set(header_dir "${OPENCV_MODULE_opencv_${m}_LOCATION}/include")
if(EXISTS "${header_dir}")
list(APPEND paths_include "${header_dir}")
list(APPEND deps ${header_dir})
endif()
# doc folder
set(docs_dir "${OPENCV_MODULE_opencv_${m}_LOCATION}/doc")
if(EXISTS "${docs_dir}")
list(APPEND paths_doc "${docs_dir}")
list(APPEND deps ${docs_dir})
endif()
# sample folder
set(sample_dir "${OPENCV_MODULE_opencv_${m}_LOCATION}/samples")
if(EXISTS "${sample_dir}")
list(APPEND paths_sample "${sample_dir}")
list(APPEND deps ${sample_dir})
endif()
# tutorial folder
set(tutorial_dir "${OPENCV_MODULE_opencv_${m}_LOCATION}/tutorials")
if(EXISTS "${tutorial_dir}")
list(APPEND paths_tutorial "${tutorial_dir}")
list(APPEND deps ${tutorial_dir})
endif()
# BiBTeX file
set(bib_file "${docs_dir}/${m}.bib")
if(EXISTS "${bib_file}")
set(paths_bib "${paths_bib} ${bib_file}")
list(APPEND deps ${bib_file})
endif()
# Reference entry
# set(one_ref "@ref ${m} | ${m}\n")
set(one_ref "\t- ${m}. @ref ${m}\n")
list(FIND EXTRA_MODULES ${m} _pos)
if(${_pos} EQUAL -1)
set(refs_main "${refs_main}${one_ref}")
else()
set(refs_extra "${refs_extra}${one_ref}")
endif()
endif()
endforeach()
configure_file("${OpenCV_SOURCE_DIR}/modules/refman.rst.in" "${DOC_FAKE_ROOT}/modules/refman.rst" @ONLY)
ocv_doc_add_to_fake_root("${OpenCV_SOURCE_DIR}/index.rst")
ocv_doc_add_to_fake_root("${OpenCV_SOURCE_DIR}/doc")
ocv_doc_add_to_fake_root("${OpenCV_SOURCE_DIR}/platforms/android")
ocv_doc_add_to_fake_root("${OpenCV_SOURCE_DIR}/samples")
set(BUILD_PLANTUML "")
if(PLANTUML)
set(BUILD_PLANTUML "-tplantuml")
# fix references
# set(ref_header "Module name | Folder\n----------- | ------")
# if(refs_main)
# set(refs_main "### Main modules\n${ref_header}\n${refs_main}")
# endif()
# if(refs_extra)
# set(refs_extra "### Extra modules\n${ref_header}\n${refs_extra}")
# endif()
if(refs_main)
set(refs_main "- Main modules:\n${refs_main}")
endif()
if(refs_extra)
set(refs_extra "- Extra modules:\n${refs_extra}")
endif()
if(PDFLATEX_COMPILER)
add_custom_target(docs
COMMAND ${SPHINX_BUILD} ${BUILD_PLANTUML} -b latex -c "${CMAKE_CURRENT_SOURCE_DIR}" "${DOC_FAKE_ROOT}" .
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/pics ${CMAKE_CURRENT_BINARY_DIR}/doc/opencv1/pics
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/mymath.sty ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${PYTHON_DEFAULT_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/patch_refman_latex.py" opencv2refman.tex
COMMAND ${PYTHON_DEFAULT_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/patch_refman_latex.py" opencv2manager.tex
COMMAND ${CMAKE_COMMAND} -E echo "Generating opencv2refman.pdf"
COMMAND ${PDFLATEX_COMPILER} -interaction=batchmode opencv2refman.tex
COMMAND ${PDFLATEX_COMPILER} -interaction=batchmode opencv2refman.tex
COMMAND ${CMAKE_COMMAND} -E echo "Generating opencv2manager.pdf"
COMMAND ${PDFLATEX_COMPILER} -interaction=batchmode opencv2manager.tex
COMMAND ${PDFLATEX_COMPILER} -interaction=batchmode opencv2manager.tex
COMMAND ${CMAKE_COMMAND} -E echo "Generating opencv_user.pdf"
COMMAND ${PDFLATEX_COMPILER} -interaction=batchmode opencv_user.tex
COMMAND ${PDFLATEX_COMPILER} -interaction=batchmode opencv_user.tex
COMMAND ${CMAKE_COMMAND} -E echo "Generating opencv_tutorials.pdf"
COMMAND ${PDFLATEX_COMPILER} -interaction=batchmode opencv_tutorials.tex
COMMAND ${PDFLATEX_COMPILER} -interaction=batchmode opencv_tutorials.tex
COMMAND ${CMAKE_COMMAND} -E echo "Generating opencv_cheatsheet.pdf"
COMMAND ${PDFLATEX_COMPILER} -interaction=batchmode "${CMAKE_CURRENT_SOURCE_DIR}/opencv_cheatsheet.tex"
COMMAND ${PDFLATEX_COMPILER} -interaction=batchmode "${CMAKE_CURRENT_SOURCE_DIR}/opencv_cheatsheet.tex"
DEPENDS ${DOC_FAKE_ROOT_FILES}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating the PDF Manuals"
)
# additional config
set(doxyfile "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile")
set(rootfile "${CMAKE_CURRENT_BINARY_DIR}/root.markdown")
set(bibfile "${CMAKE_CURRENT_SOURCE_DIR}/opencv.bib")
set(faqfile "${CMAKE_CURRENT_SOURCE_DIR}/faq.markdown")
set(tutorial_path "${CMAKE_CURRENT_SOURCE_DIR}/tutorials")
set(tutorial_py_path "${CMAKE_CURRENT_SOURCE_DIR}/py_tutorials")
set(example_path "${CMAKE_SOURCE_DIR}/samples")
LIST(APPEND OPTIONAL_DOC_LIST "${CMAKE_BINARY_DIR}/doc/opencv2refman.pdf" "${CMAKE_BINARY_DIR}/doc/opencv2manager.pdf"
"${CMAKE_BINARY_DIR}/doc/opencv_user.pdf" "${CMAKE_BINARY_DIR}/doc/opencv_tutorials.pdf" "${CMAKE_BINARY_DIR}/doc/opencv_cheatsheet.pdf")
if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(docs PROPERTIES FOLDER "documentation")
endif()
# set export variables
string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_INPUT_LIST "${rootfile} ; ${faqfile} ; ${paths_include} ; ${paths_doc} ; ${tutorial_path} ; ${tutorial_py_path} ; ${paths_tutorial}")
string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_IMAGE_PATH "${paths_doc} ; ${tutorial_path} ; ${tutorial_py_path} ; ${paths_tutorial}")
# TODO: remove paths_doc from EXAMPLE_PATH after face module tutorials/samples moved to separate folders
string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_EXAMPLE_PATH "${example_path} ; ${paths_doc} ; ${paths_sample}")
set(CMAKE_DOXYGEN_LAYOUT "${CMAKE_CURRENT_SOURCE_DIR}/DoxygenLayout.xml")
set(CMAKE_DOXYGEN_OUTPUT_PATH "doxygen")
set(CMAKE_DOXYGEN_MAIN_REFERENCE "${refs_main}")
set(CMAKE_DOXYGEN_EXTRA_REFERENCE "${refs_extra}")
set(CMAKE_EXTRA_BIB_FILES "${bibfile} ${paths_bib}")
if (CMAKE_DOXYGEN_GENERATE_QHP)
set(CMAKE_DOXYGEN_GENERATE_QHP "YES")
else()
set(CMAKE_DOXYGEN_GENERATE_QHP "NO")
endif()
add_custom_target(html_docs
COMMAND "${SPHINX_BUILD}" ${BUILD_PLANTUML} -b html -c "${CMAKE_CURRENT_SOURCE_DIR}" "${DOC_FAKE_ROOT}" ./_html
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/mymath.sty ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${DOC_FAKE_ROOT_FILES}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating Online Documentation"
)
list(APPEND CMAKE_DOXYGEN_HTML_FILES "${CMAKE_CURRENT_SOURCE_DIR}/opencv.ico")
list(APPEND CMAKE_DOXYGEN_HTML_FILES "${CMAKE_CURRENT_SOURCE_DIR}/pattern.png")
list(APPEND CMAKE_DOXYGEN_HTML_FILES "${CMAKE_CURRENT_SOURCE_DIR}/acircles_pattern.png")
list(APPEND CMAKE_DOXYGEN_HTML_FILES "${CMAKE_CURRENT_SOURCE_DIR}/bodybg.png")
list(APPEND CMAKE_DOXYGEN_HTML_FILES "${CMAKE_CURRENT_SOURCE_DIR}/mymath.sty")
string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_HTML_FILES "${CMAKE_DOXYGEN_HTML_FILES}")
if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(html_docs PROPERTIES FOLDER "documentation")
if(PLANTUML_JAR)
set(CMAKE_DOXYGEN_PLANTUML_SUPPORT "PLANTUML_JAR_PATH = ${PLANTUML_JAR}\n")
else()
set(CMAKE_DOXYGEN_PLANTUML_SUPPORT "ALIASES += startuml{1}=\"@warning __No plantuml!__ \\n \\n @if DUMMY_PLANTUML_CODE\" enduml=\"@endif\"\n")
endif()
foreach(f ${DOC_LIST})
install(FILES "${f}" DESTINATION "${OPENCV_DOC_INSTALL_PATH}" COMPONENT docs)
endforeach()
foreach(f ${OPTIONAL_DOC_LIST})
install(FILES "${f}" DESTINATION "${OPENCV_DOC_INSTALL_PATH}" OPTIONAL COMPONENT docs)
endforeach()
# writing file
configure_file(Doxyfile.in ${doxyfile} @ONLY)
configure_file(root.markdown.in ${rootfile} @ONLY)
add_custom_target(doxygen
COMMAND ${DOXYGEN_EXECUTABLE} ${doxyfile}
DEPENDS ${doxyfile} ${rootfile} ${bibfile} ${deps}
)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doxygen/html
DESTINATION "${OPENCV_DOC_INSTALL_PATH}"
COMPONENT "docs" OPTIONAL
)
endif()
+236 -72
View File
@@ -1,124 +1,288 @@
# Doxyfile 1.3.9.1
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = opencv
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = OpenCV
PROJECT_NUMBER = @OPENCV_VERSION@
OUTPUT_DIRECTORY = .
CREATE_SUBDIRS = NO
PROJECT_BRIEF = "Open Source Computer Vision"
PROJECT_LOGO = @CMAKE_CURRENT_SOURCE_DIR@/opencv-logo-small.png
OUTPUT_DIRECTORY = @CMAKE_DOXYGEN_OUTPUT_PATH@
CREATE_SUBDIRS = YES
OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES
SORT_BRIEF_DOCS = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@/modules
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 4
ALIASES =
TCL_SUBST =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
EXTENSION_MAPPING =
MARKDOWN_SUPPORT = YES
AUTOLINK_SUPPORT = YES
BUILTIN_STL_SUPPORT = YES
CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO
IDL_PROPERTY_SUPPORT = YES
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
INLINE_GROUPED_CLASSES = NO
INLINE_SIMPLE_STRUCTS = NO
TYPEDEF_HIDES_STRUCT = YES
LOOKUP_CACHE_SIZE = 0
EXTRACT_ALL = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
EXTRACT_PRIVATE = NO
EXTRACT_PACKAGE = NO
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = NO
EXTRACT_LOCAL_METHODS = NO
EXTRACT_ANON_NSPACES = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
SHOW_GROUPED_MEMB_INC = NO
FORCE_LOCAL_INCLUDES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = YES
SORT_MEMBERS_CTORS_1ST = YES
SORT_GROUP_NAMES = NO
SORT_BY_SCOPE_NAME = NO
STRICT_PROTO_MATCHING = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_FILES = YES
SHOW_NAMESPACES = YES
FILE_VERSION_FILTER =
LAYOUT_FILE = @CMAKE_DOXYGEN_LAYOUT@
CITE_BIB_FILES = @CMAKE_EXTRA_BIB_FILES@
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = @CMAKE_DOXYGEN_INPUT_LIST@
FILE_PATTERNS = *.cpp *.h*
RECURSIVE = NO
INPUT_ENCODING = UTF-8
FILE_PATTERNS =
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
EXCLUDE_PATTERNS = *.inl.hpp *.impl.hpp *_detail.hpp */cudev/**/detail/*.hpp
EXCLUDE_SYMBOLS = cv::DataType<*> int void
EXAMPLE_PATH = @CMAKE_DOXYGEN_EXAMPLE_PATH@
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = YES
IMAGE_PATH = @CMAKE_DOXYGEN_IMAGE_PATH@
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE =
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
REFERENCES_LINK_SOURCE = YES
SOURCE_TOOLTIPS = YES
USE_HTAGS = NO
VERBATIM_HEADERS = NO
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
HTML_HEADER = @CMAKE_CURRENT_SOURCE_DIR@/header.html
HTML_FOOTER = @CMAKE_CURRENT_SOURCE_DIR@/footer.html
HTML_STYLESHEET =
HTML_EXTRA_STYLESHEET = @CMAKE_CURRENT_SOURCE_DIR@/stylesheet.css
HTML_EXTRA_FILES = @CMAKE_DOXYGEN_HTML_FILES@
HTML_COLORSTYLE_HUE = 220
HTML_COLORSTYLE_SAT = 100
HTML_COLORSTYLE_GAMMA = 80
HTML_TIMESTAMP = YES
HTML_DYNAMIC_SECTIONS = NO
HTML_INDEX_NUM_ENTRIES = 100
GENERATE_DOCSET = NO
DOCSET_FEEDNAME = "Doxygen generated docs"
DOCSET_BUNDLE_ID = org.doxygen.Project
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
DOCSET_PUBLISHER_NAME = Publisher
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
CHM_INDEX_ENCODING =
BINARY_TOC = NO
TOC_EXPAND = NO
GENERATE_QHP = @CMAKE_DOXYGEN_GENERATE_QHP@
QCH_FILE = ../opencv-@OPENCV_VERSION@.qch
QHP_NAMESPACE = org.itseez.opencv.@OPENCV_VERSION@
QHP_VIRTUAL_FOLDER = opencv
QHP_CUST_FILTER_NAME =
QHP_CUST_FILTER_ATTRS =
QHP_SECT_FILTER_ATTRS =
QHG_LOCATION =
GENERATE_ECLIPSEHELP = NO
ECLIPSE_DOC_ID = org.doxygen.Project
DISABLE_INDEX = NO
GENERATE_TREEVIEW = NO
ENUM_VALUES_PER_LINE = 1
TREEVIEW_WIDTH = 250
EXT_LINKS_IN_WINDOW = YES
FORMULA_FONTSIZE = 14
FORMULA_TRANSPARENT = YES
USE_MATHJAX = YES
MATHJAX_FORMAT = HTML-CSS
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols
MATHJAX_CODEFILE = @CMAKE_CURRENT_SOURCE_DIR@/mymath.js
SEARCHENGINE = YES
SERVER_BASED_SEARCH = NO
EXTERNAL_SEARCH = NO
SEARCHENGINE_URL =
SEARCHDATA_FILE = searchdata.xml
EXTERNAL_SEARCH_ID =
EXTRA_SEARCH_MAPPINGS =
GENERATE_LATEX = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4
EXTRA_PACKAGES = mymath
LATEX_HEADER =
LATEX_FOOTER =
LATEX_EXTRA_FILES =
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
LATEX_SOURCE_CODE = NO
LATEX_BIB_STYLE = plain
GENERATE_RTF = NO
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
GENERATE_MAN = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
GENERATE_XML = NO
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
XML_OUTPUT = xml
XML_PROGRAMLISTING = YES
GENERATE_DOCBOOK = NO
DOCBOOK_OUTPUT = docbook
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
PREDEFINED = CV_EXPORTS= CVAPI(x)=x __cplusplus=1
SEARCH_INCLUDES = NO
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = __cplusplus=1 \
HAVE_IPP_A=1 \
CVAPI(x)=x \
CV_DOXYGEN= \
CV_EXPORTS= \
CV_EXPORTS_W= \
CV_EXPORTS_W_SIMPLE= \
CV_EXPORTS_AS(x)= \
CV_EXPORTS_W_MAP= \
CV_IN_OUT= \
CV_OUT= \
CV_PROP= \
CV_PROP_RW= \
CV_WRAP= \
CV_WRAP_AS(x)= \
CV_CDECL= \
CV_Func = \
CV_DO_PRAGMA(x)= \
CV_SUPPRESS_DEPRECATED_START= \
CV_SUPPRESS_DEPRECATED_END= \
CV_INLINE= \
CV_NORETURN= \
CV_DEFAULT(x)=" = x" \
CV_NEON=1 \
FLANN_DEPRECATED=
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
EXTERNAL_PAGES = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
HIDE_UNDOC_RELATIONS = YES
MSCGEN_PATH =
DIA_PATH =
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = NO
DOT_NUM_THREADS = 0
DOT_FONTNAME = Helvetica
DOT_FONTSIZE = 10
DOT_FONTPATH =
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
UML_LOOK = NO
GROUP_GRAPHS = YES
UML_LOOK = YES
UML_LIMIT_NUM_FIELDS = 10
TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
CALL_GRAPH = YES
CALLER_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DOT_IMAGE_FORMAT = png
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = svg
INTERACTIVE_SVG = YES
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MSCFILE_DIRS =
DIAFILE_DIRS =
DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = YES
@CMAKE_DOXYGEN_PLANTUML_SUPPORT@
+192
View File
@@ -0,0 +1,192 @@
<doxygenlayout version="1.0">
<!-- Generated by doxygen 1.8.6 -->
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title=""/>
<tab type="pages" visible="yes" title="" intro=""/>
<tab type="modules" visible="yes" title="" intro=""/>
<tab type="namespaces" visible="yes" title="">
<tab type="namespacelist" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
<tab type="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
</tab>
<tab type="files" visible="yes" title="">
<tab type="filelist" visible="yes" title="Files index" intro=""/>
<tab type="globals" visible="yes" title="Global objects" intro=""/>
</tab>
<tab type="examples" visible="yes" title="" intro=""/>
<tab type="user" url="/3.0-last-rst" title="Sphinx Documentation"/>
</navindex>
<!-- Layout definition for a class page -->
<class>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<inheritancegraph visible="$CLASS_GRAPH"/>
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
<memberdecl>
<nestedclasses visible="yes" title=""/>
<publictypes title=""/>
<services title=""/>
<interfaces title=""/>
<publicslots title=""/>
<signals title=""/>
<publicmethods title=""/>
<publicstaticmethods title=""/>
<publicattributes title=""/>
<publicstaticattributes title=""/>
<protectedtypes title=""/>
<protectedslots title=""/>
<protectedmethods title=""/>
<protectedstaticmethods title=""/>
<protectedattributes title=""/>
<protectedstaticattributes title=""/>
<packagetypes title=""/>
<packagemethods title=""/>
<packagestaticmethods title=""/>
<packageattributes title=""/>
<packagestaticattributes title=""/>
<properties title=""/>
<events title=""/>
<privatetypes title=""/>
<privateslots title=""/>
<privatemethods title=""/>
<privatestaticmethods title=""/>
<privateattributes title=""/>
<privatestaticattributes title=""/>
<friends title=""/>
<related title="" subtitle=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<services title=""/>
<interfaces title=""/>
<constructors title=""/>
<functions title=""/>
<related title=""/>
<variables title=""/>
<properties title=""/>
<events title=""/>
</memberdef>
<allmemberslink visible="yes"/>
<usedfiles visible="$SHOW_USED_FILES"/>
<authorsection visible="yes"/>
</class>
<!-- Layout definition for a namespace page -->
<namespace>
<briefdescription visible="yes"/>
<memberdecl>
<nestednamespaces visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<classes visible="yes" title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection visible="yes"/>
</namespace>
<!-- Layout definition for a file page -->
<file>
<briefdescription visible="yes"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<includegraph visible="$INCLUDE_GRAPH"/>
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
<sourcelink visible="yes"/>
<memberdecl>
<classes visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
<variables title=""/>
</memberdef>
<authorsection/>
</file>
<!-- Layout definition for a group page -->
<group>
<briefdescription visible="yes"/>
<groupgraph visible="$GROUP_GRAPHS"/>
<memberdecl>
<nestedgroups visible="yes" title=""/>
<dirs visible="yes" title=""/>
<files visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<pagedocs/>
<inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
<enumvalues title=""/>
<functions title=""/>
<variables title=""/>
<signals title=""/>
<publicslots title=""/>
<protectedslots title=""/>
<privateslots title=""/>
<events title=""/>
<properties title=""/>
<friends title=""/>
</memberdef>
<authorsection visible="yes"/>
</group>
<!-- Layout definition for a directory page -->
<directory>
<briefdescription visible="yes"/>
<directorygraph visible="yes"/>
<memberdecl>
<dirs visible="yes"/>
<files visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
</directory>
</doxygenlayout>
-12
View File
@@ -1,12 +0,0 @@
function insertIframe (elementId, iframeSrc)
{
var iframe;
if (document.createElement && (iframe = document.createElement('iframe')))
{
iframe.src = unescape(iframeSrc);
iframe.width = "100%";
iframe.height = "511px";
var element = document.getElementById(elementId);
element.parentNode.replaceChild(iframe, element);
}
}
-227
View File
@@ -1,227 +0,0 @@
{#
basic/layout.html
~~~~~~~~~~~~~~~~~
Master layout template for Sphinx themes.
:copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
#}
{%- block doctype -%}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
{%- endblock %}
{% set script_files = script_files + [pathto("_static/insertIframe.js", 1)] %}
{%- set reldelim1 = reldelim1 is not defined and ' &raquo;' or reldelim1 %}
{%- set reldelim2 = reldelim2 is not defined and ' |' or reldelim2 %}
{%- set render_sidebar = (not embedded) and (not theme_nosidebar|tobool) and
(sidebars != []) %}
{%- set url_root = pathto('', 1) %}
{%- if url_root == '#' %}{% set url_root = '' %}{% endif %}
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-33108845-1']);
_gaq.push(['_setDomainName', 'opencv.org']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
{%- macro relbar() %}
<div class="related">
<h3>{{ _('Navigation') }}</h3>
<ul>
{%- for rellink in rellinks %}
<li class="right" {% if loop.first %}style="margin-right: 10px"{% endif %}>
<a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags|e }}"
{{ accesskey(rellink[2]) }}>{{ rellink[3] }}</a>
{%- if not loop.first %}{{ reldelim2 }}{% endif %}</li>
{%- endfor %}
{%- block rootrellink %}
<li><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}</li>
{%- endblock %}
{%- for parent in parents %}
<li><a href="{{ parent.link|e }}" {% if loop.last %}{{ accesskey("U") }}{% endif %}>{{ parent.title }}</a>{{ reldelim1 }}</li>
{%- endfor %}
{%- block relbaritems %} {% endblock %}
</ul>
</div>
{%- endmacro %}
{%- macro sidebar() %}
{%- if render_sidebar %}
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
{%- block sidebarlogo %}
{%- if logo %}
<p class="logo"><a href="{{ pathto(master_doc) }}">
<img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>
</a></p>
{%- endif %}
{%- endblock %}
{%- if sidebars == None %}
{%- block sidebarsearch %}
{%- include "searchbox.html" %}
{%- endblock %}
{%- endif %}
{%- if sidebars != None %}
{#- new style sidebar: explicitly include/exclude templates #}
{%- for sidebartemplate in sidebars %}
{%- include sidebartemplate %}
{%- endfor %}
{%- else %}
{#- old style sidebars: using blocks -- should be deprecated #}
{%- block sidebartoc %}
{%- include "localtoc.html" %}
{%- endblock %}
{%- block sidebarrel %}
{%- include "relations.html" %}
{%- endblock %}
{%- block sidebarsourcelink %}
{%- include "sourcelink.html" %}
{%- endblock %}
{%- if customsidebar %}
{%- include customsidebar %}
{%- endif %}
{%- endif %}
</div>
</div>
{%- endif %}
{%- endmacro %}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset={{ encoding }}" />
{{ metatags }}
{%- if not embedded and docstitle %}
{%- set titlesuffix = " &mdash; "|safe + docstitle|e %}
{%- else %}
{%- set titlesuffix = "" %}
{%- endif %}
{%- block htmltitle %}
<title>{{ title|striptags|e }}{{ titlesuffix }}</title>
{%- endblock %}
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
<link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
{%- for cssfile in css_files %}
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
{%- endfor %}
{%- if not embedded %}
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '{{ url_root }}',
VERSION: '{{ release|e }}',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '{{ '' if no_search_suffix else file_suffix }}',
HAS_SOURCE: {{ has_source|lower }}
};
</script>
{%- for scriptfile in script_files %}
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
{%- endfor %}
{%- if use_opensearch %}
<link rel="search" type="application/opensearchdescription+xml"
title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
href="{{ pathto('_static/opensearch.xml', 1) }}"/>
{%- endif %}
{%- if favicon %}
<link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
{%- endif %}
{%- endif %}
{%- block linktags %}
{%- if hasdoc('about') %}
<link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
{%- endif %}
{%- if hasdoc('genindex') %}
<link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
{%- endif %}
{%- if hasdoc('search') %}
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
{%- endif %}
{%- if hasdoc('copyright') %}
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
{%- endif %}
<link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}" />
{%- if parents %}
<link rel="up" title="{{ parents[-1].title|striptags|e }}" href="{{ parents[-1].link|e }}" />
{%- endif %}
{%- if next %}
<link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}" />
{%- endif %}
{%- if prev %}
<link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}" />
{%- endif %}
{%- endblock %}
{%- block extrahead %} {% endblock %}
</head>
<body>
{%- block header %}{% endblock %}
{%- block relbar1 %}{{ relbar() }}{% endblock %}
{%- block content %}
{%- block sidebar1 %} {# possible location for sidebar #} {% endblock %}
<div class="document">
{% block document %}
<div class="documentwrapper">
{%- if not embedded %}{% if not theme_nosidebar|tobool %}
<div class="bodywrapper">
{%- endif %}{% endif %}
<div class="body">
{% block body %} {% endblock %}
</div>
<div class="feedback">
<h2>Help and Feedback</h2>
You did not find what you were looking for?
<ul>
{% if theme_lang == 'c' %}
{% endif %}
{% if theme_lang == 'cpp' %}
<li>Try the <a href="http://docs.opencv.org/opencv_cheatsheet.pdf">Cheatsheet</a>.</li>
{% endif %}
{% if theme_lang == 'py' %}
<li>Try the <a href="cookbook.html">Cookbook</a>.</li>
{% endif %}
<li>Ask a question on the <a href="http://answers.opencv.org">Q&A forum</a>.</li>
<li>If you think something is missing or wrong in the documentation,
please file a <a href="http://code.opencv.org">bug report</a>.</li>
</ul>
</div>
{%- if not embedded %}{% if not theme_nosidebar|tobool %}
</div>
{%- endif %}{% endif %}
</div>
{% endblock %}
{%- block sidebar2 %}{{ sidebar() }}{% endblock %}
<div class="clearer"></div>
</div>
{%- endblock %}
{%- block relbar2 %}{{ relbar() }}{% endblock %}
{%- block footer %}
<div class="footer">
{%- if show_copyright %}
{%- if hasdoc('copyright') %}
{% trans path=pathto('copyright'), copyright=copyright|e %}&copy; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
{%- else %}
{% trans copyright=copyright|e %}&copy; Copyright {{ copyright }}.{% endtrans %}
{%- endif %}
{%- endif %}
{%- if last_updated %}
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
{%- endif %}
{%- if show_sphinx %}
{% trans sphinx_version=sphinx_version|e %}Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> {{ sphinx_version }}.{% endtrans %}
{%- endif %}
</div>
{%- endblock %}
</body>
</html>
-21
View File
@@ -1,21 +0,0 @@
{#
basic/searchbox.html
~~~~~~~~~~~~~~~~~~~~
Sphinx sidebar template: quick search box.
:copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
#}
{%- if pagename != "search" %}
<div id="searchbox" style="display: none">
<form class="search" action="{{ pathto('search') }}" method="get">
<input type="text" name="q" size="18" />
<input type="submit" value="{{ _('Search') }}" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</p>
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
{%- endif %}

Some files were not shown because too many files have changed in this diff Show More