1402 Commits

Autor SHA1 Mensagem Data
Roman Donchenko a0f6e1ba1d Merge pull request #1103 from apavlenko:ver_2.4.6.1 2013-07-10 15:49:00 +04:00
Andrey Pavlenko 2b2e02166e setting version to 2.4.6.1 (hot-fix release for Linux camera support) 2013-07-10 15:12:39 +04:00
Roman Donchenko 2dedfd9762 Merge pull request #1099 from asmorkalov:linux_vcap_fix 2013-07-09 17:13:05 +04:00
Alexander Smorkalov f77d1f57ee V4L and V4L2 based Video capture bug fix (Bugfix #3144). 2013-07-09 16:07:55 +04:00
Roman Donchenko b1f04c5388 Merge pull request #1097 from apavlenko:ocl_tests_fixes 2013-07-09 14:00:38 +04:00
Andrey Pavlenko fcb4c0e51c fixing working with test data and a small fix for init code
- set init value for `numsdev` to prevent use of uninitialized value
- stop use of 'workdir' and files from samples
- forcing use of 'opencv_extra' instead
Note: set OPENCV_TEST_DATA_PATH to full path to 'opencv_extra/testdata' (gitolite@code.opencv.org:opencv_extra.git) before running the test!
2013-07-09 13:25:21 +04:00
Andrey Pavlenko 1a2458885b Merge pull request #1094 from asmorkalov:android_na_fix 2013-07-08 11:25:40 +04:00
Alexander Smorkalov 69b308a368 Various fixes in android sample NativeActivity. 2013-07-05 14:08:37 +04:00
Roman Donchenko f5089100b9 Merge pull request #1073 from asmorkalov:android_cvjavaframe 2013-07-05 13:41:51 +04:00
Roman Donchenko c4e59866a2 Merge pull request #1074 from devernay:2.4-cap_qt-multithread 2013-07-05 13:28:38 +04:00
Andrey Pavlenko b6b1d5e75d Merge pull request #1092 from asmorkalov:manager_version_inc 2013-07-05 13:02:10 +04:00
Roman Donchenko 36a4d246f4 Merge pull request #1087 from znah:2.4 2013-07-05 12:07:45 +04:00
Alexander Smorkalov e905c81ccc OpenCV Manager version++. 2013-07-05 12:07:04 +04:00
Roman Donchenko dbf02c71b6 Merge pull request #1091 from SpecLad:xls-updates 2013-07-05 12:00:52 +04:00
Roman Donchenko 2b44172026 xls-report.py: make behaviour more intelligent in case of repeated results 2013-07-04 20:01:27 +04:00
Roman Donchenko 0732905cff xls-report.py: write tests in sorted order 2013-07-04 20:01:27 +04:00
Roman Donchenko ea054e2888 xls-report.py: made most columns a little wider 2013-07-04 20:01:27 +04:00
Roman Donchenko 4e939e2fce xls-report.py: added an option to include data from unrecognized XMLs 2013-07-04 20:00:59 +04:00
Roman Donchenko ec1df9f54d Merge pull request #1090 from asmorkalov:android_tbb_downgrade 2013-07-04 19:46:53 +04:00
Alexander Smorkalov c2e6668414 Bug #3124 libopencv_java.so v 2.4.6 hangs on some Android 4.0.3 devices fixed.
Downgrade TBB to 4.1u2 for all platforms, except WinRT.
2013-07-04 18:52:52 +04:00
Roman Donchenko 83fd385bbd xls-report.py: don't eat all errors when reading sheet.conf 2013-07-04 18:03:03 +04:00
Alexander Mordvintsev 3677a66403 line realign 2013-07-04 17:43:38 +04:00
Roman Donchenko a2d576c1bb Merge pull request #1085 from bitwangyaoyao:2.4_optBP 2013-07-04 17:24:21 +04:00
Roman Donchenko 4d569732b9 Merge pull request #1086 from melody-rain:2.4_fix_oclMat_constructor 2013-07-04 17:23:53 +04:00
Jin Ma 97e620b8f3 Fix oclMat constructor when roi is provided. 2013-07-04 16:14:55 +08:00
yao f2333e90f6 optimize stereoBP kernel 2013-07-04 14:46:38 +08:00
Alexander Mordvintsev 8045093cfb GFTT wrapped to python 2013-07-03 22:26:18 +04:00
Frédéric Devernay b524e275c1 allow QtKit capture in secondary threads
[NSRunLoop currentRunLoop] is not the same as in the main thread.
see
https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/F
oundation/Classes/nsrunloop_Class/Reference/Reference.html
"If no input sources or timers are attached to the run loop, this
method exits immediately"

The old code caused grabFrame() to return immediately if the capture
was not done in the main thread.
This code works correctly, even in secondary threads, provided that all
capture functions are called in the *same* thread
2013-07-02 18:08:12 +02:00
Alexander Smorkalov 91b713b8c9 JavaCameraView delivers same frame twice (Bug #3123) fixed. 2013-07-02 12:58:59 +04:00
Roman Donchenko 6bf8f474fa Merge pull request #1051 from pengx17:2.4_fback_ocl 2013-07-01 13:45:43 +04:00
Roman Donchenko c8cd2cf601 Merge pull request #1061 from bitwangyaoyao:2.4_fix2 2013-07-01 13:21:12 +04:00
Roman Donchenko 087bab6ceb Merge pull request #1060 from pengx17:2.4_setbinary_fix 2013-07-01 13:20:51 +04:00
Roman Donchenko 38cf0a692e Merge pull request #1055 from pengx17:2.4_ocl_hang_workaround 2013-07-01 13:20:04 +04:00
Andrey Pavlenko a4c38196bc Merge pull request #1069 from apavlenko:fix_bin_compat_checker 2013-07-01 12:10:57 +04:00
Andrey Pavlenko 97b939195f adding 'ios.h' to ignore list should work on non-Mac) 2013-07-01 10:03:08 +04:00
Roman Donchenko eedc032b98 Merge pull request #1067 from asmorkalov:android_service_readme 2013-06-28 19:47:30 +04:00
Roman Donchenko 43632bf973 Merge pull request #1065 from apavlenko:fix_eclipse_warning 2013-06-28 19:32:44 +04:00
Roman Donchenko d60cb1d00a Merge pull request #1064 from asmorkalov:winrt_sample_fix 2013-06-28 19:08:12 +04:00
Alexander Smorkalov 8b6f1d9bd9 OpenCV Version++; Manager Version++ 2013-06-28 18:25:53 +04:00
Andrey Pavlenko 6069967109 removing unused import 2013-06-28 17:28:57 +04:00
Alexander Smorkalov 67d4d9e9f4 Path to OpenCV dll libs fixes. 2013-06-28 16:48:27 +04:00
Roman Donchenko 4b51b1e3a8 Merge pull request #1059 from dominikrose:dc1394_2-1394b 2013-06-28 14:47:45 +04:00
Roman Donchenko 1707b1769f Merge pull request #1063 from alekcac:conversion 2013-06-28 14:41:35 +04:00
Roman Donchenko a96466a73a Merge pull request #1062 from kirill-kornyakov:fixes-for-documentation 2013-06-28 14:35:51 +04:00
Roman Donchenko 156155addb Merge pull request #1018 from jet47:cuda-5.5-arm 2013-06-28 14:26:45 +04:00
yao c66e27d49e stereoBM fix an error on Linux when running full performance test 2013-06-28 17:45:39 +08:00
Alexander Shishkov 7b06592dea added conversions between UIImage and cv::Mat 2013-06-28 13:26:54 +04:00
Kirill Kornyakov aef347e7b3 Removed references to opencv.itseez.com 2013-06-28 12:48:12 +04:00
Kirill Kornyakov 0339dd51f1 Removed all references to trunk 2013-06-28 12:38:44 +04:00
yao c73a10cb4d warnings fix 2013-06-28 16:23:01 +08:00
Kirill Kornyakov cbed07bc18 Removed references to YG from samples 2013-06-28 12:21:52 +04:00
Kirill Kornyakov f065c46fbe Completely get rid of opencv_group 2013-06-28 12:15:14 +04:00
Kirill Kornyakov a78ebc1175 Updated a couple of more links 2013-06-28 12:12:53 +04:00
Kirill Kornyakov 2cacad9470 updated email address 2013-06-28 11:53:39 +04:00
Kirill Kornyakov 2980a88570 Mentioned 2.4 and master branches 2013-06-28 11:51:40 +04:00
Kirill Kornyakov e447d87496 Added link to contribution process, updated formatting 2013-06-28 11:44:10 +04:00
Alexander Shishkov a8db327574 changed contacts in tutorual 2013-06-28 11:44:09 +04:00
Roman Donchenko 3b78fe2684 Merge pull request #1054 from asmorkalov:opencv_version 2013-06-28 11:29:55 +04:00
yao 6982ea5a66 some tweaks to samples 2013-06-28 15:08:39 +08:00
yao c1a59b8d80 more fix to HOG 2013-06-28 13:38:58 +08:00
yao f1d9680ba8 format the ocl's samples name 2013-06-28 11:44:43 +08:00
yao 587fb4940d some accuracy fix of HOG 2013-06-28 11:43:43 +08:00
peng xiao a5383b8627 Move function definition from header to cpp. 2013-06-28 10:52:39 +08:00
peng xiao e858a6c347 Renew function logic. 2013-06-28 10:39:09 +08:00
peng xiao 14dd345cdf Fix ocl::setBinaryDiskCache
Previously the function requires Info::Impl implicitly. A call will create
new Context this function which is not intended.
The properties are now moved to global scope to fix this issue.
2013-06-28 10:12:18 +08:00
Dominik Rose d39aeeca0f Merge remote-tracking branch 'remotes/upstream/2.4' into dc1394_2-1394b 2013-06-27 19:43:05 +02:00
Dominik Rose e32700cf8f dc1394-2: support for operation mode 1394b added 2013-06-27 15:05:32 +02:00
Roman Donchenko d76468c223 Merge pull request #1040 from asmorkalov:winrt 2013-06-27 16:59:25 +04:00
Roman Donchenko 5d7419e658 Merge pull request #1056 from asmorkalov:android_old_remove 2013-06-27 16:29:56 +04:00
Roman Donchenko 51008322c5 Merge pull request #1057 from SpecLad:gtest-param-filter 2013-06-27 15:50:31 +04:00
Alexander Smorkalov 7c5bd78804 Test fixes
Calib3d badarg tests fixed. Default exception handling enabled;
Highgui Video I/O tests fixed on ARM;
Code cleanup.
2013-06-27 15:47:37 +04:00
Alexander Smorkalov 070a77ae0d TBB updated to version 4.1 update 4. 2013-06-27 15:47:23 +04:00
Roman Donchenko 664b720e4d Extended Google Test to allow filtering by parameter value. 2013-06-27 13:14:37 +04:00
Roman Donchenko f477696cc5 Merge pull request #1050 from pengx17:2.4_clach_mod 2013-06-27 12:22:01 +04:00
Alexander Smorkalov e241c14b94 OpenCV Library and Manager version incremented.
OpenCV Version 2.4.6;
OpenCV Manager Version 2.8;
Doc fixes.
2013-06-27 12:05:25 +04:00
Alexander Smorkalov 5de7627806 Old android folder removed.
The changes must be applied after buildbot update only!
2013-06-27 11:26:51 +04:00
peng xiao b2da1cdcc2 Temporarily disable command queue release as it causes program hang at exit 2013-06-27 10:20:21 +08:00
peng xiao fc64faa22e Remove empty cv::ocl::CLAHE class. 2013-06-27 10:06:37 +08:00
peng xiao dcc4766129 Fix white-spacing 2013-06-27 09:57:42 +08:00
Roman Donchenko 76efc9853a Merge pull request #1053 from snosov1:unreliable-results-fix 2013-06-26 17:00:15 +04:00
Roman Donchenko bf6b119a3f Merge pull request #1045 from bitwangyaoyao:2.4_fix 2013-06-26 16:55:06 +04:00
Roman Donchenko 1cfe5aa41e Merge pull request #1048 from SpecLad:xls-conf 2013-06-26 16:53:50 +04:00
Alexander Smorkalov 347c86d9b5 Windows RT related code cleanup.
Windows RT sample cleanup.
Video I/O code cleanup.
2013-06-26 05:44:10 -07:00
Roman Donchenko a335fc591f Merge pull request #1052 from SpecLad:ocl-mingw-warnings 2013-06-26 16:13:47 +04:00
Sergei Nosov 29955620e0 multiruns added to avoid the 'unreliable results' error 2013-06-26 15:07:39 +04:00
Roman Donchenko 5b2b76763e Fix miscellaneous warnings from compiling with MinGW.
Note that MinGW defines NOMINMAX by default.
2013-06-26 14:59:00 +04:00
peng xiao 9270205947 Fix build errors 2013-06-26 17:24:09 +08:00
yao 2ec1140b25 fix pyrlk 2013-06-26 16:58:20 +08:00
peng xiao 132b885b24 Add opencl implementation of Farnback optical flow. 2013-06-26 16:35:19 +08:00
peng xiao cc3fb3d182 Let CLAHE_OCL reuse cv::CLAHE abstract class. 2013-06-26 10:50:51 +08:00
Alexander Smorkalov 91c519467d WinRT build fix for samples and static libs. 2013-06-25 03:36:07 -07:00
Alexander Smorkalov b0854c605a Windows RT sample improved.
Corrent histogram output on YUV image implemented;
Some code refactoring done.
2013-06-25 03:36:05 -07:00
Alexander Smorkalov bf22567c09 Transform selection implemented in sample GUI.
Gistogram output does not work propertly due color conversion problems.
2013-06-25 03:36:04 -07:00
Alexander Smorkalov de9f659f1e Several transforms added to sample IMFTransform. 2013-06-25 03:36:03 -07:00
Alexander Smorkalov 9e06287121 Windows RT sample updated.
Unused scenarious removed.
Grey scale convertion replaced with cv::Canny call.
2013-06-25 03:36:01 -07:00
Alexander Smorkalov 4990336760 Base camera access sample for Windows RT added.
Microsoft Media Foundation Camera Sample for Windows RT added.
2013-06-25 03:36:00 -07:00
Alexander Smorkalov ee591efb9f Build fix for Windows RT. 2013-06-25 03:35:58 -07:00
Alexander Smorkalov 34c6598752 Perf test failure fixes for Media Foundation. 2013-06-25 03:35:57 -07:00
Alexander Smorkalov 2bc1d3709c GetProperty method for MSMF VideoCapture implemented. 2013-06-25 03:35:56 -07:00
Alexander Smorkalov 08a0e1c91b TBB support for WinRT fixed.
Development release of TBB with WinRT support added;
TBB.dll is placed in bin folder now.
2013-06-25 03:35:54 -07:00
Alexander Smorkalov 43122939cb Media foundation video i/o fixes.
Bug in Video for Windows capture init fixed;
Media Foundation based capture finalization fixed;
Highgui tests for video i/o updated.
2013-06-25 03:35:30 -07:00
yao 1227e00f3d fix moments 2013-06-25 16:26:33 +08:00
Roman Donchenko 381057eaad Merge pull request #1002 from asmorkalov:doc_warning_fix 2013-06-25 11:42:00 +04:00
Roman Donchenko f8e187e1e1 Merge pull request #1035 from SpecLad:cv-concurrency 2013-06-25 11:33:16 +04:00
Roman Donchenko e6784ca8a0 Merge pull request #1021 from alekcac:platforms 2013-06-25 11:32:52 +04:00
yao dbdeff2069 fix stereobm crash on some cpu ocl 2013-06-25 14:12:02 +08:00
yao 6db776f957 add "-c" for cpu ocl mode in perf tests 2013-06-25 14:11:28 +08:00
Roman Donchenko c244f000ab Merge pull request #1030 from SpecLad:ts-impl-variants 2013-06-24 18:28:13 +04:00
Roman Donchenko 961251f0ca Merge pull request #1029 from SpecLad:have-qt-config 2013-06-24 17:03:51 +04:00
Alexander Shishkov bb9a0b7253 Update Info.plist.in 2013-06-24 14:52:17 +04:00
Alexander Smorkalov 996f02a531 Multiple Media Foundation video i/o fixes.
Video i/o tests enabled for media foundation;
Negative stride support added to VideoCapture;
Error handling improved, dead lock in case of playback error fixed;
Some code refacotring done.
2013-06-24 02:45:27 -07:00
Alexander Smorkalov 0c9d776083 Media Foundation-based code refactoring.
I* + SafeRelease -> ComPtr.
2013-06-24 02:45:26 -07:00
Alexander Smorkalov e94cc0b5ee Media Foundation camera capture fixed.
Camera-based VideoCapture updated to fit changes in ImageGrabber from prev
commit
2013-06-24 02:45:25 -07:00
Alexander Smorkalov 9fb762ccec VideoCapture for video files implemented.
Set and Get methods are not implemented;
Camera based video capture is broken due to modifications.
2013-06-24 02:45:24 -07:00
Alexander Smorkalov 22b0cfbaa2 Media Foundation-based VideoWriter improvements.
FourCC parameter handlig added;
Smart pointers instead SafeRelease call;
Windows RT support (vertical mirroring).
2013-06-24 02:45:23 -07:00
Alexander Smorkalov ccb8292e8e Media Foundation-based VideoWriter added 2013-06-24 02:45:22 -07:00
Alexander Smorkalov 033e3092a3 Media Foundation based VideoCapture improved
Code formating fixed;
GrabFrame method implemented correclty.
2013-06-24 02:45:21 -07:00
Alexander Smorkalov e3577c2f58 Build with dev release of TBB enabled. 2013-06-24 02:45:21 -07:00
Roman Donchenko 3bab7391d0 Merge pull request #1028 from SpecLad:ocl-clahe-dtor 2013-06-24 13:18:28 +04:00
Roman Donchenko c16316c4b4 Replaced the semi-public CV_PARALLEL_FRAMEWORK macro with a function.
That way, core/internal.hpp doesn't have to depend on cvconfig.h, which we
don't ship.
2013-06-24 12:57:14 +04:00
Roman Donchenko 171a56fe82 Merge pull request #1034 from pengx17:2.4_oclmat_inoutarray 2013-06-24 12:27:26 +04:00
Roman Donchenko 7cb047e2d9 Merge pull request #1031 from pengx17:2.4_fix_converTo 2013-06-24 12:25:48 +04:00
Roman Donchenko 4ed3d33dd7 Merge pull request #1025 from bitwangyaoyao:2.4_tests 2013-06-24 12:11:04 +04:00
Roman Donchenko b0421cafab Merge pull request #1022 from bitwangyaoyao:2.4_hog 2013-06-24 12:08:59 +04:00
Roman Donchenko 5fa200763f Merge pull request #1026 from SpecLad:ts-version-prop 2013-06-21 18:00:59 +04:00
Roman Donchenko e3ae36dcb3 Merge pull request #1033 from SpecLad:xls++ 2013-06-21 17:13:33 +04:00
Roman Donchenko d4a8b87645 Wrote relevant docs. 2013-06-21 16:45:17 +04:00
Roman Donchenko 0e3a9eaf98 Made Collector render property sets as dicts instead of tuples of pairs. 2013-06-21 13:43:16 +04:00
peng xiao 290c8db0a8 Revise naming for getOclMat function. 2013-06-21 14:51:23 +08:00
yao 6326739b44 a bug fix in stereo_match sample 2013-06-21 14:50:08 +08:00
peng xiao e129638263 Add a workaround to interpolate between oclMat and Input/OutputArray. 2013-06-21 14:05:29 +08:00
Roman Donchenko 2688e22cb5 Made xls-report.py use global properties in XML files.
Now it can determine, without looking at the file name, both the module
name and the configuration name (the latter with a little help from the
configuration file).
2013-06-20 19:57:45 +04:00
Roman Donchenko 57317c3196 Use log formatting as intended. 2013-06-20 19:39:02 +04:00
Roman Donchenko 3ea4836a0a Changed the impls argument to be an array name.
Turns out, you can't use preprocessor directives inside macro arguments.
Who'd have thought?
2013-06-20 15:18:35 +04:00
Roman Donchenko 3e2c456313 A few minor improvements to the XLS report generator.
* In comparison column headers, switched the order of labels, so that
  it's "to" vs "from".

* When a test was present, but not run successfully, put its status in
  the corresponding cell instead of coloring it gray.
2013-06-20 14:38:01 +04:00
Roman Donchenko e600beb484 Merge pull request #1017 from jet47:fix-gpu-warnings 2013-06-20 12:13:14 +04:00
peng xiao c1f4fe1637 Fix a bug of convertTo.
The bug was found that all 3-channel oclMat's were converted to
4-channel oclMat's after using convertTo function.
2013-06-20 11:26:22 +08:00
Roman Donchenko 51a672ec40 Disabled the cuda variant when CUDA is not available. 2013-06-19 19:16:18 +04:00
Roman Donchenko 7a104d2793 Added an option to print available implementation variants. 2013-06-19 18:47:15 +04:00
Roman Donchenko b581f27249 Made perf tests record module name, selected implementation and number of threads. 2013-06-19 17:55:42 +04:00
Roman Donchenko 936236e4b1 Extended the CPU/GPU selection mechanism in performance tests.
Now it allows choosing between arbitrary implementation variants.
2013-06-19 17:55:42 +04:00
Roman Donchenko 37d19b9c46 Pass the HAVE_QT* flags through the config header, like all others.
I don't know why it didn't work for the original author, but it definitely
works now.
2013-06-19 17:44:12 +04:00
Roman Donchenko 1d9660c6d2 Merge pull request #954 from LeszekSwirski:24_fix-qtwindow 2013-06-19 17:01:57 +04:00
Roman Donchenko 1ed5fb937d Give cv::ocl::CLAHE a virtual destructor, for the usual reasons. 2013-06-19 15:39:11 +04:00
Roman Donchenko d58421c08e Make version-related test properties more useful.
Namely, normalize their names to a common convention and remove useless text
from their values.
2013-06-19 14:45:03 +04:00
Roman Donchenko 1aa7b1596b Merge pull request #1023 from pengx17:2.4_fix_amd_path 2013-06-19 14:43:29 +04:00
yao f1c549fabf revise ocl samples, add tvl1 sample 2013-06-19 16:36:23 +08:00
Roman Donchenko fa158304fe Merge pull request #1016 from SpecLad:xls-report 2013-06-19 12:24:34 +04:00
Roman Donchenko dd23a3c227 Merge pull request #1020 from SpecLad:tests-record-more 2013-06-19 12:24:05 +04:00
yao 2c198f6cd6 revise accuracy and perf tests 2013-06-19 13:03:35 +08:00
peng xiao 9ecbce0111 Fix cmake path finding for amd libs.
There is no WIN64 defined in the environment.
2013-06-19 11:31:42 +08:00
yao 26c246140a optimize hog 2013-06-19 11:20:45 +08:00
Alexander Shishkov 68741bf8a0 moved iOS part to platforms folder 2013-06-19 00:20:21 +04:00
Roman Donchenko 25613fbfd7 Merge pull request #1008 from ivan-korolev:fix_sift_bug_2892 2013-06-18 18:32:03 +04:00
Roman Donchenko 4af7d65224 Made tests record information about CPU features and Tegra optimization status. 2013-06-18 18:26:53 +04:00
Roman Donchenko 24d84a45b1 Made tests record in the XML output which parallel framework was used. 2013-06-18 18:26:53 +04:00
Vladislav Vinogradov 371a9cd833 fixed build with CUDA 5.5 on arm platforms 2013-06-18 17:46:57 +04:00
Vladislav Vinogradov 1492b20472 fix gpu warnings with signed/unsigned char 2013-06-18 17:44:49 +04:00
Alexander Smorkalov 8f7ba03ed2 Some fixes for incorrectly documented parameters identified by rst_parser.py (Bug #1205) 2013-06-18 16:48:24 +04:00
Roman Donchenko 748210e11b Merge pull request #994 from asmorkalov:android_java_wrappers 2013-06-18 16:46:04 +04:00
Alexander Smorkalov 16c4aad36d Java/Python bindings for computeCorrespondEpilines added.
Simle Java test for computeCorrespondEpilines added.
2013-06-18 16:44:23 +04:00
Roman Donchenko 5b39c02c39 Merge pull request #1007 from alekcac:i_camera 2013-06-18 15:54:01 +04:00
Roman Donchenko 584f0745d0 Made xls-report.py ignore tests that were not successful. 2013-06-18 13:41:41 +04:00
Roman Donchenko 0f1156bbb6 Made the order of tests in XLS reports deterministic. 2013-06-18 13:37:40 +04:00
Roman Donchenko 4d7b1b5ede In the XLS report, enabled word wrapping for header cells.
Otherwise, Excel ignores line breaks in them.
2013-06-18 12:31:43 +04:00
Roman Donchenko 6ff207b53a Added a new and improved version of the XLS report generator. 2013-06-18 12:31:43 +04:00
Roman Donchenko f003e29dc0 Updated testlog_parser.py to the latest version from the private repo. 2013-06-18 12:31:43 +04:00
Alexander Shishkov 24fd2cc326 updated licenses 2013-06-18 07:02:09 +04:00
Alexander Shishkov 5db08961ce fixed Kirill's comments 2013-06-18 06:59:52 +04:00
Ivan Korolev fee8121040 Added regression tests for SURF/SIFT (related to #2892) 2013-06-14 17:08:01 +04:00
Roman Donchenko 843094a07f Merge pull request #996 from jet47:gpu-nvcuvid-libraries 2013-06-14 16:23:02 +04:00
Roman Donchenko 7308a4a845 Merge pull request #995 from jet47:fix-bug-2985 2013-06-14 16:22:47 +04:00
Roman Donchenko 918f37542b Merge pull request #999 from snosov1:unreliable-results-fix 2013-06-14 16:19:50 +04:00
Roman Donchenko 9cbeea03fa Merge pull request #1005 from alekcac:doc_fix 2013-06-14 15:53:36 +04:00
Roman Donchenko c4974a2511 Merge pull request #1004 from jet47:fix-bug-3068 2013-06-14 15:52:56 +04:00
Roman Donchenko fbc6814023 Merge pull request #987 from jet47:bug-3085-fix 2013-06-14 15:49:33 +04:00
Roman Donchenko 47ea0614dc Merge pull request #969 from pengx17:2.4_binary_cache 2013-06-14 15:47:23 +04:00
Roman Donchenko 0124902f42 Merge pull request #929 from dominikrose:mingw-libdc1394-2-windows 2013-06-14 15:46:25 +04:00
Alexander Shishkov 0cee15eb7f Updated iOS camera. Added rotation flag. Added functions to lock/unlock focus, white balance and exposure. 2013-06-14 15:10:25 +04:00
Roman Donchenko 308c7f5f6e Merge pull request #1000 from ivan-korolev:fix_sift_bug_2892 2013-06-14 13:50:01 +04:00
Roman Donchenko aea96e98bb Merge pull request #1001 from ivan-korolev:fix_stitching_bug_2405 2013-06-14 13:47:33 +04:00
Alexander Shishkov 93200922fd Fix bug with indices 2013-06-14 13:12:35 +04:00
Vladislav Vinogradov a4750f49c6 fix for bug #3068 (PCA::computeVar for double input):
The matrix g  can have CV_32F or CV_64F type,  but g.at uses only float template.
This fix adds specialization for double type.
2013-06-14 12:53:44 +04:00
peng xiao e6b18fc492 Fix a bug caused by NDEBUG macro; it is now removed.
Revise some descriptions of the enums.
2013-06-14 16:37:00 +08:00
Ivan Korolev 58fa401b4d Fixed a bug #2405 2013-06-14 10:43:20 +04:00
Andrey Pavlenko b84296c02e Merge pull request #998 from asmorkalov:android_cmake_mips_fix 2013-06-14 10:17:23 +04:00
Ivan Korolev fc82150edc Fixed a bug #2892 2013-06-14 08:21:42 +04:00
Sergei Nosov c90abb6a03 add multiruns to fix "unreliable results" error 2013-06-13 21:14:42 +04:00
Roman Donchenko 8fa1e756e2 Merge pull request #993 from ivan-korolev:fix_videostab_bug_3023 2013-06-13 16:57:12 +04:00
Roman Donchenko 533d4fe051 Merge pull request #988 from snosov1:3071-fix 2013-06-13 16:56:41 +04:00
Roman Donchenko b725cbf73f Merge pull request #986 from pengx17:2.4_initiated_context 2013-06-13 16:55:56 +04:00
Roman Donchenko 5bb6d36684 Merge pull request #982 from pengx17:2.4_fix_two_bugs 2013-06-13 16:55:12 +04:00
Roman Donchenko 462047d1e4 Merge pull request #981 from SeninAndrew:ximea_camera_support_fix 2013-06-13 16:54:45 +04:00
Alexander Smorkalov 80f6ede233 Fix build problems on MIPS and Linaro NDK.
Merged android.toolchain.cmake from project
https://github.com/taka-no-me/android-cmake
commit: fd1f7055f8b7338644d58d9a2015a784dfa3a5ca
2013-06-13 16:51:45 +04:00
Vladislav Vinogradov 0367a7f992 link with nvcuvenc and ffmpeg libraries only if WITH_NVCUVID is enabled 2013-06-13 16:46:34 +04:00
Roman Donchenko 7aac543570 Merge pull request #991 from asmorkalov:android_javadoc_fix 2013-06-13 16:30:14 +04:00
Vladislav Vinogradov 055137582c fix for bug #2985:
OPENCLAMDBLAS and OPENCLAMDFFT never detected under linux.
lib64/import and lib32/import is the path on Windows but not Linux.
for CLAMDBLAS library we should use CLAMDBLAS_PATH (not CLAMDFFT_PATH)
2013-06-13 16:13:46 +04:00
Ivan Korolev de4c3f0178 Fixed a bug related to video stabilization crashes with a blank video (Bug #3023) 2013-06-13 13:41:43 +04:00
Alexander Smorkalov 83e9b0a87a Javadoc waring fix. 2013-06-13 12:40:14 +04:00
Sergei Nosov 982ef83f80 Fixes bug #3071.
If we have perfect matches (min_dist == 0.0), then strict comparison
fails. Making it non-strict results in treating perfect matches as
good.
2013-06-13 11:51:45 +04:00
Vladislav Vinogradov e433145b7e fix for Bug #3085:
weights array is only allocated for (l_count+1) elements,
but then weights[l_count+1] element is accessed.
2013-06-13 10:22:56 +04:00
peng xiao 5fd724b54a Add a function to query if global OpenCL context is initialized. 2013-06-13 10:46:12 +08:00
Peng Xiao d9ab22e4ed Fix two bugs related to opencl context.
1. As getDevice will implicitly call setDevice, in getContext we should not need to call it again.
2. Fix an incorrect type casting.
2013-06-12 13:55:20 +08:00
Andrew Senin 8eb6decb25 Fixed Ximea cameras support 2013-06-11 21:17:31 +04:00
Roman Donchenko 98f6a4a615 Merge pull request #972 from jet47:mog2-params-bug-2168 2013-06-11 18:21:52 +04:00
Roman Donchenko a4ecd32176 Merge pull request #980 from SpecLad:include-config 2013-06-11 18:18:14 +04:00
Roman Donchenko 572cfc99a8 Merge pull request #973 from pengx17:2.4_oclclahe 2013-06-11 18:17:57 +04:00
Roman Donchenko 3af21cad4c Merge pull request #903 from aks2:2.4 2013-06-11 17:35:39 +04:00
Peng Xiao c8398c9fdc Use anonymous enumerations instead of constants 2013-06-11 20:32:55 +08:00
Roman Donchenko a75fbb0031 Merge pull request #968 from asmorkalov:android_na_cproj_fix 2013-06-11 11:59:32 +04:00
Roman Donchenko d583a79869 Revert "Add a variant of detectMultiScale with an argument 'weights'"
It was merged by mistake.

This reverts commit ab6be9b7b7.
2013-06-10 17:06:34 +04:00
Vadim Pisarevsky 52e9974431 Merge pull request #961 from PeterMinin:detected_objects_weight 2013-06-10 15:22:46 +04:00
Roman Donchenko 1b689a7431 Merge pull request #971 from SpecLad:matchers-ctor 2013-06-10 15:06:31 +04:00
Roman Donchenko 55e83b8d18 Merge pull request #970 from asmorkalov:dshow_valid_check_fix 2013-06-10 15:06:14 +04:00
Alexander Smorkalov 956d8027ef Bug #3044 cap_dshow.cpp forgotten validity check fixed. 2013-06-10 13:29:45 -07:00
Roman Donchenko 3016986833 Merge pull request #965 from apavlenko:fix_java_empty_mats 2013-06-10 15:04:16 +04:00
Peng Xiao 1d8cd3a717 Add ocl CLACH implementation.
Test cases (accuracy and performance) are provided.
2013-06-10 18:37:48 +08:00
Vladislav Vinogradov 99a5b3417a added missing BackgroundSubtractorMOG2 parameters 2013-06-10 13:41:46 +04:00
Roman Donchenko 41482fe56c Erase MatchPairsBody's copy constructor.
It's the same as the implicitly defined one, and it causes a -Wextra warning
(not initializing the base class in a copy constructor).
2013-06-10 13:30:23 +04:00
Peng Xiao e77abeef16 Add a new global function to control ocl binary storage
Previously the feature is controlled by setBinpath implicitly.
We add the function to cope with setBinpath and setBinpath is only
useful when setBinaryDiskCache is set.
Refer to the header to see more info.
2013-06-10 16:38:22 +08:00
Alexander Smorkalov a39a9f677f NativeActivity sample build with Eclipse CDT fixed. 2013-06-10 11:06:28 +04:00
Andrey Pavlenko 264d26e671 fixing empty Mat case 2013-06-08 12:41:57 +04:00
Roman Donchenko 33d1f67501 Include the OpenCV config headers into every module.
This has no bearing on compilation, but it makes them show up in IDEs.
2013-06-07 19:07:55 +04:00
Vadim Pisarevsky 4cf7a963a0 Merge pull request #946 from bitwangyaoyao:2.4_samples2 2013-06-07 13:44:29 +04:00
Vadim Pisarevsky 51f81eec36 Merge pull request #957 from pengx17:2.4_fix_corner_detector 2013-06-07 13:44:10 +04:00
Roman Donchenko 68e4256fd2 Merge pull request #960 from SpecLad:extra-modules 2013-06-07 11:29:40 +04:00
Roman Donchenko 9b46c6fb8a Merge pull request #959 from SpecLad:qt4-build 2013-06-07 11:27:46 +04:00
Peter Minin ab6be9b7b7 Add a variant of detectMultiScale with an argument 'weights' that
receives the number of neighbors joined into each detected object
2013-06-06 19:00:55 +04:00
Roman Donchenko e53b7d040c Merge pull request #955 from SpecLad:symlink 2013-06-06 17:58:15 +04:00
Leszek Swirski 7d0f6b4d68 Fix image saving from QT toolbar 2013-06-06 11:15:00 +01:00
Leszek Swirski 9a1cc06ebe Fix pixel value rendering for non-fixed-size QT windows 2013-06-06 11:14:52 +01:00
Roman Donchenko 8714cbac91 Fix a missing header path when building with Qt 4.
Also, removing explicit include path configuration,
since QT_USE_FILE takes care of that.
2013-06-06 14:09:33 +04:00
peng xiao 429f84e59e Fix a bug of cornerHarris and cornerMinEigenVal.
The bug is a buffer overrun when border type is reflect101.
It is found that gfft crashed with input of size 100x100 on Intel CPU.
2013-06-06 11:44:35 +08:00
Roman Donchenko a954d3630f Add support for adding custom OpenCV modules. 2013-06-05 18:10:44 +04:00
Roman Donchenko 7f9675bcc0 Merge pull request #953 from jet47:fix-bug-3069 2013-06-05 17:56:35 +04:00
Roman Donchenko 7a80b9adaf Merge pull request #952 from SpecLad:jepg 2013-06-05 17:50:12 +04:00
Roman Donchenko 985bfea556 Don't resolve symlinks when looking for modules.
We don't really need it, it makes the code longer, and it can lead to
inconsistent paths when OpenCV is itself inside a symlink.
2013-06-05 17:17:13 +04:00
Roman Donchenko 087db2949a Merge pull request #948 from jet47:cuda-5.5-support 2013-06-05 17:04:22 +04:00
Roman Donchenko 127a152f76 Merge pull request #890 from caorong:patch-1 2013-06-05 16:00:25 +04:00
caorong a2adafd508 fix a bug(DetectorType never change)
changed line281 -> line220
Presentation:
because line 220 give the globle var mDetectorType,and in line 230 it will be compared with mDeteorType !!!  it will never be unequal ~
fix:
change mDetectorType(previous globle var) to a new local val tmpDetectorType
2013-06-05 15:57:54 +04:00
Vladislav Vinogradov 31a5f7ef3c fixed bug #3069 (infinite loop in GPU LBP Cascade detectMultiScale) 2013-06-05 14:08:55 +04:00
Roman Donchenko 93a44d4236 Fix typo in .gitattributes. 2013-06-05 13:51:11 +04:00
Roman Donchenko 27bff3c175 Merge pull request #947 from jet47:fix-gpu-arm-build 2013-06-05 11:50:12 +04:00
Roman Donchenko 99340b5613 Merge pull request #941 from apavlenko:signed_char 2013-06-05 11:27:08 +04:00
Roman Donchenko 5b5815d8cf Merge pull request #893 from jet47:gpu-arm-fixes 2013-06-04 17:52:30 +04:00
Roman Donchenko f527b6a93f Merge pull request #940 from SpecLad:autolock 2013-06-04 17:50:31 +04:00
Vladislav Vinogradov 89f3c40d79 fixed BroxOpticalFlow sanity test (increase epsilon value)
+ interpolateFrames and createOpticalFlowNeedleMap
2013-06-04 15:01:06 +04:00
Vladislav Vinogradov 4a770535c4 fixed BoxFilter sanity test (different rounding results) 2013-06-04 14:59:47 +04:00
Vladislav Vinogradov 516e5b2563 fixed BroxOpticalFlow regression test
the output of BroxOpticalFlow differs a bit in CUDA 5.5
2013-06-04 13:58:45 +04:00
Vladislav Vinogradov 918381875a rewrite gpu/device/vec_math.hpp file
old version isn't compiled with CUDA 5.5
new version doesn't depend on functional.hpp
2013-06-04 13:57:35 +04:00
Vadim Pisarevsky 119b7a298d Merge pull request #933 from pengx17:2.4_macfix_cont 2013-06-04 13:34:53 +04:00
Vadim Pisarevsky 2d88f20c1e Merge pull request #935 from pengx17:2.4_filter2d_fix 2013-06-04 13:34:40 +04:00
Vadim Pisarevsky 0cb1644825 Merge pull request #936 from bitwangyaoyao:2.4_perf 2013-06-04 13:34:25 +04:00
Vadim Pisarevsky e0c2daadbf Merge pull request #937 from bitwangyaoyao:2.4_fixPyrLK 2013-06-04 13:34:09 +04:00
Vadim Pisarevsky 267eb99a7d Merge pull request #938 from pengx17:2.4_surf_sample 2013-06-04 13:33:49 +04:00
Vadim Pisarevsky 37953b7cf0 Merge pull request #939 from pengx17:2.4_getDevice 2013-06-04 13:33:21 +04:00
Vladislav Vinogradov 3aea7e8f8d fixed gpu module build on arm platform
links with CUDA driver library only if we use video encoding/decoding
2013-06-04 12:51:36 +04:00
yao f049aa7674 use GoodFeaturesToTrackDetector_OCL 2013-06-04 15:59:21 +08:00
peng xiao a7a94de74a Fix a bug of gfft.
When user provided corners buffer is big enough to be copied to from
tmpCorners_, we allow the buffer to be reused other than allocate a new
cl_mem object.
2013-06-04 15:55:33 +08:00
yao dc937c10f9 change a test image of pyrlk 2013-06-04 11:31:54 +08:00
Roman Donchenko 75cf5cc4ee Merge pull request #943 from jet47:cuda-5.5-support 2013-06-03 16:08:23 +04:00
Roman Donchenko 5237647f75 Merge pull request #944 from jet47:cmake-2.8.11-cuda-fix 2013-06-03 16:08:06 +04:00
Vladislav Vinogradov bcf8bdb401 fixed constructors for functional objects (added __host__ modifier) 2013-06-03 14:41:23 +04:00
Vladislav Vinogradov ff28bf831f disabled samples with driver api 2013-06-03 14:01:04 +04:00
Vladislav Vinogradov 58e472754a fixed norm diff function (it uses pre-allocated buffer now) 2013-06-03 13:37:44 +04:00
Vladislav Vinogradov 0521e8908c fixed NPP error constants usage 2013-06-03 13:37:36 +04:00
Vladislav Vinogradov 09a7e86a39 fixed NPP library search (it was splitted) 2013-06-03 13:37:30 +04:00
Vladislav Vinogradov 013581f371 fixed GPU module compialtion with CMake 2.8.11
CMake 2.8.11 removed linkage with CUDA driver library,
but it's used by gpu video encoding/decoding
2013-06-03 13:29:26 +04:00
Roman Donchenko e9c298b784 Merge pull request #912 from SpecLad:contributing 2013-06-03 12:13:45 +04:00
Roman Donchenko 34c5f47f60 Merge pull request #934 from SpecLad:parallel-for 2013-06-03 12:13:16 +04:00
Andrey Pavlenko 081c47e3df making the comment less ambigous 2013-05-31 19:55:51 +04:00
Andrey Pavlenko 6f006e50dc setting 'char' to be signed by default since some tests fail when it's wrong (e.g. native compilation on ARM Linux) 2013-05-31 18:58:30 +04:00
Roman Donchenko 8a4090fe3f Make AutoLock noncopyable (it would break on copying, anyway). 2013-05-31 17:27:42 +04:00
Roman Donchenko 85360572b0 Merge pull request #931 from jet47:gpu-test-fixes 2013-05-31 16:46:31 +04:00
peng xiao cdb16f1120 Fix build error 2013-05-31 17:29:55 +08:00
peng xiao 97b86aa259 Initialize OpenCL context at the end of getDevice call.
Added for better compatibility with the current samples/test cases.
User now will be able to initialize OpenCL context explicitly with
ocl::getDevice api.
This may be obsoleted in future releases.
2013-05-31 16:48:40 +08:00
Roman Donchenko f90fd5b0da Split CLAHE into its own file, because it's faster that way.
Yes, it's as ludicrous as it sounds, but it's still true. Bizarrely,
the previous commit makes CLAHE run about 10% slower on Android, even
though it doesn't even touch any CLAHE code. Splitting it off fixes that,
although the reason it does is a mystery for the ages.

It's cleaner when it's in its own file, anyway. ;=]
2013-05-31 12:22:04 +04:00
Roman Donchenko 29b13ec1de Replaced most of the usages of parallel_for with that of parallel_for_.
This should allow many algorithms to take advantage of more parallelization
technologies.
2013-05-31 12:22:04 +04:00
peng xiao d85f27b537 Update ocl::surf_matcher sample.
The new sample adjust some parameters thus it should always be able to
calculate valid homography matrix when input is box.png and
box_in_scene.png.
Pure cpp surf and bfmatcher implementation is also added to show the user
its accuracy and performance.
2013-05-31 16:06:56 +08:00
yao 15a213d3fc fix a crash on Linux 2013-05-31 15:35:54 +08:00
yao abefcc6061 Adjust perf_filters, as this function only supports 3x3 kernel 2013-05-31 15:16:03 +08:00
peng xiao b1c248fcc9 Fix ocl::filter2D.
In current implementation, this function only works when anchor point is
in the kernel center and kernel size supported is either 3x3 or 5x5.
2013-05-31 10:53:52 +08:00
peng xiao fdc133d8c9 Fix ocl::pyrup kernel build on Mac. 2013-05-30 16:34:20 +08:00
Vadim Pisarevsky 37091b086c Merge pull request #932 from bitwangyaoyao:2.4_fixBFM 2013-05-30 12:21:27 +04:00
yao 5b598f8a0e a few fixes of ocl::perf test cases 2013-05-30 16:20:31 +08:00
Vadim Pisarevsky 6bb9342a5f Merge pull request #918 from bitwangyaoyao:2.4_samples 2013-05-30 12:01:40 +04:00
Vadim Pisarevsky 5a4efe8bcf Merge pull request #924 from pengx17:2.4_arithm_fix 2013-05-30 12:01:25 +04:00
Vadim Pisarevsky 678371be39 Merge pull request #925 from pengx17:2.4_canny_tmp_fix 2013-05-30 12:01:09 +04:00
Vadim Pisarevsky c176131a67 Merge pull request #927 from bitwangyaoyao:2.4_perf 2013-05-30 12:00:47 +04:00
Roman Donchenko c3f5e73769 Merge pull request #930 from pengx17:2.4_haar_ext 2013-05-30 11:57:24 +04:00
yao 7ed9c0e87a Fix brute_force_matcher's hung on some Intel CPU OCL 2013-05-30 14:57:15 +08:00
peng xiao fd7ba355ee Add non-stump based ocl Haar cascade classifier support.
For example, haarcascade_frontalface_alt2.xml is now supported.
Note that classifier's pattern of a cascade file must be consistent,
i.e., all trees must either have two nodes or one node, otherwise
unexpected results will occur.

Other fixes:
Test cases are updated.
Some unused codes are removed.
Fix some problems of haar when using OclCascadeClassifierBuf.
2013-05-30 14:01:19 +08:00
Vladislav Vinogradov 6b1c28ce6d fixed some gpu tests (different rounding results due to float arithmetics) 2013-05-29 17:38:32 +04:00
Roman Donchenko 0ae40507e5 Merge pull request #928 from apavlenko:bugfix_3027 2013-05-29 17:10:48 +04:00
Roman Donchenko fbb25787cd Merge pull request #920 from asmorkalov:android_move 2013-05-29 16:53:04 +04:00
Roman Donchenko b890274738 Merge pull request #910 from pengx17:2.4_oclgfft 2013-05-29 15:27:19 +04:00
peng xiao 006e4242b2 Merge branch '2.4' of https://github.com/Itseez/opencv into 2.4_oclgfft 2013-05-29 17:57:14 +08:00
Andrey Pavlenko e28f6fae49 fixing #3027 (searching JNI even if no ant), fixing java tests status message (ON/OFF) 2013-05-29 12:51:26 +04:00
yao a9b7ff41bd adjust test cases 2013-05-29 15:48:56 +08:00
peng xiao d015fa76fa Fix 2.4 ocl Canny.
This fix is a workaround for current 2.4 branch without introducing an
additional oclMat buffer into CannyBuf object.
Test case is cleaned up.
Volatile keywords in kernels are removed for performance concern.
2013-05-29 14:15:26 +08:00
Vadim Pisarevsky 2ccdf56119 Merge pull request #913 from janm399:2.4 2013-05-28 22:05:14 +04:00
Vadim Pisarevsky 24ca620c32 Merge pull request #916 from bitwangyaoyao:2.4_fixPyrLK 2013-05-28 22:04:37 +04:00
Vadim Pisarevsky d3c7ae6adf Merge pull request #919 from abidrahmank:2.4 2013-05-28 21:54:51 +04:00
Vadim Pisarevsky ecb1f3c4d2 Merge pull request #923 from pengx17:2.4_macfix 2013-05-28 21:54:25 +04:00
yao d81c145fa9 fix memory leak 2013-05-28 18:07:41 +08:00
yao 14bd6402be revise perf 2013-05-28 17:53:06 +08:00
peng xiao 1d0c283508 Fix a bug when pushing pointers of arguments into std::vector.
When argument pointers pushed into an vector and the pointers point to
address on stack, we need to make sure they are valid until kernels are
successfully flushed onto the queue.
2013-05-28 17:27:55 +08:00
Alexander Smorkalov f85cf5bdd9 Build fixes. Build scrips reorganized. 2013-05-28 12:27:56 +04:00
peng xiao 6fae02c05d Fix some OpenCL kernel file build errors on Mac. 2013-05-28 11:12:05 +08:00
Roman Donchenko 7561b1c6e5 Replace the pull request guidelines with a link to the wiki.
I've moved the contents of CONTRIBUTING.md to the wiki (and slightly
expanded it), so the former is no longer required. I've put a link to the
wiki page and a summary in the README.
2013-05-27 17:48:34 +04:00
Alexander Smorkalov 20fef00a77 android -> plarforms/android 2013-05-27 11:10:38 +04:00
abidrahmank 2dd3bf116e ANDed waitkey result with 0xFF for x64 systems 2013-05-27 10:30:30 +05:30
abidrahmank ca09ba6852 Bug #2960 : docs about CV_BGR2GRAY 2013-05-25 01:50:41 +05:30
abidrahmank 98960bf201 A new python sample on grabcut 2013-05-25 00:55:31 +05:30
yao fad96b95ad add results verification to facedetect and hog samples 2013-05-24 15:52:33 +08:00
yao c58e0d5d73 fix hog 2013-05-24 13:46:21 +08:00
yao 036b0579f1 remove the images in ocl sample folder 2013-05-23 18:12:09 +08:00
yao 33a3a19207 add two samples 2013-05-23 18:10:38 +08:00
yao d45f9ef866 fix Linux build errors 2013-05-23 17:58:50 +08:00
yao a223b5624f fix pyrLK's mismatch on Intel GPUs 2013-05-23 10:55:08 +08:00
Roman Donchenko 324cafdda6 Merge pull request #904 from ograycode:2.4 2013-05-22 18:46:40 +04:00
Jan Machacek 46b770f255 Fixed include name in OpenCL on OS X 2013-05-22 13:22:16 +01:00
Roman Donchenko 519ee72f6f Merge pull request #905 from bitwangyaoyao:2.4_TVL1 2013-05-22 12:08:16 +04:00
peng xiao b4a4a05bdc Add ocl's good features to track implementation.
Additional notes with this commit:
1. Add cornerHarris_dxdy and cornerMinEigenVal_dxdy to get
the interim dx and dy output of Sobel operator;
2. Add minMax_buf to allow user to reuse buffers in minMax;
3. Fix an error when either min or max pointer fed into minMax is NULL;
4. Corner sorter temporarily uses C++ STL's quick sort. A parallel
 selection sort in OpneCL is contained in the implementation but disabled
due to poor performance at the moment.
5. Accuracy test for ocl gfft.
2013-05-22 13:46:42 +08:00
Andrey Pavlenko d4255b7f75 Merge pull request #902 from apavlenko:fix_run_py 2013-05-21 14:07:32 +04:00
alex77git 445860d619 (typo) 2013-05-20 13:19:36 +02:00
alex77git c8abaea368 (tab to space) 2x 2013-05-20 12:06:25 +02:00
Vadim Pisarevsky cbbc82a789 Merge pull request #882 from pengx17:2.4_rewrite_query_info 2013-05-20 14:01:03 +04:00
Vadim Pisarevsky b51a1a7d15 Merge pull request #895 from bitwangyaoyao:2.4_perf 2013-05-20 14:00:47 +04:00
Roman Donchenko 389be67605 Merge pull request #853 from icylord:2.4 2013-05-20 12:11:47 +04:00
yao d8b192c84d Fix the mismatch on NV GPUs 2013-05-20 14:46:17 +08:00
ograycode 97e9368e75 Simple set of the camera index to allow the user to change it after the object has been initialized. 2013-05-19 22:04:56 -04:00
alex77git bc59428b3a Bug #2966, insert CV_Assert(size.width>0 && size.height>0); in imshow() 2013-05-20 02:28:40 +02:00
alex77git 6e7b1ef252 Bug #2967, void DescriptorMatcher::radiusMatch() // description unclear,
only file:  common_interfaces_of_descriptor_matchers.rst
2013-05-20 02:26:58 +02:00
alex77git 44a2b109b7 Bug #2967, basic_structures.rst, fix 2 typos 2013-05-20 02:24:09 +02:00
Andrey Pavlenko 4af104aaae 'aapt' tool moved in SDK r22, adding support to run.py 2013-05-19 14:57:21 +04:00
Vadim Pisarevsky aee6a617a6 Merge pull request #897 from bitwangyaoyao:2.4_TVL1 2013-05-19 00:23:24 +04:00
yao 04399a27d0 fix a warning 2013-05-17 15:44:22 +08:00
yao 4162ebfad3 add OpticalFlowDual_TVL1_OCL function 2013-05-17 15:34:22 +08:00
yao 03c55db4fb fix the waring in gemm test 2013-05-17 13:19:09 +08:00
yao 5f20fce6fd add accuracy tests while running perf 2013-05-17 13:18:46 +08:00
Andrey Pavlenko 528db00095 Merge pull request #892 from jet47:removed-vibe 2013-05-16 18:44:07 +04:00
Vladislav Vinogradov ec52096e30 removed VIBE implementation 2013-05-16 13:47:24 +04:00
Vadim Pisarevsky 7d9041460a Merge pull request #885 from pengx17:2.4_bfmatcher_ocl 2013-05-15 14:21:50 +04:00
Vadim Pisarevsky 4d866ea32e Merge pull request #884 from pengx17:2.4_pyrup_fix 2013-05-15 14:18:54 +04:00
Dominik Rose 66c9029fd5 libdc1394 - removed validation for msvc compiler in CMakeLists.txt 2013-05-15 12:15:16 +02:00
peng xiao d053f2165d Add BFMatcher_OCL class alias for BruteForceMatcher_OCL.
This adds a similar interface with pure-cpp and gpu versions.
2013-05-15 10:47:17 +08:00
peng xiao 3f93c3cc4e Clean up spaces in ocl.hpp 2013-05-15 10:43:47 +08:00
peng xiao 1ecc765903 Merge branch '2.4' of https://github.com/Itseez/opencv into 2.4_pyrup_fix 2013-05-15 08:55:43 +08:00
peng xiao df3997b108 Fix ocl::pyrUp
Use predefined OpenCL function to convert integers to floating points.
This is more accurate than before as it enables:
1. saturate cast
2. customized rounding
2013-05-15 08:51:21 +08:00
Dominik Rose 1a34c7fab3 Merge branch 'mingw-libdc1394-2-windows' of https://github.com/dominikrose/opencv into mingw-libdc1394-2-windows 2013-05-14 16:49:08 +02:00
Dominik Rose 76d1fa0ef6 Merge branch 'mingw-libdc1394-2-windows' of https://github.com/dominikrose/opencv into mingw-libdc1394-2-windows 2013-05-14 16:48:29 +02:00
Dominik Rose d9c9fb079b Merge branch 'mingw-libdc1394-2-windows' of https://github.com/dominikrose/opencv into mingw-libdc1394-2-windows 2013-05-14 16:34:02 +02:00
Dominik Rose 23eb41d1be Merge branch 'mingw-libdc1394-2-windows' of https://github.com/dominikrose/opencv into mingw-libdc1394-2-windows 2013-05-14 16:33:31 +02:00
Dominik Rose d0788be129 Merge branch 'mingw-libdc1394-2-windows' of https://github.com/dominikrose/opencv into mingw-libdc1394-2-windows 2013-05-14 16:31:01 +02:00
Dominik Rose 86ec9b79fd libd1394 2.x support for mingw on windows added 2013-05-14 16:30:12 +02:00
Dominik Rose 9247ad634f libd1394 2.x support for mingw on windows added 2013-05-14 16:20:01 +02:00
Vadim Pisarevsky 2a646f7626 Merge pull request #862 from piponazo:v4lFPS 2013-05-14 16:00:28 +04:00
Vadim Pisarevsky 25e6902a43 Merge pull request #818 from bitwangyaoyao:2.4_optBlur 2013-05-14 15:56:56 +04:00
Vadim Pisarevsky bd1d7cd208 Merge pull request #839 from pengx17:2.4_ocl_csbp 2013-05-14 15:56:07 +04:00
Vadim Pisarevsky 87765c0f16 Merge pull request #883 from bitwangyaoyao:2.4_fixMoments 2013-05-14 15:55:38 +04:00
yao 1d1d28baf2 fix black screen when input Mat is large 2013-05-14 18:02:53 +08:00
peng xiao ac21cabda2 Copy ocl::queryDeviceInfo interface from master to 2.4.
Affected functions surf.ocl, pyrlk.ocl and hog.ocl are updated with the change.
2013-05-14 17:50:38 +08:00
Andrey Pavlenko 87fcd2342f Merge pull request #878 from apavlenko:better_glue_search 2013-05-14 11:57:25 +04:00
Vadim Pisarevsky 35d8fa444b Merge pull request #849 from dominikrose:dom_2.4 2013-05-13 23:38:26 +04:00
Vadim Pisarevsky d79c05fec9 Merge pull request #872 from pengx17:2.4_create2dimage_fix 2013-05-13 23:12:25 +04:00
Vadim Pisarevsky 6eb5a95a59 Merge pull request #871 from bitwangyaoyao:2.4_acry 2013-05-13 23:04:11 +04:00
Vadim Pisarevsky fd83f2f5ca Merge pull request #819 from bitwangyaoyao:2.4_haarBuf 2013-05-13 22:36:10 +04:00
Vadim Pisarevsky c549ec8371 Merge pull request #850 from SpecLad:convhull-orientation 2013-05-13 22:18:54 +04:00
Andrey Pavlenko d94ecf40e6 Merge pull request #880 from apavlenko:qt-5.0 2013-05-13 21:18:47 +04:00
Andrey Pavlenko 0fec2eb6e5 Merge pull request #879 from apavlenko:gcc-4.8 2013-05-13 21:17:04 +04:00
Vadim Pisarevsky e4d4b07f00 Merge pull request #873 from prclibo:2.4 2013-05-13 21:06:54 +04:00
Andrey Kamaev f856f78ac0 Update CMake scripts to recognize Qt 5.0 2013-05-13 17:10:32 +04:00
Andrey Kamaev 2665c39a0d Fix build warnings from gcc 4.8 2013-05-13 17:07:30 +04:00
Andrey Kamaev 60059a7aa0 Improve handling of native_app_glue dependency in Android samples 2013-05-13 17:01:18 +04:00
yao e23884a238 fix the warnings in fft tests 2013-05-13 15:04:23 +08:00
Vadim Pisarevsky 9cce8ca4b6 Merge pull request #864 from pengx17:2.4_stereobm 2013-05-12 22:16:03 +04:00
Vadim Pisarevsky 1348e7cd4d Merge pull request #877 from apavlenko:version_info_in_test_log 2013-05-12 22:15:47 +04:00
Andrey Pavlenko d5881bc00a adding version info to test log 2013-05-12 18:36:55 +04:00
yao ada8f92cc7 fix warnings, unify test names 2013-05-09 17:57:13 +08:00
Bo Li 81779d8287 fixed pca bug for fixed mean input 2013-05-09 15:20:00 +08:00
peng xiao e14acabb3d Fix ocl moudle build with latest Intel OpenCL SDK.
We found that cl.h file provided in latest Intel SDK muted deprecated interfaces.
2013-05-09 14:00:36 +08:00
peng xiao 69e6d0016e Optimize stereobm a bit.
Speedup about 30% on 6730M GPU.
2013-05-08 17:29:24 +08:00
yao b6313951dc use clean EXPECT_MAT_NEAR (no string output) 2013-05-08 17:07:44 +08:00
yao 35c6860f06 further simplify the logics in filter tests 2013-05-08 16:08:33 +08:00
yao 1a53e2cfb2 remove interpolation.hpp 2013-05-08 15:27:35 +08:00
yao 3928c1ee26 add copyrights 2013-05-08 15:21:53 +08:00
yao e4d3378230 simplify logics in filter tests, remove redundant code in arithm tests 2013-05-08 15:12:12 +08:00
Andrey Pavlenko 2aa5f1bfd1 Merge pull request #866 from MadEgg:RetrieveFrame_index_argument 2013-05-07 17:00:29 +04:00
Vadim Pisarevsky 741fb9b7d1 Merge pull request #865 from pengx17:2.4_ocl_ver 2013-05-07 16:39:49 +04:00
Andrey Pavlenko 2faa2adae2 Merge pull request #846 from smart-mobile-software:tuto_crash 2013-05-07 15:15:16 +04:00
poiuytrez 7dda8e2cb8 Link to bug tracker replaced by bug description 2013-05-07 11:45:18 +02:00
yao 52dbbae82c some cleanup, remove some commented codes 2013-05-07 16:14:50 +08:00
peng xiao d34e7eca60 Suppress warning when compiling deprecated OpenCL function on GNU compilers. 2013-05-06 17:16:45 +08:00
Egbert van der Wal dc6a144396 add (optional) index argument to RetrieveFrame method 2013-05-04 17:18:12 +02:00
peng xiao ed2199a497 Fix build 2013-05-03 09:54:11 +08:00
peng xiao 1eca49f40b ocl: Enable backward binary portability for setTo function. 2013-05-03 09:45:56 +08:00
peng xiao 168c0b0385 Optimize ocl::stereobm.
1. Use macro defines for some parameters(radius).
2. Reduce local memory usage.
3. Fix accuracy problem on Intel GPU.
2013-05-02 16:14:28 +08:00
peng xiao 355bc691fc Add OpenCL version 1.2 query into ocl::Context::supportsFeature().
Add backwards portability for OpenCL 1.1 when OpenCV executables
are compiled with OpenCL 1.2 profile support.
2013-05-02 14:44:59 +08:00
poiuytrez bef6de9025 Fix tuto3 picture taken crash on all devices
A modification of the JavaCameraView is needed to avoid a crash when the
app is exited. It is a good practice to remove the callback after the
stopPreview method.
2013-05-01 16:58:15 +02:00
Luis Díaz Más d13d5c0c12 Added setting feature of FPS in cap_libv4l 2013-05-01 01:07:03 +02:00
Andrey Pavlenko 48a8aefd6b Merge pull request #854 from asmorkalov:android_null_invalid_cam 2013-04-30 17:36:39 +04:00
Andrey Pavlenko f21e99de0f Merge pull request #858 from apavlenko:fix_ocl_build_on_bb 2013-04-30 11:25:31 +04:00
Andrey Pavlenko 108bb811c5 fixing precommit build on ubuntu-64 (now it takes OCL headers from non-default OCL SDK, but libs from default one) 2013-04-29 23:10:03 +04:00
Alexander Smorkalov 456c56fe90 NullPointerException in case of error on opening native camera fixed. 2013-04-29 11:00:52 +04:00
Andrey Pavlenko 5ce4e3c265 Merge pull request #800 from asmorkalov:android_cam_idx_semantic 2013-04-29 10:00:08 +04:00
Andrey Pavlenko 6d89e1f412 Merge pull request #827 from apavlenko:fix_android_tutorial1 2013-04-29 09:59:19 +04:00
ShengyinWu ef5578a7ce Fixs: After scaling back to original image, some detected ROI will outside the original image ROI 2013-04-29 12:16:42 +08:00
Vadim Pisarevsky 2068c4582c Merge pull request #844 from bitwangyaoyao:2.4_integral 2013-04-28 00:37:40 +04:00
Vadim Pisarevsky 4f26f0c2e2 Merge pull request #843 from pengx17:2.4_stereobp_fix 2013-04-28 00:32:26 +04:00
Roman Donchenko 2dc8642508 Changed convexHull's documentation to essentially invert the meaning of `clockwise`.
The orientation of convexHull's result is currently the opposite of what the
documentation would suggest:

>>> import cv2, numpy as np
>>> points = np.array([[0,0],[0,1],[1,0]], dtype=np.int32)
>>> cv2.convexHull(points, clockwise=False)
array([[[1, 0]],
       [[0, 1]],
       [[0, 0]]], dtype=int32)
>>> cv2.convexHull(points, clockwise=True)
array([[[0, 0]],
       [[0, 1]],
       [[1, 0]]], dtype=int32)

Changing the function itself is probably not a good idea at this point, so
this fixes the documentation by flipping the coordinate system.

I also removed the mention of the origin, since it's irrelevant for this
function.
2013-04-26 14:22:55 +04:00
Dominik Rose cfaae5917b Calib3d documentation:
- fixed reference to Slabaugh
2013-04-26 11:34:35 +02:00
poiuytrez 60bf018781 Fix android tutorial 3 second picture taken bug 2013-04-24 12:38:15 +02:00
Alexander Smorkalov 8606ee4beb Front/Back camera semantic support added to Android VideoCapture back-end. 2013-04-24 10:56:16 +04:00
yao f788d010f7 fix a crash on CPU OCL for some specified image sizes 2013-04-24 14:12:41 +08:00
peng xiao 9cfa24e515 Fix thread sync for csbp. 2013-04-23 17:35:40 +08:00
yao b386ea72aa use float when sum overflow 2013-04-23 17:23:05 +08:00
peng xiao 3282aaa1f5 Fix a bug found on Intel OpenCL SDK. 2013-04-23 15:34:40 +08:00
Peng Xiao c701d54281 Fix build errors 2013-04-21 11:19:37 +08:00
Peng Xiao 7b08d5ec69 Add OpenCL stereo CSBP implementation 2013-04-20 00:34:37 +08:00
Andrey Kamaev a9a269505c Merge pull request #829 from SpecLad:sphinx-ver-1 2013-04-17 15:45:53 +04:00
Andrey Kamaev 28aefc4f5a Merge pull request #817 from pengx17:2.4_ocl_bitwise_cleanup 2013-04-17 15:45:38 +04:00
Roman Donchenko bd6f80faf3 Redo the Sphinx check to do the same thing on all platforms.
This also fixes the bug where the Sphinx version gets detected as
"Sphinx vX.Y.Z" instead of "X.Y.Z" on Unix-like systems.
2013-04-17 12:33:11 +04:00
Andrey Kamaev f6848b66d6 Merge pull request #826 from pengx17:2.4_canny_clampfix 2013-04-17 11:09:49 +04:00
Andrey Kamaev bf551df4cf Merge pull request #825 from pengx17:2.4_query_cpu_wavesize 2013-04-17 11:09:37 +04:00
Andrey Kamaev 5eff4f8340 Merge pull request #822 from taka-no-me:better_cv_enum 2013-04-17 11:08:58 +04:00
Andrey Pavlenko 8c40f0ccf2 fixing build and lint warnings 2013-04-16 15:30:43 +04:00
peng xiao 0f7d7100e5 Add clamping for y dimension. 2013-04-16 15:49:15 +08:00
peng xiao 6f63a5d8d5 Let wave_size=1 on CPU. 2013-04-16 14:41:30 +08:00
Andrey Kamaev c02095ae1c Merge pull request #821 from taka-no-me:contributing 2013-04-16 10:16:14 +04:00
Andrey Kamaev 96b008cd29 Eliminate the need of ::testsing::ValuesIn() for CV_ENUM
Also cv::, cv::gpu:: and cv::ocl:: namespace prefixes can be safely omitted
inside CV_ENUM and CV_FLAGS
2013-04-15 19:39:49 +04:00
Andrey Kamaev ecf28cc21e Add contributing page for Github 2013-04-15 16:57:58 +04:00
yao 69a0b5dde5 Add OclCascadeClassifierBuf interface 2013-04-15 17:24:30 +08:00
yao dec6a3b080 make boxfilter kernel compile on Mac GPU OCL 2013-04-15 16:46:25 +08:00
Andrey Kamaev 2ae3ab11e3 Merge pull request #814 from taka-no-me:gtest_r652 2013-04-15 12:13:16 +04:00
Andrey Kamaev 0df6dc16a5 Merge pull request #811 from pengx17:2.4_ocl_bfmatcher_newtype 2013-04-15 12:12:18 +04:00
peng xiao 06a4bad809 Merge ocl and/or/xor operators into one kernel each. 2013-04-15 10:36:03 +08:00
Andrey Kamaev 802d004bbb Fix build issues 2013-04-13 16:53:59 +04:00
Andrey Kamaev 9deea80b83 Update gtest to upstream r652
It is already marked as a gtest 1.7.0
2013-04-13 16:29:05 +04:00
Peng Xiao 6dd6013546 Use a faster way to count 1's (used by Hamming) 2013-04-13 14:34:30 +08:00
Peng Xiao f2dc445412 Merge branch '2.4_ocl_bfmatcher_newtype' of https://github.com/pengx17/opencv into 2.4_ocl_bfmatcher_newtype 2013-04-13 14:09:21 +08:00
Peng Xiao 6b6b1c9cbf Allow more query/train types for ocl::bfmatcher 2013-04-13 14:08:58 +08:00
Peng Xiao d9de84091c Allow more input query/train types for ocl::bfmatcher
RadiusMatch for HammingDist cannot pass yet.
2013-04-13 13:42:26 +08:00
Peng Xiao 1db20099a9 Enable runtime type definition in kernels 2013-04-13 12:50:17 +08:00
Peng Xiao fd1528795e Pass query type T into kernel 2013-04-13 11:39:13 +08:00
Peng Xiao 63813e83ae Untabify 2013-04-13 11:22:22 +08:00
Peng Xiao 6a40383aee Add HammingDist test case 2013-04-13 11:07:26 +08:00
Andrey Kamaev abe2ea59ed Merge pull request #802 from SpecLad:shebang 2013-04-12 15:00:28 +04:00
Andrey Kamaev 36028bd8ad Merge pull request #808 from bitwangyaoyao:2.4_mac 2013-04-12 14:59:45 +04:00
Andrey Kamaev d2de68c14c Merge pull request #804 from gpsinghsandhu:staticCast 2013-04-12 14:59:26 +04:00
Andrey Kamaev b696d49d5a Merge pull request #801 from kirill-kornyakov:lkdemo-fix 2013-04-12 14:59:11 +04:00
Vadim Pisarevsky 03e2a52e2c Merge pull request #807 from pengx17:2.4_ocl_bfm_opt 2013-04-12 13:46:55 +04:00
Vadim Pisarevsky 3d39087a67 Merge pull request #806 from bitwangyaoyao:2.4_fix 2013-04-12 13:46:33 +04:00
Vadim Pisarevsky a770d04e78 Merge pull request #781 from bitwangyaoyao:2.4_fixerr 2013-04-12 13:44:59 +04:00
yao 719e8674ad fix the compile errors on Mac 2013-04-12 17:38:59 +08:00
peng xiao 2338a895f5 Capitalize macro namings. 2013-04-12 16:56:49 +08:00
peng xiao 1bea9ee26c Rename test case category and code clean up. 2013-04-12 16:54:06 +08:00
peng xiao c9d8eb7a84 Fix build error on linux. 2013-04-12 16:52:21 +08:00
peng xiao 6eefd276cf Further optimize bfmatcher by passing macros. 2013-04-12 16:51:36 +08:00
peng xiao 113b7584e0 Optimize bfmatcher by passing macros. 2013-04-12 16:50:30 +08:00
peng xiao 1e49c00f4b Replace create with ensureSizeIsEnough thus buffer objects can be reused. 2013-04-12 16:47:44 +08:00
yao 61e041673e remove the OpenCL Dir finding in CMake 2013-04-12 14:44:55 +08:00
Gurpinder Singh Sandhu 36aad46fe1 changed reinterpret_cast to static_cast
This issue seem to be lingering around for quite some time
https://github.com/Itseez/opencv/pull/639
http://code.opencv.org/issues/2819
2013-04-11 22:32:50 +05:30
Roman Donchenko 57d4c86b2b Fixed the shebang lines on the Python scripts.
Also, removed the one from modules/python/src2/cv.py and cleared its
executable bit, since it's not a script.
2013-04-11 18:37:23 +04:00
Kirill Kornyakov 53a06913cb Minor code cleanings in lkdemo.cpp 2013-04-11 17:57:33 +04:00
Kirill Kornyakov e351538697 #2813 bugfix 2013-04-11 17:50:10 +04:00
Andrey Kamaev ca56e99a62 Merge pull request #796 from SpecLad:more-backports 2013-04-11 15:48:17 +04:00
Andrey Kamaev a1fa63ffc9 Merge pull request #799 from SpecLad:boost-initial-weights 2013-04-11 15:47:57 +04:00
Roman Donchenko 4143071e22 In CvBoost, delegated update_weights's implementation to a helper method.
This allows subclasses of CvBoost to override initial weights that
update_weights uses without duplicating its entire implementation.
2013-04-11 13:50:10 +04:00
Andrey Kamaev 62b593ca8b Merge pull request #793 from SpecLad:auto-cuda 2013-04-11 12:24:04 +04:00
Andrey Kamaev 7711fe2f43 Merge pull request #794 from asmorkalov:android_no_layout 2013-04-11 11:34:42 +04:00
Andrey Kamaev 18d4f14892 Merge pull request #792 from asmorkalov:manager_incompat_wh 2013-04-11 11:34:21 +04:00
Andrey Kamaev 9ba25e9d09 Merge pull request #742 from bitwangyaoyao:2.4_fix 2013-04-11 11:33:45 +04:00
Andrey Kamaev 0c64fc61dc Merge pull request #740 from evil0sheep:2.4 2013-04-11 11:33:31 +04:00
Roman Donchenko 484607fb6f Backported RNG_MT19937 from master. 2013-04-10 19:39:38 +04:00
Roman Donchenko f64d512774 Backported globbing from master. 2013-04-10 19:36:39 +04:00
Alexander Smorkalov 6e8f5ae574 Front/back camera constants semantic for Android fixed (Bug #2839).
Front/Back camera constants' values changed;
Additional camera facing check added for JavaCameraView.
2013-04-10 16:57:34 +04:00
Alexander Smorkalov 82c61eba49 Feature #2893 Create Java sample without layout.xml implemented. 2013-04-10 13:38:59 +04:00
Roman Donchenko e8721f1f6f Automatically add CUDA support to a module if it has CUDA sources.
Backport from master.
2013-04-10 12:20:54 +04:00
Alexander Smorkalov ec6f0e1baf Incompatible hardware detetction added to OpenCV Manager(Feature #2941) 2013-04-10 12:10:13 +04:00
Andrey Kamaev 71896544ca Merge pull request #789 from asmorkalov:android_na_mk_fix 2013-04-09 13:14:22 +04:00
Alexander Smorkalov 7bd169caa9 Native activity build with Android.mk fixed. 2013-04-09 10:17:22 +04:00
Andrey Kamaev aef8e6ba59 Merge pull request #782 from taka-no-me:bitness_detection 2013-04-09 08:52:32 +04:00
Andrey Kamaev 6d7313cd3d Merge pull request #776 from virtuald:2.4 2013-04-09 08:51:09 +04:00
Andrey Kamaev d3083ecf6d Fix bitness detection for target platform 2013-04-08 11:25:36 +04:00
Andrey Kamaev 5cfb6a848e Merge pull request #780 from sivapvarma:2.4 2013-04-08 10:11:16 +04:00
yao 7726e273a9 merge add and sub into one set of kernels 2013-04-06 13:37:36 +08:00
Siva Prasad Varma e2df8c7e62 Fix bug #2590
replaced wrong check to correct check
2013-04-05 19:09:09 +05:30
yao bee970ab94 remove the C3 kernels in arithm, as the oclMat will never store 3 channels data 2013-04-05 21:29:29 +08:00
Andrey Kamaev 74e5ff2ec7 Merge pull request #778 from asmorkalov:android_wanr_fix 2013-04-05 13:00:20 +04:00
Andrey Kamaev 72e49dc790 Merge pull request #777 from taka-no-me:ocl_win_hang 2013-04-05 13:00:03 +04:00
Andrey Kamaev a2d27429e4 Merge pull request #775 from bitwangyaoyao:2.4_fixerr 2013-04-05 12:59:45 +04:00
Andrey Kamaev 977562b614 Merge pull request #771 from gpsinghsandhu:surfFeatureFinder 2013-04-05 12:59:22 +04:00
Andrey Kamaev 3b6a82b57c Merge pull request #769 from apavlenko:fix_2901 2013-04-05 12:59:02 +04:00
Alexander Smorkalov f89cc191a4 Waning fixes for Android samples 2013-04-05 12:17:45 +04:00
Andrey Kamaev 5163986e7d Merge pull request #772 from gpsinghsandhu:featureDescriptionTutorials 2013-04-05 11:46:06 +04:00
Andrey Kamaev 3400d83778 Workaround hanging of ocl module when ocl API in not really used 2013-04-05 11:01:28 +04:00
Andrey Pavlenko 4c31c26acf fix for #2901 (en exception was raised when getting empty MatOfDMatch) 2013-04-05 08:50:37 +04:00
Andrey Pavlenko 09fe5cddf1 test for the issue #2901 2013-04-05 08:50:24 +04:00
Andrey Pavlenko 18b2d6bdbb copying '.classpath' and '.project' to build dir, useful for opening in eclipse 2013-04-05 08:50:08 +04:00
Dustin Spicuzza 64b5784c0b Catch exceptions when large allocations fail 2013-04-05 00:43:10 -04:00
yao 8cc5b98051 Fix the problem of device selection on hybrid video systems. 2013-04-05 09:19:59 +08:00
yao 5022bc8c25 move the "cpu device checking" from supportsFeatures() to queryDeviceInfo() 2013-04-05 09:17:14 +08:00
yao bcc086baa9 fix all redefine build errors on some Intel OCL 2013-04-05 08:15:05 +08:00
Gurpinder Singh Sandhu 87b84a4197 another update 2013-04-04 23:13:03 +05:30
Gurpinder Singh Sandhu d51d05fc44 Feature description tutorials made in sync with sample code
sample code : https://github.com/Itseez/opencv/blob/master/samples/cpp/tutorial_code/features2D/SURF_descriptor.cpp

Bug #2888
2013-04-04 23:12:18 +05:30
Gurpinder Singh Sandhu 69127e4105 some typo 2013-04-04 22:54:27 +05:30
Gurpinder Singh Sandhu 2b1e13f8f4 changed surfFeaturesFinder::find() to allow CV_8UC1 type images
http://code.opencv.org/issues/2926
2013-04-04 22:52:07 +05:30
Andrey Kamaev 652606f780 Merge pull request #770 from asmorkalov:winrt 2013-04-04 20:01:55 +04:00
Andrey Kamaev 80fed87d53 Merge pull request #760 from alekcac:2.4 2013-04-04 18:44:35 +04:00
Alexander Smorkalov a914088f29 Build warning fixes. 2013-04-04 07:29:53 -07:00
Andrey Kamaev 6570215205 Merge pull request #767 from asmorkalov:version_increment 2013-04-04 18:00:44 +04:00
Andrey Kamaev c34820b53a Merge pull request #766 from taka-no-me:try_compile_fix 2013-04-04 18:00:23 +04:00
Andrey Kamaev 1d7ff721ed Merge pull request #764 from taka-no-me:svd 2013-04-04 17:59:57 +04:00
Andrey Kamaev 579f723fc6 Merge pull request #762 from vpisarev:cvt_fix 2013-04-04 17:59:28 +04:00
Andrey Kamaev 7c402d1e15 Merge pull request #759 from asmorkalov:android_common_fixes 2013-04-04 17:58:44 +04:00
Andrey Kamaev e7885bb8e4 Merge pull request #758 from taka-no-me:do_not_use_opengl_without_ui 2013-04-04 17:57:38 +04:00
Andrey Kamaev 6f288615a2 Merge pull request #756 from taka-no-me:libavcodec53.25.0 2013-04-04 17:57:17 +04:00
Andrey Kamaev 6a0f605f51 Merge pull request #755 from taka-no-me:add_checkinclude 2013-04-04 17:56:53 +04:00
Andrey Kamaev e22983ddb6 Merge pull request #753 from taka-no-me:fix_osx_fat_java 2013-04-04 17:55:28 +04:00
Alexander Smorkalov 1e332d690f OpenCV verison incremented
OpenCV Manager verison incremeneted;
Docs and tests updated accordingly;
COnstant for Manager initialization added.
2013-04-04 15:50:36 +04:00
Andrey Kamaev fa64f28c6b Fix binary directory used in CMake try_compile commands
Old paths can have problems with cross-compilation
2013-04-04 15:43:49 +04:00
Alexander Shishkov 35f75147b0 removed willowgarage.com links 2013-04-04 14:33:00 +04:00
Vadim Pisarevsky 6aa4f533fa attempt to fix stereobm failures on Mac and Linux 2013-04-04 14:27:11 +04:00
Andrey Kamaev 235a678458 SVD: always update W vector for better algorithm convergency 2013-04-04 13:55:36 +04:00
Alexander Shishkov 382695ba5a removed links to the http://opencv.willowgarage.com/ 2013-04-04 13:44:28 +04:00
Alexander Smorkalov 36367ec027 Several fixes android related fixes
Native activity build warning fixed;
Logcat messages for JavaCameraView updated (Bug #2876);
Some fixes for feature #2893 done.
2013-04-04 12:18:13 +04:00
Andrey Kamaev 2c57445ffe Improve CMake checks for the OpenGL availability
Issue #2868
2013-04-04 11:57:00 +04:00
Andrey Kamaev eb3c9ed1ab Fix ffmpeg wrapper compatibility with libavcodec > 53.25.0
Based on pull request #685
2013-04-04 11:27:43 +04:00
Andrey Kamaev bf3264b197 Add missed CMake include for check_include_file
Issue #2820
2013-04-04 11:04:51 +04:00
Andrey Kamaev 1e9ed14205 Merge pull request #752 from khzimmer:2.4 2013-04-04 00:57:33 +04:00
Andrey Kamaev 17a914d2d0 Merge pull request #749 from taka-no-me:mingw64 2013-04-04 00:56:10 +04:00
Andrey Kamaev 0e53c56cf6 Merge pull request #744 from pengx17:Branch_2.4_stereobp_ocl 2013-04-04 00:55:03 +04:00
Andrey Kamaev eeaa1e8751 Fix link of fat java wrapper on OS X 2013-04-03 20:02:13 +04:00
Karl-Heinz Zimmer 2122627877 Set ptr to NULL, so this method can be called repeatedly. This fixes a crash after unplugging web cam and trying to re-scan the cameras. 2013-04-03 17:54:29 +02:00
Andrey Kamaev 18536fe8f9 Fix target platform detection for x64 MinGW 2013-04-03 16:30:33 +04:00
Andrey Kamaev 91f6eb7cab Merge pull request #745 from jet47:fix-gpu-warnings 2013-04-03 15:44:46 +04:00
Andrey Kamaev 795a513ac4 Merge pull request #716 from asmorkalov:winrt 2013-04-03 15:39:58 +04:00
Andrey Kamaev a2d89aced4 Merge pull request #748 from asmorkalov:android_na_install_fix 2013-04-03 15:21:09 +04:00
Andrey Kamaev 6c58a22e32 Merge pull request #743 from jet47:fix-sparsemat-iterator 2013-04-03 15:18:11 +04:00
Andrey Kamaev d7a7d05dd6 Merge pull request #738 from jet47:gpu-disable-videoenc-test 2013-04-03 15:17:53 +04:00
Andrey Kamaev a089cf8d9b Merge pull request #728 from taka-no-me:ndk-r8e 2013-04-03 15:17:37 +04:00
Alexander Smorkalov a2561ee0cd Code review notes fixed. 2013-04-03 04:14:40 -07:00
Alexander Smorkalov 3929a43873 Native activity install fixed. 2013-04-03 14:43:23 +04:00
Vladislav Vinogradov 870563ba25 fixed compilation warning for CUDA files
command line option '-Wsign-promo' is valid for C++/ObjC++ but not for C [enabled by default]
2013-04-03 13:47:59 +04:00
peng xiao 917138f565 Fix compilation errors. 2013-04-03 17:36:05 +08:00
peng xiao 7758322fd3 Fix some build errors. 2013-04-03 16:42:44 +08:00
Vladislav Vinogradov 9d7e51eb46 fixed SparseMat Iterator compilation error (bug #2921) 2013-04-03 12:39:03 +04:00
peng xiao ecea583afd Add ocl::stereobp function.
OpenCL StereoBeliefPropagation, ported from GPU implementation.
2013-04-03 15:57:26 +08:00
yao d5aaea2749 fix some mismatch on cpu device running OCL 2013-04-03 14:24:55 +08:00
yao cb63bbf001 fix hog on some CPU device running ocl 2013-04-03 13:58:44 +08:00
yao fd4a6f0af0 make the sparse method give correct results on CPU ocl
Add CL_CPU to supportsFeature check
simplify the logic of pyrlk
2013-04-03 13:23:04 +08:00
Alexander Smorkalov 4703f4552a Experimental MS Media Foundation API support added 2013-04-02 18:10:55 -07:00
dave 8db1a73102 Added v4l2 support for getting capture property CV_CAP_PROP_POS_MSEC 2013-04-02 10:31:02 -07:00
Vladislav Vinogradov 8d521d4704 disabled perf tests for gpu VideoWriter and VideoReader 2013-04-02 16:49:09 +04:00
Andrey Kamaev 656594ad4f Merge pull request #736 from bitwangyaoyao:2.4_clflush 2013-04-02 15:25:19 +04:00
Andrey Kamaev baa4882a2a Merge pull request #735 from jet47:fix-windows-issues 2013-04-02 15:25:06 +04:00
Andrey Kamaev f9f1261469 Merge pull request #734 from apavlenko:fix_2806 2013-04-02 15:24:53 +04:00
Andrey Kamaev 74097a426b Merge pull request #732 from apavlenko:disable_unstable_test 2013-04-02 15:24:40 +04:00
Andrey Kamaev 04f0d31472 Merge pull request #731 from bitwangyaoyao:2.4_fixDft 2013-04-02 15:24:26 +04:00
Andrey Kamaev 727a339455 Merge pull request #730 from vpisarev:ba_fix 2013-04-02 15:24:12 +04:00
Vladislav Vinogradov 642d7d6826 fixed nonfree test (run it only on one gpu device) 2013-04-02 13:24:39 +04:00
Vladislav Vinogradov 9086efa8e9 fixed warnings 2013-04-02 13:24:00 +04:00
Vladislav Vinogradov b47a2012d2 fixed assert condition (trueRightDisp can be empty) 2013-04-02 13:23:03 +04:00
Andrey Pavlenko 75ea10e6ff fix for #2806 (missing 'nu03' field of moments) 2013-04-02 12:14:43 +04:00
Andrey Pavlenko 9aa29373b4 this test is unstable (fails from time to time), let's disable it until fixed 2013-04-02 11:39:26 +04:00
yao f3254b28f2 use clflush replaces clfinish 2013-04-02 14:41:02 +08:00
yao 10f6ebfdf7 fix the crash when calling dft 2013-04-02 11:35:40 +08:00
Vadim Pisarevsky 10702c6d75 fixes in bundle adjustment code by Nils Hasler 2013-04-01 15:20:35 +04:00
Andrey Kamaev e640985e22 Update Android toolchain to the latest version supporting NDK r8e 2013-04-01 15:18:43 +04:00
Andrey Kamaev 2a1cf23fab Merge pull request #713 from bitwangyaoyao:2.4_perf 2013-04-01 15:16:48 +04:00
Andrey Kamaev a3954fb223 Merge pull request #729 from jet47:fix-gpu-windows-build 2013-04-01 15:11:40 +04:00
Andrey Kamaev d619625576 Merge pull request #727 from asmorkalov:android_na_cmake 2013-04-01 15:11:25 +04:00
Andrey Kamaev aebffb712a Merge pull request #726 from jet47:fix-pvs-studio-warnings 2013-04-01 15:11:02 +04:00
Andrey Kamaev 52fc9f7794 Merge pull request #725 from taka-no-me:fix_array_create 2013-04-01 15:10:49 +04:00
Vladislav Vinogradov 8e10cd8946 fixed gpu module compilation under windows 2013-04-01 14:15:06 +04:00
Alexander Smorkalov f2fe89c6d8 CMakeLists.txt for Android native activity added. 2013-04-01 12:38:26 +04:00
Vladislav Vinogradov b62cf65b91 fixed inconsistent new/delete operators 2013-04-01 11:55:02 +04:00
Vladislav Vinogradov 3d095ccc82 fixed condition in KeyPointsFilter::retainBest 2013-04-01 11:53:43 +04:00
Vladislav Vinogradov d27d091e59 fixed mind/maxd search in CvFuzzyMeanShiftTracker::SearchWindow::initDepthValues 2013-04-01 11:53:05 +04:00
Vladislav Vinogradov 43f38df1d2 fixed incorrect sizeof() expression in CvCalibFilter::SetCameraCount 2013-04-01 11:37:48 +04:00
Vladislav Vinogradov 3c86788b1f fixed incorrect sizeof() expression in CvCaptureCAM_VFW::open 2013-04-01 11:35:33 +04:00
Vladislav Vinogradov d2b093d809 fixed potential dereference of null pointer 2013-04-01 11:31:56 +04:00
Vladislav Vinogradov ce2284e2e6 removed duplication 2013-04-01 11:29:13 +04:00
Vladislav Vinogradov 5a4fa4607b fixed misprint in imgwarp.cpp 2013-04-01 11:26:49 +04:00
Vladislav Vinogradov ae47b8f06c fixed misprint in icvCreateIsometricImage 2013-04-01 11:23:27 +04:00
Vladislav Vinogradov 10774ff068 removed unnecessary tmp variable (convertTo can work in-place) 2013-04-01 11:18:30 +04:00
Vladislav Vinogradov b28677bd90 fixed misprint in MatOp::augAssignXor 2013-04-01 11:16:47 +04:00
Andrey Kamaev 87bb7ff558 Merge pull request #721 from jet47:tvl1-bug-fix 2013-03-31 13:46:25 +04:00
Andrey Kamaev 6bf0181d87 Merge pull request #723 from virtuald:2.4 2013-03-31 13:45:55 +04:00
Andrey Kamaev ea5225ef3e Fix typo leading to heap corruption in OutputArray::create 2013-03-31 13:40:09 +04:00
Dustin Spicuzza b08432cfe7 Port dft.py sample from cv to cv2 2013-03-29 17:37:00 -04:00
Misty De Meo e143706ef9 Fix ant/Java detection in cmake scripts
Mac OS X 10.7 and newer don't come with Java installed. They do
include some stub binaries, which ask the user if they want to
install Java when run.

OpenCV's cmake script just checks for the existence of an ant
binary and assumes that Java's available if ant is. As a result,
cmake will configure the build to use Java and it will fail once
it tries to compile the Java bindings.

This fixes the issue by checking for the exit status of
`ant -version` - it exits 0 if Java is installed, or 1
otherwise.(cherry picked from commit a423afddc1)
2013-03-29 18:29:40 +04:00
Ryan Rawson f5c3cb8b7c Update operations_on_arrays.rst
Remove weirdo unicode – and just use a normal -(cherry picked from commit 0d49de51b7)
2013-03-29 18:29:29 +04:00
Andrey Kamaev 7d37625fc3 Merge pull request #718 from apavlenko:java_tests_fix 2013-03-29 18:21:14 +04:00
Andrey Kamaev 56d62118d5 Merge pull request #707 from pengx17:2.4_surf 2013-03-29 18:20:45 +04:00
Andrey Kamaev b5dd26e4c7 Merge pull request #704 from taka-no-me:folders 2013-03-29 18:20:27 +04:00
Vladislav Vinogradov 924b0ef786 fixed bug in TVL1 optical flow:
initial optical flow was not cleaned during the second call
2013-03-29 10:40:28 +04:00
Alexander Smorkalov c6cab50c5c Perf tests for Video IO on WInRT fixed. 2013-03-28 00:15:30 -07:00
Alexander Smorkalov 09bc99a0c0 HAVE_WIN32UI and HAVE_VFW checks and defines added. 2013-03-27 08:03:51 -07:00
Alexander Bohn / FI$H2k c66cf08ced Fix for encoding errors when building Java source
The generated OpenCV Java source can contain characters outside of ASCII on some systems – this patch allows the ant task to compile them.
(cherry picked from commit f3ee55e042)
2013-03-27 17:43:00 +04:00
Andrey Kamaev cdddecbb93 Merge pull request #715 from pengx17:2.4_canny_buf 2013-03-27 13:19:40 +04:00
Andrey Kamaev db17382d3a Merge pull request #712 from apavlenko:fix-2912 2013-03-27 13:19:27 +04:00
Alexander Smorkalov de95a2b278 Video IO tests turned off for ARM WinRT. 2013-03-27 00:45:41 -07:00
peng xiao 04a6ab4144 Fix OCL Canny 2013-03-27 15:08:51 +08:00
peng xiao f2ecf4f905 Disable ocl::SURF accurate test 2013-03-27 13:25:08 +08:00
yao 5539e85a11 use perf test replace performance sample 2013-03-27 12:04:48 +08:00
peng xiao ad58c084a9 Fix compiler errors 2013-03-27 08:56:31 +08:00
Alexander Smorkalov 6f68640d4d Multiple fixes for WinRT
Fixed flann build with NEON;
Fixed Haming distance with NEON;
Honest cvRound for WinRT added;
cvRound test added;
Video IO with direct show disabled;
2013-03-26 17:19:52 -07:00
Andrey Pavlenko bbf43e8b16 fix for bug #2912 (DescriptorExtractor::compute Java wrapper loses native arg change) 2013-03-26 19:31:16 +04:00
Andrey Kamaev 6c99b5c9e5 Merge pull request #705 from bitwangyaoyao:2.4_oclFix 2013-03-26 18:38:36 +04:00
Andrey Kamaev 6a6ae355b1 Merge pull request #710 from jet47:gpu-fix-compilation-issues 2013-03-26 15:31:22 +04:00
peng xiao 8ffc15371d Fix compiler errors 2013-03-26 17:23:38 +08:00
peng xiao 7476bf5cd7 Fix compiler errors 2013-03-26 16:40:30 +08:00
Vladislav Vinogradov 4dbd0f0e8f fixed compilation issues with gpu modules:
* disabled warnings from thrust
* fixed warnings from ts_gtest.h
* possibly fixed superres compilation in Debug mode on Windows
2013-03-26 12:33:13 +04:00
peng xiao 9698079ca5 Pass warp size into SURF 2013-03-26 15:48:15 +08:00
peng xiao 0c19a07bf4 Add a function to query ocl device info
Currently the function only supports wavefront size query
2013-03-26 15:36:49 +08:00
yao d6f1ad8c14 more fix 2013-03-26 14:23:26 +08:00
yao f36db3a037 more fix of mismatch 2013-03-26 14:10:29 +08:00
yao ad6aae4583 more fix of mismatch functions on CPU OCL 2013-03-26 13:41:13 +08:00
yao 2c06e59a69 fix some mismatch 2013-03-26 13:05:01 +08:00
yao f428d1874a discard comments in kernels.cpp 2013-03-26 12:01:01 +08:00
peng xiao f7b40cdc63 Add a macro to call additional barrier function on the fly 2013-03-26 11:51:02 +08:00
yao 7e495a1d66 fix amdFft and amdBlas path 2013-03-26 11:48:14 +08:00
Andrey Kamaev f282498b1d Drop outdated targets and fix solution folders 2013-03-25 21:57:53 +04:00
Andrey Kamaev 55c9a7c87d Merge pull request #701 from jet47:clahe 2013-03-25 20:26:22 +04:00
Vladislav Vinogradov 4d23e2c8c9 GPU implementation of CLAHE 2013-03-25 17:45:13 +04:00
Vladislav Vinogradov 5810a73d30 CPU implementation of CLAHE 2013-03-25 17:44:31 +04:00
Andrey Kamaev 5c327030eb Merge pull request #698 from vpisarev/ms_visimage_tut24
added tutorial by Wolf Kienzle on using "image watch" plugin for ms visual studio
2013-03-25 03:29:13 -07:00
Andrey Kamaev 04ec0bdbf0 Merge pull request #697 from Nerei/ios_png_jpeg
Enabled png and jpeg for iOS
2013-03-25 03:28:29 -07:00
Anatoly Baksheev 7fa01e3fcc enabled png and jpeg for iOS 2013-03-25 11:19:29 +04:00
Vadim Pisarevsky 2be7d9b4d5 added tutorial by Wolf Kienzle on using "image watch" plugin for ms visual studio 2013-03-24 23:48:35 +04:00
Andrey Kamaev ec8aec09ec Merge pull request #691 from vpisarev:fix_2899 2013-03-22 17:18:55 +04:00
Andrey Kamaev 2c9f651230 Merge pull request #688 from jet47:fix-nonfree-compilation 2013-03-22 17:18:40 +04:00
Andrey Kamaev c6eb7c3b12 Merge pull request #683 from jet47:gpu-license 2013-03-22 17:18:15 +04:00
Vadim Pisarevsky a4815cf359 removed extra whitespaces 2013-03-22 15:12:55 +04:00
Vadim Pisarevsky 38693ef37c fixed http://code.opencv.org/issues/2899 2013-03-22 15:10:54 +04:00
Vadim Pisarevsky 5febc07b6b Merge pull request #687 from vpisarev:fast_lin_svm2 2013-03-22 14:34:45 +04:00
Vladislav Vinogradov f0b19d4659 updated license header in whole gpu module 2013-03-22 14:03:15 +04:00
Vladislav Vinogradov 3ef2e1136f fixed nonfree compilation with gpu (perf tests) 2013-03-22 10:20:57 +04:00
Vadim Pisarevsky e01335bf47 fixed buffer size and restored the use of compressed files in ml's load_save tests. 2013-03-22 01:53:41 +04:00
Andrey Kamaev b6365699ee Merge pull request #664 from taka-no-me/ocl
Move OpenCL SURF to nonfree module
2013-03-21 09:01:59 -07:00
Andrey Kamaev 07cd18adaf Merge pull request #686 from taka-no-me/stereobm_sobel
Fixed wrong index in prefilterXSobel function
2013-03-21 08:59:59 -07:00
Andrey Kamaev 8a962d348e Merge pull request #676 from vpisarev/svd_stuff
added test for bug #1448 and hopefully fixes the bug #2898
2013-03-21 08:59:48 -07:00
Andrey Kamaev 172b4554f3 Merge pull request #675 from jet47/gpu-test-fixes
GPU test fixes
2013-03-21 08:59:34 -07:00
Vadim Pisarevsky 4331f76d18 add hack to disable optimization of linear svms; improved precision of optimize_linear_svm; add the relevant test, which however requires some big database (so it's disabled by default) 2013-03-21 19:17:59 +04:00
Andrey Kamaev 4bd721ad3b Fix build errors 2013-03-21 18:37:34 +04:00
Dong Nguyen 73f5697749 Fixed wrong in row index of SSE implementation in prefilterXSobel function. 2013-03-21 18:28:23 +04:00
Andrey Kamaev 1b4afcca30 Move OpenCl SURF perf tests to nonfree and fix build of samples 2013-03-21 18:19:52 +04:00
Andrey Kamaev 77ad07adf3 Disable crashing ocl tests 2013-03-21 18:18:17 +04:00
Andrey Kamaev 7b8ad4cb04 Refactor OpenCL initialization and allow to use ocl module witout explicit setup 2013-03-21 18:18:15 +04:00
Andrey Kamaev dd678121b3 Trying to make ocl surf work
1. Added more sync to reduction.
2. Turned off Image2D feature. Probably its support is not detected correctly.
3. Temporary disabled descriptor tests - can't localize a problem of the ocl descriptor.
2013-03-21 18:16:59 +04:00
Andrey Kamaev 1be58f9a00 SURF accuracy test is moved to nonfree 2013-03-21 18:15:46 +04:00
Andrey Kamaev 6846f881a2 Move OpenCL SURF to nonfree module 2013-03-21 17:59:35 +04:00
Andrey Kamaev 91ac9688a8 Allow OpenCL acceleration in every OpenCV module 2013-03-21 17:57:01 +04:00
Andrey Kamaev d28df08eb0 Refactor OpenCL search 2013-03-21 17:56:59 +04:00
Andrey Kamaev 2afad8b575 Turn on OpenCL by default 2013-03-21 17:56:57 +04:00
Vadim Pisarevsky 63a5587d0d exploring possible bug in optimize_linear_svm 2013-03-21 17:00:08 +04:00
Alexander Smorkalov 7ec2b6bad0 Highgui tests for GUI disabled for WinRT;
Warnings fix;
2013-03-21 16:18:19 +04:00
Andrey Kamaev d756de176f Merge pull request #679 from jet47:gpu-simd-functions 2013-03-21 14:59:55 +04:00
Andrey Kamaev 1b10699996 Merge pull request #677 from jet47:gpu-lut-fix 2013-03-21 14:48:03 +04:00
Andrey Kamaev 40c26e21d2 Merge pull request #662 from asmorkalov:android_native_activity 2013-03-21 14:47:14 +04:00
Vladislav Vinogradov 33ff3d6016 added simd_functions.hpp to device layer 2013-03-21 14:09:19 +04:00
Vladislav Vinogradov d87b709c26 fixed minMax perf test 2013-03-21 13:46:32 +04:00
Vladislav Vinogradov 0149969463 disable tests that requires video support if it is not available 2013-03-21 13:40:07 +04:00
Vladislav Vinogradov b07bce11ef increased epsilon in sanity test 2013-03-21 13:40:07 +04:00
Vladislav Vinogradov 83def21ba9 increased time limits in perf tests 2013-03-21 13:40:07 +04:00
Vladislav Vinogradov 99c49648fa fixed gpu::LUT on multi device system 2013-03-21 13:39:25 +04:00
Vadim Pisarevsky 321070ccf0 Merge pull request #669 from vpisarev:fast_lin_svm 2013-03-21 12:22:36 +04:00
cuda-geek ecdc7da6b1 Merge pull request #656 from jet47:gpu-nonfree 2013-03-21 08:57:09 +04:00
Alexander Smorkalov 429cd85b46 More accurate guards for WinRT features in CMake. 2013-03-20 12:21:29 -07:00
Vadim Pisarevsky 9a86245242 added test for bug #1448 and hopefully fixes the bug #2898 2013-03-20 11:58:19 +04:00
Alexander Smorkalov 3d594c70ff Multiple Windows RT fixes
TIFF build was fixed;
Direct Show back-end was enabled;
More accurate guards implemented.
2013-03-19 17:46:01 -07:00
Vadim Pisarevsky 24c614f686 added load/save feature for SVM classifier in letter_recog sample 2013-03-19 18:41:38 +04:00
Vadim Pisarevsky a06af5ca25 dramatic speedup of SVM::predict in the case of linear SVM 2013-03-19 18:28:17 +04:00
Alexander Smorkalov b37d65ff2b Code refactoring was done. 2013-03-18 17:36:48 +04:00
Vladislav Vinogradov 0a65f2f4af merged gpunonfree and nonfree module 2013-03-18 16:14:37 +04:00
Andrey Kamaev 79e0e948a7 Merge pull request #663 from asmorkalov:manager_tegra4 2013-03-18 16:00:55 +04:00
Andrey Kamaev da00252963 Merge pull request #652 from Daniil-Osokin:fixCvtColorHeader 2013-03-18 15:56:33 +04:00
Vladislav Vinogradov 3b065e38be fixed warnings 2013-03-18 14:06:29 +04:00
Vladislav Vinogradov fd7bf0b766 moved SURF_GPU and VIBE to gpunonfree module 2013-03-18 14:06:29 +04:00
Vladislav Vinogradov abc9ef6809 moved utility functions from gpu_perf_test and gpu_test to ts module 2013-03-18 14:06:19 +04:00
Alexander Smorkalov fca1f006d8 Tegra4 support added. 2013-03-18 12:12:17 +04:00
Alexander Smorkalov dc2bca0772 Initialization with Manager instead static link added. 2013-03-18 10:37:11 +04:00
Alexander Smorkalov 436d9bbcbb Base for Native Activity example added. 2013-03-18 10:37:11 +04:00
Daniil Osokin e153f0631c Added missing enums for cvtColor RGB to YUV420p 2013-03-18 10:33:44 +04:00
cuda-geek 819ac111a2 Merge pull request #660 from Nerei:2.4 2013-03-17 23:00:04 +04:00
Vadim Pisarevsky 959a5c980d Merge pull request #532 from jet47:super-resolution 2013-03-17 19:13:37 +04:00
Anatoly Baksheev 2bf3104ee5 bugfix in sample to support LBP classifier. To merge to master also. 2013-03-17 18:43:55 +04:00
cuda-geek 1d626194af Merge pull request #644 from jet47:gpu-debayer-mht 2013-03-15 13:55:03 +04:00
Andrey Kamaev 00d8ad9e7e Merge pull request #632 from pengx17:2.4 2013-03-15 10:34:43 +04:00
Andrey Kamaev 18ca645fd2 Merge pull request #631 from bitwangyaoyao:2.4_stereo 2013-03-15 10:34:27 +04:00
Vladislav Vinogradov 4a237af814 implemented Malvar, He, and Cutler Bayer Demosaicing on gpu 2013-03-14 18:11:12 +04:00
Andrey Kamaev ecf770d49d Merge pull request #638 from bitwangyaoyao:2.4_fixErode 2013-03-14 11:41:02 +04:00
Andrey Kamaev 5f3eb0fc49 Merge pull request #628 from bitwangyaoyao:2.4_fixMoments 2013-03-14 11:40:47 +04:00
peng xiao 34c7162104 Merge remote-tracking branch 'upstream/2.4' into 2.4 2013-03-14 09:24:45 +08:00
Alexander Smorkalov 06aff4e7b0 Initial Windows RT support commit.
GPU module turned off;
TIFF support turned off;
Windows Managment and Video IO (VFW) turned off.
2013-03-13 09:02:15 -07:00
yao 084385cf38 Fix a bug in ocl::Erode/Dilate, simplify the host logic 2013-03-12 16:45:43 +08:00
peng xiao 3a565e001e Remove unnecessary HAVE_OPENCL macro block. 2013-03-12 09:10:15 +08:00
yao f8985bb7fc fix warnings on Linux 2013-03-12 08:55:50 +08:00
Andrey Kamaev 1d3219747a Merge pull request #633 from jet47:gpu-debayer-gray 2013-03-11 21:15:00 +04:00
Andrey Kamaev 632211eb27 Merge pull request #630 from asmorkalov:android_view_stretch 2013-03-11 21:14:43 +04:00
Andrey Kamaev 980fc93b4d Fix clang + ccache build warnings 2013-03-11 18:41:22 +04:00
Andrey Kamaev d1a148b06f Merge pull request #635 from taka-no-me:c++11 2013-03-11 17:35:46 +04:00
Vladislav Vinogradov 4ddf634c30 gpu : implement Bayer* -> Gray color conversion 2013-03-11 15:41:50 +04:00
Andrey Kamaev ec8637a990 Fix build errors 2013-03-11 14:52:22 +04:00
peng xiao 34998b6034 Add ocl::SURF accurate test.
The test cases are ported from gpu module (masked version is still
missing).
Key point direction definition is synchronized with cv::SURF.
nonfree module dependency is added into ocl module's cmake file.
2013-03-11 18:35:30 +08:00
yao 3f81a152b9 remove the OpenCL define 2013-03-11 17:21:31 +08:00
yao 0f0a4c3099 add stereoBM function 2013-03-11 17:10:58 +08:00
Alexander Smorkalov 8942eaf0d7 Stetch support for Android View classes added (Feature #2840) 2013-03-11 11:17:19 +04:00
yao 7f0d6d42f0 fix mismatch on NV OCL and some AMD GPUs 2013-03-08 10:30:01 +08:00
Andrey Kamaev 13f402a554 Merge pull request #620 from apavlenko:java_tutorial_fix 2013-03-06 15:47:09 +04:00
Andrey Pavlenko 0e64baaec5 removing redundant code 2013-03-06 13:00:00 +04:00
Andrey Pavlenko de3767df0a minor formatting 2013-03-06 12:59:38 +04:00
Andrey Pavlenko aaefd31844 more formatting 2013-03-05 19:03:36 +04:00
Andrey Pavlenko 23fb570cbd updating JNI lib location for Unix; formatting update 2013-03-05 18:42:14 +04:00
Andrey Pavlenko 116d3be9c0 moving JNI library to 'build/lib' dir on non-Win 2013-03-05 18:41:44 +04:00
Andrey Kamaev bbac4bc4cf Merge pull request #491 from Daniil-Osokin:cvtRGB2YUV420p 2013-03-05 15:26:16 +04:00
Andrey Kamaev facab40745 Disable -fomit-frame-pointer for OS X Clang as it leads to crash on exception thrown 2013-03-01 19:44:17 +04:00
Andrey Kamaev 08545b8f96 Merge pull request #603 from taka-no-me:avoid_deps_on_missing_lib 2013-03-01 17:10:46 +04:00
Andrey Kamaev f22ee8fc19 Merge pull request #602 from bitwangyaoyao:2.4_fixAdd 2013-03-01 17:10:11 +04:00
Andrey Kamaev e6cb44edc3 Merge pull request #600 from taka-no-me:fix_build_warnings 2013-03-01 17:09:56 +04:00
Andrey Kamaev 1094179155 Avoid build falure in armeabi build with Android SDK 2013-03-01 16:50:42 +04:00
cuda-geek a706de2446 Merge pull request #601 from apavlenko:android_tutorial_update 2013-03-01 16:09:25 +04:00
yao 65bb4250a4 Fix a bug in addWeighted x64 mode
And a potential problem in remap
2013-03-01 18:08:53 +08:00
Andrey Pavlenko 07b1ccdeb0 removing redundant picture resize 2013-03-01 13:56:50 +04:00
Andrey Kamaev 2128b82c6b Merge pull request #598 from asmorkalov:lib_info_fix 2013-03-01 13:52:57 +04:00
Andrey Pavlenko 978132edc1 minor Android tutorial fixes 2013-03-01 13:52:14 +04:00
Andrey Kamaev 22d33373fa Fix build warnings on MSVC x64 and OS X clang 2013-03-01 13:29:43 +04:00
Andrey Kamaev eaaba1336a Merge pull request #595 from bitwangyaoyao:2.4_perfTest 2013-03-01 12:49:43 +04:00
Andrey Kamaev 85c7a36f93 Merge pull request #594 from asmorkalov:android_all_build_fix 2013-03-01 12:49:27 +04:00
Andrey Kamaev 6be6adbbed Merge pull request #593 from apavlenko:java_tutorial_fixes 2013-03-01 12:49:15 +04:00
Alexander Smorkalov da455efc26 Full package version fixed. 2013-03-01 12:44:14 +04:00
Vadim Pisarevsky a910360689 Merge pull request #586 from bitwangyaoyao:2.4_FixBFMatcher 2013-03-01 10:55:11 +04:00
yao 8f3883a28d fix a compile warning 2013-03-01 10:06:51 +08:00
yao 82b9854837 fix compile warnings 2013-03-01 08:47:20 +08:00
Alexander 3cfd3d3ee0 Build with OpenCV.mk for all terget fixed. 2013-02-28 21:43:57 +04:00
Andrey Pavlenko af2552d72c fixing issues from http://www.code.opencv.org/issues/2807 2013-02-28 19:11:24 +04:00
Andrey Kamaev c865b28243 Merge pull request #591 from jet47:gpu-sanity-tests 2013-02-28 18:08:11 +04:00
Andrey Kamaev 79cf292d78 Merge pull request #590 from apavlenko:java_fixes 2013-02-28 18:07:33 +04:00
Andrey Kamaev 1018d110d6 Merge pull request #589 from taka-no-me:2digit_pyversion 2013-02-28 18:06:43 +04:00
Andrey Kamaev fba0e6fc5c Merge pull request #587 from bitwangyaoyao:2.4_fixHog 2013-02-28 18:06:28 +04:00
Andrey Kamaev 4811988caf Merge pull request #585 from bitwangyaoyao:2.4_SURF 2013-02-28 18:06:14 +04:00
Andrey Kamaev 2a73a6c445 Merge pull request #525 from odeniz:2.4 2013-02-28 18:05:55 +04:00
Andrey Pavlenko d18b2c2502 patch -> revision 2013-02-28 17:19:52 +04:00
Andrey Pavlenko c24d7cc066 adding more version-related variables 2013-02-28 16:56:53 +04:00
Vladislav Vinogradov f533f0dca9 fixed gpu sanity tests 2013-02-28 16:54:37 +04:00
Andrey Kamaev bd38a1945d Honor 2-digit python version 2013-02-28 16:32:13 +04:00
Andrey Pavlenko 29b763dc60 updating samples to load JNI lib with correct suffix 2013-02-28 16:24:52 +04:00
Andrey Pavlenko 5321da92cb adding/fixing version suffix for desktop java library on all OSes 2013-02-28 16:12:44 +04:00
Andrey Kamaev f4b413e830 Merge pull request #570 from taka-no-me:fix_android_cmakeconfig 2013-02-28 15:45:45 +04:00
Andrey Kamaev 1f411b5a2b Merge pull request #572 from asmorkalov:manager_4_digit_version 2013-02-28 15:44:57 +04:00
Andrey Kamaev bf4c8c6ff1 Merge pull request #584 from bitwangyaoyao:2.4_perfTest 2013-02-28 15:44:06 +04:00
Andrey Kamaev d0e340bc80 Merge pull request #582 from bitwangyaoyao:2.4_fixBlend 2013-02-28 15:43:51 +04:00
Alexander Smorkalov ddc2e334da OpenCV version swithed to 4 digit in GUI and package revision number. 2013-02-28 12:59:24 +04:00
yao f12369a53c Fix ocl::HOG crash on Intel OCL 2013-02-28 16:56:39 +08:00
Andrey Kamaev 831580ef31 Merge pull request #578 from jet47:nmake-ffmpeg-copy 2013-02-28 12:56:26 +04:00
Andrey Kamaev 6ce51d88a4 Merge pull request #573 from jet47:config-cross-compilation 2013-02-28 12:56:08 +04:00
cuda-geek 0771fd82c0 Merge pull request #557 from jet47:gpu-sanity 2013-02-28 11:17:12 +04:00
yao f791344810 linux warning fix 2013-02-28 14:37:37 +08:00
Vladislav Vinogradov 61ef48eee6 fixed OpenCVConfig for cross-compilation:
* added CUDA to EXTRA libs if OpenCV uses it
* added -rpath-link option for linker if OpenCV was built as SHARED libs
2013-02-28 10:33:05 +04:00
yao 504008dbe0 Fix ocl::bruteforcematcher crash on Intel OCL 2013-02-28 14:31:08 +08:00
Vladislav Vinogradov df456245e7 fixed ffmpeg destination folder for NMake generator 2013-02-28 10:16:41 +04:00
yao 7c1f1d8837 fix bug #2787 2013-02-28 14:05:36 +08:00
yao ed3c3822fc adjust some test cases, use original template file name in Haar 2013-02-28 12:15:13 +08:00
yao 69eebdd608 fix the blend crash in some cases 2013-02-28 09:03:10 +08:00
Andrey Kamaev 2be893a21e Revise git attributes 2013-02-28 03:18:54 +04:00
Andrey Kamaev a5d2253be8 Merge pull request #544 from AnnaKogan8:added-regressions-only-option 2013-02-28 00:38:47 +04:00
Andrey Kamaev 5b7a4cd955 Merge pull request #579 from bitwangyaoyao:2.4_perfTest 2013-02-27 19:34:17 +04:00
Andrey Kamaev 0a8711d76b Merge pull request #576 from bitwangyaoyao:2.4_customMat2 2013-02-27 19:33:54 +04:00
Andrey Kamaev af13c8604d Merge pull request #568 from bitwangyaoyao:2.4_moments 2013-02-27 19:33:26 +04:00
yao cbff75db9e fix build errors 2013-02-27 21:56:03 +08:00
yao bf427c01c1 adjust matchTemplate in performance sample, as current version is too slow when template size isn't small 2013-02-27 21:41:04 +08:00
Andrey Kamaev 024185b9ed Fix OpenCVConfig.cmake generated for Android platform (issue #2496)
* fix path to libraries in Android SDK
* allow to link to opencv_java.so as Android.mk does

To link to opencv_java.so you can either change your cmake to find OpenCV as

    find_package(OpenCV opencv_java)

or pass -DOpenCV_FIND_COMPONENTS=opencv_java to your cmake command
2013-02-27 15:04:29 +04:00
Vladislav Vinogradov 7a0d6f7733 Super Resolution module 2013-02-27 13:41:15 +04:00
yao 9ccf27c7f5 add interfaces enable custom oclMat device memory type 2013-02-27 17:32:32 +08:00
cuda-geek 5d43ce853e Merge pull request #559 from jet47:gpu-hough-circles 2013-02-27 12:29:45 +04:00
Andrey Kamaev 1a82ceac9c Merge pull request #563 from taka-no-me:perf_classify_speedups 2013-02-27 11:37:18 +04:00
Andrey Kamaev b836e3c65b Merge pull request #556 from bitwangyaoyao:2.4_SURF 2013-02-27 11:37:04 +04:00
Andrey Kamaev f03c04c151 Merge pull request #554 from bitwangyaoyao:2.4_impvInterFrame 2013-02-27 11:36:40 +04:00
Andrey Kamaev c54c7c8b2c Merge pull request #553 from bitwangyaoyao:2.4_perfTest 2013-02-27 11:36:23 +04:00
yao dba2ec0539 remove the compile warnings 2013-02-27 14:53:27 +08:00
yao 6df23428af Add moments function 2013-02-27 13:45:16 +08:00
yao 6409a4b112 fix the compile warnings 2013-02-27 11:16:46 +08:00
yao 9ec5333a9b pyrlk also take advantages of cl_image support detection 2013-02-27 10:45:07 +08:00
yao da47ccec9c Put the cl_image support detection in utils 2013-02-27 10:24:03 +08:00
Andrey Kamaev 8304f17d63 Merge pull request #565 from cuda-geek:auto-arch 2013-02-27 00:05:16 +04:00
Andrey Kamaev e9307259d7 Merge pull request #564 from apavlenko:eclipse_import_fix 2013-02-27 00:05:02 +04:00
marina.kolpakova 7a08bbbcc7 add CUDA_GENERATION macro 2013-02-26 20:13:47 +04:00
cuda-geek 0e5255d4fb Merge pull request #561 from asmorkalov:android_tutorial_2_4_4_update 2013-02-26 19:58:34 +04:00
Andrey Pavlenko 1c1c3c29c3 fixing eclipse import errors 2013-02-26 19:52:59 +04:00
Andrey Kamaev 4d2c864bea Add option --with-score to summary.py to automatically classify speedups
Legend for new column is:
* FASTER - strong speedup
* faster - spedup is detected but it is unreliable
* <empty> - no change in speed
* slower - slowdown is detected but it is unreliable
* SLOWER - strong slowdown
2013-02-26 19:42:51 +04:00
Andrey Kamaev 2304d5367f Merge pull request #549 from asmorkalov:android_mips_static_build_fix 2013-02-26 19:03:43 +04:00
Andrey Kamaev f6dd3651ea Merge pull request #552 from taka-no-me:fix_invert 2013-02-26 18:31:30 +04:00
Andrey Kamaev dcf7a69430 Merge pull request #555 from bitwangyaoyao:2.4_fixFft 2013-02-26 18:31:17 +04:00
yao 04faaa9e35 Fix ocl::dft the compile warning on Linux 2013-02-26 21:18:51 +08:00
Alexander Smorkalov 8458f5c489 Android tutorial updated
OpenCV version incremented;
New CvCameraViewListener interface description added.
2013-02-26 16:35:02 +04:00
yao 3ff5689fe5 Merge branch '2.4_fixFft' of https://github.com/bitwangyaoyao/opencv into 2.4 2013-02-26 20:30:42 +08:00
Vladislav Vinogradov 10402c8a85 fixed gpu HoughCircles test 2013-02-26 16:10:35 +04:00
Vladislav Vinogradov c9868fc01f fixed warp tests 2013-02-26 13:53:39 +04:00
Vladislav Vinogradov 4f7cfbc26e fixed gpu bitwise operations with scalars 2013-02-26 13:53:39 +04:00
Vladislav Vinogradov a138e12a26 refactored gpu perf tests and fixed sanity tests 2013-02-26 13:53:38 +04:00
yao ea433cc496 remove the device specific logic 2013-02-26 17:53:08 +08:00
yao 62f8b0fc48 Fix ocl::dft error when program end on Linux 2013-02-26 17:44:19 +08:00
yao 0ac7f0d374 Simplify the bind texture logic of interpolate frame function 2013-02-26 17:12:03 +08:00
yao e3a715882e fix the mismatch of perf_test, add a performance sample for ocl module 2013-02-26 16:52:30 +08:00
Alexander Smorkalov 11885e86ee Feature #2833 Sepia size in Image Manipulations demo implemented. 2013-02-26 11:25:33 +04:00
Andrey Kamaev ab221e94c0 Fix invert under MSVC 2013-02-26 11:16:57 +04:00
Anna Kogan a9b1c5db78 Added --regressions-only=X-FACTOR option 2013-02-26 11:09:17 +04:00
Alexander Smorkalov 3c7bc6a51e Static ANdroid samples build for MIPS fixed 2013-02-26 10:32:10 +04:00
Andrey Kamaev 0d12f451be Merge pull request #524 from LeonidBeynenson:add_float_and_unsigned_parameters_to_cv_algorithm 2013-02-26 01:00:55 +04:00
Andrey Kamaev 11b83d4000 Merge pull request #547 from vpisarev:fixes_244 2013-02-26 01:00:36 +04:00
Vadim Pisarevsky 416432a8e5 replaced tabs with spaces 2013-02-25 23:10:38 +04:00
Vadim Pisarevsky 087537463d attempt to make the ultimate fix for the failure in Core_Invert.small 2013-02-25 22:46:30 +04:00
Vadim Pisarevsky 25bbcba0ea fixed Core_MulSpectrums failure 2013-02-25 22:02:24 +04:00
Andrey Kamaev 9f15daf0a0 Merge pull request #542 from asmorkalov:manager_2.4.4_filter 2013-02-25 18:00:14 +04:00
Daniil Osokin cf5e272878 Added multithreaded implementation for RGB to YUV420p color conversion 2013-02-25 17:01:07 +04:00
Daniil Osokin d8f538d67b Added tests for RGB to YUV420p color conversion 2013-02-25 17:01:07 +04:00
LeonidBeynenson 41dc829341 Made changes to avoid warnings (Windows compilation). 2013-02-25 15:38:59 +04:00
Alexander Smorkalov bb7af3f78e OpenCV Manager preparation to 2.4.4 release
2.4.4 constant added to Manager filter;
Added additional native tests.
2013-02-25 15:34:06 +04:00
Andrey Kamaev 6082f351ab Merge pull request #541 from bitwangyaoyao:2.4_fixCvtColor 2013-02-25 14:04:02 +04:00
Andrey Kamaev b6cdc849db Merge pull request #540 from hgaspar:244 2013-02-25 14:03:36 +04:00
yao 59ebf4ed9f Fix the ocl::cvtColor mismatch on some devices 2013-02-25 15:19:39 +08:00
hgaspar 60981565fa updated the ocl module introduction 2013-02-24 22:34:44 -05:00
Daniil Osokin 7255ede3af Added implementation for RGB to YUV420p color conversion 2013-02-24 23:07:05 +04:00
Andrey Kamaev 620c699456 Merge pull request #538 from NCBee:patch-2 2013-02-24 15:27:01 +04:00
Andrey Kamaev cfd019e2a2 Merge pull request #537 from bitwangyaoyao:2.4_fixWarpAffine 2013-02-24 15:26:42 +04:00
Andrey Kamaev 7047c23489 Merge pull request #535 from bitwangyaoyao:2.4_clean 2013-02-24 15:26:24 +04:00
Andrey Kamaev 3b1fc16f36 Merge pull request #536 from bitwangyaoyao:2.4_fixHaar 2013-02-24 15:26:06 +04:00
NCBee 7249457771 Update doc/tutorials/core/adding_images/adding_images.rst
Quick fix for: http://code.opencv.org/issues/2803
2013-02-23 10:28:24 -05:00
yao f1a5c1328c remove the empty implementation when HAVE_OPENCL not defined 2013-02-23 20:50:03 +08:00
yao b7ebedc23e fix mismatch of WarpAffine 2013-02-23 17:43:10 +08:00
yao 9bbf170054 some cleanup 2013-02-23 15:34:43 +08:00
yao 720eaf1e1a fix the haar kernel problems on Nvidia and Intel OCL 2013-02-23 15:19:46 +08:00
yao d050159f07 Remove the perf running from ocl::matchTemplate accuracy tests 2013-02-23 14:30:04 +08:00
Oscar Deniz Suarez 07ea88b8c6 Update samples/c/smiledetect.cpp
Fixed isdigit() Android build error
2013-02-22 16:23:42 +01:00
OpenCV Buildbot e6dd4e840d Update FFMPEG wrapper binaries 2013-02-22 16:56:01 +04:00
Andrey Kamaev dfbd5f6a02 Merge pull request #506 from asmorkalov:crosscompile_tutorial 2013-02-22 16:41:16 +04:00
Andrey Kamaev 9bbb0ed060 Merge pull request #531 from asmorkalov:android_mips_fix 2013-02-22 16:40:20 +04:00
Andrey Kamaev 051aa4cb98 Merge pull request #530 from bitwangyaoyao:2.4_fixEqHist 2013-02-22 16:40:06 +04:00
Andrey Kamaev 58f546dd93 Merge pull request #529 from bitwangyaoyao:2.4_fixGemm 2013-02-22 16:39:50 +04:00
Andrey Kamaev 3406832aa2 Merge pull request #528 from bitwangyaoyao:2.4_fixPyrLK 2013-02-22 16:35:30 +04:00
Andrey Kamaev b1975fb13d Merge pull request #527 from bitwangyaoyao:2.4_fixMeanShift 2013-02-22 16:35:18 +04:00
Andrey Kamaev e68901bbce Merge pull request #523 from taka-no-me:fix_2815 2013-02-22 16:34:28 +04:00
Andrey Kamaev 7cd4edd695 Merge pull request #518 from asmorkalov:ts_refactor 2013-02-22 16:34:14 +04:00
yao 1a488c0542 fix the warning on Linux when OpenCL 1.2 not supported 2013-02-22 18:33:16 +08:00
Alexander Smorkalov 4bbdfbc9e7 Bug #2821 Installation of OpenCV modules breaks build on MIPS Android fixed.
Native camera libs for MIPS installation fixed.
2013-02-22 11:57:42 +04:00
yao 7810254198 Fix ocl::equalizeHist mismatch 2013-02-22 15:48:31 +08:00
yao 3316d0bfb2 Fix the compiling errors of gemm on Linux 2013-02-22 15:05:49 +08:00
cuda-geek dea6148a1a Merge pull request #526 from taka-no-me:fix_compatibility 2013-02-22 09:18:19 +04:00
yao 2e3f4fdada fix pyrLK's mismatch on Linux 2013-02-22 11:23:43 +08:00
yao f4ef0c1598 fix meanShift mismatch on none-double GPUs 2013-02-22 10:13:20 +08:00
Andrey Kamaev c17e9ef7ba Repair binary compatibility of ocl module 2013-02-22 01:58:01 +04:00
Oscar Deniz Suarez 8cfba6456b Update samples/c/smiledetect.cpp
- Changed to floating neighbor maximum mode
- Fixed some previous errors.
2013-02-21 22:55:28 +01:00
Andrey Kamaev 995154d10d Fix binary compatibility of gpu module 2013-02-22 00:14:58 +04:00
Oscar Deniz Suarez 379dcf87d5 Added smile detector 2013-02-21 17:17:34 +01:00
LeonidBeynenson bfb644ac04 Changed error message in Algorithm::get. 2013-02-21 20:10:42 +04:00
LeonidBeynenson e7b214b6d2 Removed urequired functions 2013-02-21 19:49:37 +04:00
Andrey Kamaev eda2a76ee9 Merge pull request #520 from jet47:gpu-updates 2013-02-21 18:03:06 +04:00
gferry e3803f9985 fix for OpenCV issue #2815
- libavcodec issue
- some decoders alter AVCodecContext width/height values, in a wrong way
- eg. in issue 2815, vp6f decoder changes these values, resulting in distorted / invalid frames
- this patch forces default AVCodecContext values
2013-02-21 17:37:24 +04:00
Andrey Kamaev f0dce1fa35 Merge pull request #521 from asmorkalov:2.4.4_preparation 2013-02-21 17:25:21 +04:00
Vladislav Vinogradov 73ffd71a22 Fixed documentation build 2013-02-21 17:06:53 +04:00
Vladislav Vinogradov 8b1f88c40f updated gpu module API 2013-02-21 16:12:33 +04:00
Andrey Kamaev afa993316f Merge pull request #502 from jet47:opengl-updates 2013-02-21 15:12:43 +04:00
Alexander Smorkalov 9f39c8eaa1 OpenCV 2.4.4 preparation
Manager verison incremented;
Additional constatnt for library intialization added;
Documents updated.
2013-02-21 14:42:28 +04:00
Andrey Kamaev 16461247ce Merge pull request #498 from asmorkalov:doc_ptr 2013-02-21 13:30:34 +04:00
Andrey Kamaev ff0d23e55b Merge pull request #519 from bitwangyaoyao:2.4_findOCL 2013-02-21 13:30:20 +04:00
Vladislav Vinogradov 21f95a3b11 restored source compatibility 2013-02-21 12:38:12 +04:00
Andrey Kamaev d4e7bec29a Merge pull request #440 from AnnaKogan8:fixed-perfomance-tests 2013-02-21 12:29:57 +04:00
Andrey Kamaev decf04dfec Merge pull request #512 from jet47:core-gpu-updates 2013-02-21 12:22:04 +04:00
Vladislav Vinogradov a938534a7e restored binary compatibility 2013-02-21 12:18:08 +04:00
Alexander 4091eab45e cv::Ptr description extended. 2013-02-21 12:14:42 +04:00
yao f816e10ac9 Add auto detection to Intel OCL 2013-02-21 16:11:18 +08:00
Alexander Smorkalov e21a1d3124 Test system refactoring
cmpEps replaced on cmpEps2 to reduce code dublication;
Constants for cmpEps return values added.
2013-02-21 12:07:04 +04:00
Andrey Kamaev c1a5d1c44a Merge pull request #508 from bitwangyaoyao:2.4_interpKernel 2013-02-21 11:51:06 +04:00
Vladislav Vinogradov ce2559b332 optimized DeviceInfo class and ensureSizeIsEnough 2013-02-20 19:30:57 +04:00
Anna Kogan f6e0d327b0 Increased time limits 2013-02-20 17:34:00 +04:00
Anna Kogan a567c03fdf Switched to TEST_CYCLE_MULTIRUN for fast tests 2013-02-20 17:05:54 +04:00
yao 429ae44ae3 add openCLExecuteKernelInterop method 2013-02-20 17:46:43 +08:00
Alexander Smorkalov 637b48eec8 Tutorial for ARM Linux cross compilation added. 2013-02-20 12:48:30 +04:00
Andrey Kamaev 6ebb0e2ad2 Merge pull request #505 from abidrahmank:2.4 2013-02-20 12:29:53 +04:00
Abid K 96b2898f38 Update samples/python2/hist.py
range in calcHist() changed from [0,255] to [0,256]. Otherwise, it won't count pixels with value 255. It can be verified taking sum of histogram values and checking it with image size.
2013-02-19 19:31:53 +05:30
Andrey Kamaev 5691fd3abe Merge pull request #503 from taka-no-me:fix_docs 2013-02-19 18:01:51 +04:00
Andrey Kamaev 5cc2a6bdbf Merge pull request #500 from nielsgm:predict_python_wrapper_to_docs 2013-02-19 18:01:30 +04:00
Andrey Kamaev afa8e4e645 Merge pull request #492 from taka-no-me:fix_warnings_gcov 2013-02-19 18:01:06 +04:00
Andrey Kamaev 60f7b1d98d Whitelist functions/structs in check_docs2 that are impossible to fix in 2.4 2013-02-19 16:22:20 +04:00
Andrey Kamaev 2fe7482b73 Add support for enums into rst ocv domain 2013-02-19 16:22:20 +04:00
Andrey Kamaev ff7b604a25 Fix several inconsistent declarations identified by check_doc2 script 2013-02-19 16:22:20 +04:00
Vladislav Vinogradov e06c3ec7c5 updated OpenGL functionality:
* removed OpenGLFuncTab, now extensions are loaded internally
* added support of GlBuffer and GlTexture2D to InputArray/OutputArray
* added ELEMENT_ARRAY_BUFFER and PIXEL_PACK_BUFFER targets
* added copyFrom/copyTo method for GlBuffer and GlTexture2D
* removed GlFont
* removed pointCloudShow
* removed OpenGLCleanCallback
* added Access parameter to GlBuffer::mapHost
* added autoRelease parameter to all create methods
2013-02-19 14:13:11 +04:00
Andrey Kamaev 2bbb777d95 Fix warnings about missing parent for class members 2013-02-19 11:49:05 +04:00
Andrey Kamaev 535f1fb2e2 Hack to stop parsing of problematic CvStatModel::train definition 2013-02-19 10:39:31 +04:00
Andrey Kamaev 0570aa6494 Avoid problem of old sphinx reporting an error on lines starting from :
See http://sourceforge.net/tracker/?func=detail&aid=3484857&group_id=38414&atid=422030
2013-02-19 10:34:43 +04:00
Niels Gerlif Myrtue 7697d79d93 Added the predict_all function wrapper for python that was missing from the documentation
Copied the docstring description
2013-02-19 13:11:30 +11:00
Andrey Kamaev 39baa2237e Merge pull request #499 from vpisarev:zeroelem_fix 2013-02-18 18:05:02 +04:00
Andrey Kamaev c6f6f9ab35 Merge pull request #451 from bitwangyaoyao:2.4_operator 2013-02-18 18:04:44 +04:00
Vadim Pisarevsky a1c7e0368c fixed problem reported by Thouis (Ray) Jones 2013-02-18 17:01:21 +04:00
Andrey Kamaev 6503836b4d Merge pull request #469 from asmorkalov:android_manager_4number_version 2013-02-18 15:41:25 +04:00
yao 9613135e8d fix compiling errors on Linux
more operators use oclMatExpr
2013-02-16 18:41:43 +08:00
yao 69fd2d8273 add oclMatExpr class to prevent extra allocations 2013-02-16 11:05:23 +08:00
Andrey Kamaev 7e5eee5bf1 Merge pull request #301 from emchristiansen:javasample2.4 2013-02-15 18:38:25 +04:00
Andrey Kamaev 3ead4449ad Fix several warnings about uninitialized variables from gcov build 2013-02-15 17:28:23 +04:00
Andrey Pavlenko 2853bab471 converting images to PNG 2013-02-15 16:46:30 +04:00
Andrey Pavlenko edb15dee3d review feed-back considered 2013-02-15 16:33:13 +04:00
Andrey Kamaev f58dffe31f Merge pull request #401 from Daniil-Osokin:bugfix_doc_setNumThreads 2013-02-14 19:07:41 +04:00
OpenCV Buildbot 50d3e565c5 Update FFMPEG wrapper binaries 2013-02-14 18:39:24 +04:00
Andrey Kamaev 49c664fad4 Merge pull request #489 from jet47:carma-obsolete 2013-02-14 18:20:31 +04:00
Andrey Pavlenko a8c2fc6908 changing layout, adding ant and eclipse sections, more pictures 2013-02-14 17:54:37 +04:00
Daniil Osokin 5f32e0e24d Rewrote doc for set-get number of threads functionality with support new frameworks (bug #2064) 2013-02-14 17:11:16 +04:00
Daniil Osokin 6deda2531c Fixed getNumThreads() for C= 2013-02-14 17:07:36 +04:00
Andrey Kamaev da1ddc752b Merge pull request #487 from asmorkalov:manager_localref_fix 2013-02-14 16:50:16 +04:00
Vladislav Vinogradov 78c924baad removed obsolete CARMA toolchain and CMake variable 2013-02-14 16:27:17 +04:00
Andrey Kamaev f3874abf68 Merge pull request #488 from AnnaKogan8:updated-ABI-compliance-descriptor-script 2013-02-14 16:08:05 +04:00
Andrey Kamaev 37c6357b97 Merge pull request #485 from jet47:gpu-new-functionality 2013-02-14 16:00:55 +04:00
Anna Kogan f9cf70e93e Updated script for ABI compliance check 2013-02-14 14:59:26 +04:00
Alexander Smorkalov 6619941c90 Issues in management of local reference to jni objects fixed. 2013-02-14 13:29:51 +04:00
Vladislav Vinogradov a3a09cf4d1 refactored OpticalFlowDual_TVL1:
* added DenseOpticalFlow interface
* moved OpticalFlowDual_TVL1 to src folder
2013-02-14 13:26:47 +04:00
Andrey Kamaev 8547984d29 Merge pull request #486 from amroamroamro:2.4 2013-02-14 11:21:16 +04:00
Andrey Kamaev 37e2664cf0 Merge pull request #479 from ilya-lavrenov:TestHighGUI 2013-02-14 11:21:01 +04:00
Amro 42a2cb0a38 add description of ddepth param of cv::boxFilter
bug #2709
2013-02-13 15:16:17 +03:00
Vladislav Vinogradov 2181a41a07 added perf4au app 2013-02-13 15:58:24 +04:00
Vladislav Vinogradov aa73bf6079 added gpu optical flow sample 2013-02-13 15:58:12 +04:00
Vladislav Vinogradov 50f28c9e25 added Warp::reduce function 2013-02-13 15:57:55 +04:00
Vladislav Vinogradov 36e42084f0 added gpu BM optical flow implementation 2013-02-13 15:57:40 +04:00
Vladislav Vinogradov fe2e89df1b added gpu::HoughLinesP function 2013-02-13 15:56:58 +04:00
Vladislav Vinogradov 86bd325131 added gpu::normalize function 2013-02-13 15:55:58 +04:00
Vladislav Vinogradov 61b54149b1 added mask support to gpu norm and sum 2013-02-13 15:54:50 +04:00
Vladislav Vinogradov 08914aa708 added gpu compare with scalar 2013-02-13 15:53:03 +04:00
Vladislav Vinogradov a828b60765 added enqueueHostCallback method to gpu::Stream 2013-02-13 15:51:27 +04:00
Vladislav Vinogradov ce2fd7fec9 added dual tvl1 optical flow gpu implementation 2013-02-13 15:50:05 +04:00
Andrey Kamaev 54a0e5085c Merge pull request #483 from taka-no-me:cmake_tweaks 2013-02-13 15:50:02 +04:00
Vladislav Vinogradov 1498d2f427 added dual tvl1 optical flow implementation 2013-02-13 15:42:58 +04:00
Andrey Kamaev c7df17e77b Detect and report parallel framework used 2013-02-13 15:09:30 +04:00
Andrey Kamaev 0b20faf3d2 Use git describe to get source control version 2013-02-13 14:50:32 +04:00
Andrey Kamaev 9e4792af1f Add separate status section for java 2013-02-13 14:36:56 +04:00
Andrey Kamaev 82313b3f6c Add OpenCL section to status report 2013-02-13 14:27:12 +04:00
Andrey Kamaev 247df9f3fc Detect version of clang compiler 2013-02-13 14:11:56 +04:00
Andrey Kamaev ca5e6f9522 Merge pull request #480 from taka-no-me:ffmpeg_warnings 2013-02-12 20:29:03 +04:00
Andrey Kamaev ac389507a0 Fix warnings from ffmpeg wrapper 2013-02-12 19:58:59 +04:00
Andrey Kamaev 8b7a28a7e4 Merge pull request #477 from asmorkalov:android_version_info 2013-02-12 17:06:27 +04:00
Andrey Kamaev 0cf9c16adc Merge pull request #478 from jet47:gpu-reduction-fix 2013-02-12 17:06:07 +04:00
Andrey Kamaev 7c77b402db Merge pull request #468 from kirill-kornyakov:test-for-saturate-cast 2013-02-12 17:04:54 +04:00
Ilya Lavrenov 5512f91d08 removed libstdc++ dependency 2013-02-12 14:20:23 +04:00
Alexander Smorkalov 1751a963f2 Build info output for all android apps added.
OpenCV build information output to logcat added to OpenCV initialization code;
Documenation for cv::getBuildInformation() added.
2013-02-12 11:19:05 +04:00
Vladislav Vinogradov fdb07a0ac1 fix performance issue of gpu reduction 2013-02-12 09:50:41 +04:00
Andrey Kamaev b6e7aeabe0 Merge pull request #476 from apavlenko:eclipse_import_fix 2013-02-11 21:38:07 +04:00
Andrey Kamaev 3990564a83 Merge pull request #470 from kirill-kornyakov:bug_2788_testing_add_method_for_column 2013-02-11 21:16:39 +04:00
Andrey Kamaev 2495b23a7d Merge pull request #473 from prclibo:2.4 2013-02-11 20:48:03 +04:00
Andrey Kamaev 059ea5bebe Merge pull request #471 from apavlenko:jar_install 2013-02-11 20:46:48 +04:00
Andrey Pavlenko 54bcaa4934 fixing eclipse import errors that can also be fixed via 'Fix Project Properties' menu 2013-02-11 19:49:18 +04:00
Andrey Kamaev 80d760c96e Merge pull request #467 from asmorkalov:manager_jni_overflow 2013-02-11 19:17:41 +04:00
Andrey Kamaev a370404d9c Merge pull request #416 from asmaloney:mat-docs-cleanup 2013-02-11 18:51:03 +04:00
Bo Li 92e7e7d8e8 fix issue 2788 2013-02-11 15:09:42 +01:00
Kirill Kornyakov 74e5650350 Reenabled second test 2013-02-11 16:53:41 +04:00
Andrey Kamaev 5cae645ba1 Temporary disabled parallel_writers_and_readers test 2013-02-11 16:52:20 +04:00
Andrey Pavlenko b337d84adf configure desktop Java install, making JNI library name correct, and making it fat when possible 2013-02-11 16:28:19 +04:00
Alexander Smorkalov 9f9c333a26 Bug #2759 android.os.DeadObjectException on OpenCV Manager connection fixed.
DeleteLocalRef calls for jclass objects added.
2013-02-11 16:03:19 +04:00
Kirill Kornyakov 7071bd63ab Added two tests to highlight bug #2788 2013-02-11 15:25:15 +04:00
Alexander Smorkalov 9f01074f4c Bug in hardware ratings fixed. 2013-02-11 15:03:52 +04:00
Alexander Smorkalov 8c44e1ff81 Native testing for OpenCV Manager enabled
All tests added to CMake;
All tests ported on 4 digit version support;
Some test fixes and bug fixes were done.
2013-02-11 15:03:52 +04:00
Kirill Kornyakov 81b9f9b16b Added a test that documents that negative numbers are not clipped by cv::saturate_cast 2013-02-11 14:58:38 +04:00
Andrey Kamaev 1869f77c0f Merge pull request #457 from taka-no-me:fix_vars_expansion 2013-02-11 14:37:14 +04:00
Andrey Kamaev ffb3b5ddbe Adjust OpenCV version to 2.4.4 2013-02-11 14:17:29 +04:00
Andrey Kamaev 2ed6bc8aaf Revert ffmpeg related changes from "thread-safe VideoWriter and VideoCapture"
This reverts commit 4abf0b3193.

Changes are reverted because they break build of proxy dlls on Windows
2013-02-11 14:15:29 +04:00
Andrey Kamaev 9d7300f003 Merge pull request #465 from asmorkalov:android_camera_connect 2013-02-11 14:05:37 +04:00
Andrey Kamaev c61d7088ae Merge pull request #466 from taka-no-me:fix_android_package 2013-02-11 14:04:07 +04:00
Andrey Kamaev 5335c2f920 Merge pull request #464 from asmaloney:missing_fclose 2013-02-11 14:03:51 +04:00
Andrey Kamaev d92a56ee2d Merge pull request #458 from taka-no-me:tbb_4.1u2 2013-02-11 14:03:11 +04:00
Andrey Kamaev cc79f40e2b Merge pull request #454 from asmorkalov:android_samples_reorganize 2013-02-11 14:02:54 +04:00
Andrey Kamaev 2a98c1f89c Merge pull request #446 from AnnaKogan8:updated-perf-timing-script 2013-02-11 14:02:39 +04:00
Andrey Kamaev 81832d76a8 Fix build of package for Google Play 2013-02-11 12:59:37 +04:00
Alexander Smorkalov d067dc5a05 Code review notes fixed. 2013-02-11 11:36:12 +04:00
Alexander Smorkalov 283b26e2db Issue in NativeCameraView and JavaCameraView fixed.
In previous version getWidth() and getHeight() values were used instead method parameters.
2013-02-11 09:43:44 +04:00
Andy Maloney 2075236757 If generating a bin file (second half of conditional), make sure the file is closed
(Also fix spelling in comment)
2013-02-10 21:55:20 -05:00
Andrey Kamaev 716e0192b3 Merge pull request #456 from vpisarev:python_ptseq_fix 2013-02-08 18:52:04 +04:00
Andrey Kamaev 3ed6c09485 Merge pull request #428 from bitwangyaoyao:2.4_erode_dilate 2013-02-08 18:48:37 +04:00
Andrey Kamaev 504264ab7b Merge pull request #402 from asmorkalov:samples_data_rase_fix 2013-02-08 18:48:13 +04:00
Andrey Kamaev 4045e6e588 Update tbb to version 4.1 update 2 2013-02-08 18:45:24 +04:00
Andrey Kamaev 46ca5c32cd Merge pull request #455 from AlexeySpizhevoy:2.4 2013-02-08 18:45:24 +04:00
Andrey Kamaev bb25111d23 Merge pull request #452 from asmorkalov:android_tutorial_update 2013-02-08 18:43:57 +04:00
Andrey Kamaev 4f4fe553bc Merge pull request #450 from bitwangyaoyao:2.4_dft 2013-02-08 18:43:34 +04:00
Andrey Kamaev 571665b559 Fix CMake variables substitution in Android project files 2013-02-08 18:21:49 +04:00
Vadim Pisarevsky 43d61d961e fixed problem with Nx2 numpy arrays in geometrical functions (#2783) 2013-02-08 18:11:56 +04:00
Alexey Spizhevoy e0ead7b606 fixed assertion failure (vector out of range) for the 'vc10,debug' build (#2775) 2013-02-08 17:44:57 +04:00
Alexander Smorkalov c7e7b77093 Tutorial for Android synchronized with actual application framework. 2013-02-08 16:53:06 +04:00
Andrey Kamaev 6ffd5edfb5 Merge pull request #442 from asmorkalov:linux_cross_compile 2013-02-08 14:37:09 +04:00
Andrey Kamaev 9591fb8f63 Merge pull request #448 from Nerei:bp_doc_change_24 2013-02-08 14:29:56 +04:00
Alexander Smorkalov 9a2d6f854b Tutorial-1-Java -> Tutorial-1-CameraPreview
Issues fix.
2013-02-08 13:13:37 +04:00
Alexander Smorkalov 507e2dc0ad Project files for Eclipse updated. 2013-02-08 12:50:58 +04:00
Alexander Smorkalov b558bb4894 Tutorial-5 -> Tutorial-3 2013-02-08 12:50:58 +04:00
Alexander Smorkalov 902463b6e9 Tutorial4 sample renamed to Tutorial-2-MixedProcessing 2013-02-08 12:50:07 +04:00
Alexander Smorkalov 08cd51df1f Tutorial-3 removed as dublicate part of tutorial-4. 2013-02-08 12:47:45 +04:00
Alexander Smorkalov b943277559 Tutorial-2 removed as dublicate of tutorial-1 and image manipulations sample. 2013-02-08 12:47:23 +04:00
Alexander Smorkalov 33502c86ac Tutorial 1 renamed 2013-02-08 12:45:48 +04:00
Alexander Smorkalov 192ee15520 Code review notes fixed;
HardFP and SoftFP toolchains joined to one;
RPATH skiping added.
2013-02-08 12:42:03 +04:00
Alexander Smorkalov 076941bb07 15-puzzle app reverted to usage of old CvCameraViewListener implementation;
super.onPause() call moved to begining of onPause method according Google recomandations.
2013-02-08 12:36:33 +04:00
yao 0b365f6aa5 add +-*/ operators to oclMat 2013-02-08 11:41:46 +08:00
yao 4d6827212d some bugs fix in using AmdFft library 2013-02-08 10:46:43 +08:00
Anatoly Baksheev 79d5724794 BP doc change according to Adrian's request (OpenCV book co-author) 2013-02-07 22:31:39 +04:00
Anna Kogan 51e58aeb25 Added --failed-only option and multiple input files support 2013-02-07 19:08:31 +04:00
Alexander Smorkalov f8720ec60e Code review issues fixed. Compatibility issues fixed. 2013-02-07 13:11:08 +04:00
Andrey Kamaev 03f7d2f1ca Merge pull request #444 from taka-no-me:fix_o0_warnings 2013-02-07 00:15:52 +04:00
Andrey Kamaev afe85e7e51 Fix some warnings from -O0 build 2013-02-06 20:57:36 +04:00
LeonidBeynenson 203849d5e4 The next attempt to fix a build error on Mac. 2013-02-06 18:07:02 +04:00
Andrey Kamaev 93d4abecf8 Merge pull request #443 from taka-no-me:fix_cascade_test 2013-02-06 16:40:38 +04:00
LeonidBeynenson 50cd5d9ce7 Try to fix Mac compilation issue. 2013-02-06 15:31:51 +04:00
Andrey Kamaev 6e4aeff4c9 Merge pull request #441 from jet47:filter-speckles-8u 2013-02-06 15:12:02 +04:00
Andrey Kamaev 37d695a62e Use gtest assertions in cascade test
This simplifies test debugging a lot
2013-02-06 15:07:31 +04:00
Alexander Smorkalov b81f0887f0 Carma board support fixed. 2013-02-06 14:47:42 +04:00
Alexander Smorkalov 4e243e1759 TBB build for arm linux fixed. Processors count detected correctly. 2013-02-06 14:43:57 +04:00
Alexander Smorkalov 6645f50dd0 CUDA toolkit support added to crosscompilation toolchain. 2013-02-06 14:43:57 +04:00
Alexander Smorkalov 1120289fdb Compiler and linker flags for arm cross compilation fixed. 2013-02-06 14:43:57 +04:00
Alexander Smorkalov 3ed99b7700 Code review notes applied.
Toolchain for arm hardfp added.
2013-02-06 14:43:57 +04:00
Alexander Smorkalov ffb9da14fb TBB build defines for Linux added. 2013-02-06 14:43:57 +04:00
Alexander Smorkalov 60f056061a Cross compilation toolchain for arm linux added. 2013-02-06 14:43:57 +04:00
Alexander Smorkalov 7882aba7af TBB download and build option enabled for non Android platfroms. 2013-02-06 14:43:57 +04:00
Alexander Smorkalov 2e2e1355ac Video IO perf tests guarded. 2013-02-06 14:43:57 +04:00
Vladislav Vinogradov bb3b1441c5 added 8u type support to filterSpeckles function 2013-02-06 14:14:45 +04:00
Andrey Kamaev bf575ba7fb Merge pull request #434 from taka-no-me:fix_parallel_writer_test 2013-02-06 14:04:59 +04:00
Andrey Kamaev 7cdede0c55 Merge pull request #438 from bitwangyaoyao:2.4_fixwarings 2013-02-06 14:04:28 +04:00
yao e31e924cf7 remove the warnings in accuracy test 2013-02-06 09:12:40 +08:00
Andrey Kamaev fe0516c877 Merge pull request #432 from bitwangyaoyao:2.4_blend 2013-02-05 14:53:49 +04:00
Andrey Kamaev 53e77ed468 Merge pull request #431 from snosov1:matchTemplate-tegra 2013-02-05 14:50:15 +04:00
yao 568b935246 remove a warning on Linux
fix a error in doc
2013-02-05 17:16:40 +08:00
LeonidBeynenson b85a098d9c Added float, uint64, and uchar params to Algorithm
Made changes to work in cv::Algorithm with parameters of these types.
Also fixed SimpleBlobDetector -- now it can be created by
cv::Algorithm::create and it can work with cv::Algorithm::set/get.
2013-02-04 20:25:18 +04:00
Alexander Smorkalov 6b5eac328f Android samples updated according onCameraFrame callback signature change.
FpsMeter class removed from Image Manipulations and Face Detection examples as unused code.
2013-02-04 17:43:46 +04:00
Alexander Smorkalov 3ef588b877 onCameraFrame callback signature changed. CvCameraFame interface added.
New interface allows to get one RGBA or Gray frame from camera or both in the same time;
New interface fixes data rase in samples also.
2013-02-04 17:43:45 +04:00
Andrey Kamaev f608df9640 Merge pull request #427 from vrabaud:brisk_fixes_2.4 2013-02-04 17:10:02 +04:00
Sergei Nosov c0e3d48ebc stricter eps for normed methods 2013-02-04 16:02:01 +04:00
Andrey Kamaev 7244fc1f6a Merge pull request #404 from asmorkalov:android_opencvmk_fix 2013-02-04 15:49:48 +04:00
Andrey Kamaev 727b6a7259 Merge pull request #408 from asmorkalov:giganetix_cams_patch 2013-02-04 14:56:54 +04:00
Andrey Kamaev 3c39e146a3 Make parallel video writer test pass if compiled without threading support 2013-02-04 14:34:44 +04:00
Vincent Rabaud d235c3a678 define the default remapping in the right scope 2013-02-04 11:08:00 +01:00
Vincent Rabaud 0b1599d88a write documentation for BRISK 2013-02-04 11:07:53 +01:00
yao 9711ef6dee blend use vector to optimize 2013-02-04 17:29:20 +08:00
Sergei Nosov 15d0484485 matchTemplate perf tests added 2013-02-04 12:57:22 +04:00
Sergei Nosov c768731e89 enable Tegra optimizations 2013-02-04 12:57:03 +04:00
Andrey Kamaev 9c939a8dcf Merge pull request #420 from asmaloney:check-mem-alloc 2013-02-04 12:56:36 +04:00
Alexander Smorkalov e58f4e44c8 Modules redifinition in case of multiple includes of OpenCV.mk in single Android.mk fixed. 2013-02-04 12:22:22 +04:00
Andrey Kamaev 650609aaeb Merge pull request #429 from bitwangyaoyao:2.4_setdevEx 2013-02-04 12:03:24 +04:00
Andrey Kamaev 6dc3b662f6 Merge pull request #425 from asmaloney:vector_empty 2013-02-04 12:03:03 +04:00
Andrey Kamaev 58c4d5f4b4 Merge pull request #424 from asmaloney:additional-checks 2013-02-04 12:02:43 +04:00
Andrey Kamaev fc4a2244fa Merge pull request #421 from asmaloney:check-mem-alloc2 2013-02-04 12:02:28 +04:00
Andrey Kamaev 37460acb21 Merge pull request #410 from taka-no-me:fix_cap_dshow_setfps 2013-02-04 11:57:33 +04:00
Andrey Kamaev e2536f1c35 Merge pull request #395 from LeonidBeynenson:fix_ml_large_data_bug__2.4 2013-02-04 11:54:43 +04:00
yao a639a1ae5c add setDeviceEx interface
simplify the logic of save binary
2013-02-04 15:06:36 +08:00
yao 3c5cb4931e simplify the kernel logic when using rect kernel or without ROI 2013-02-04 13:33:27 +08:00
Andy Maloney ac8744af6a No need to check vector size before clear() 2013-02-02 19:00:41 -05:00
Andy Maloney c8cad0857e Remove unused constructor
Add checks for valid values
Fix wording on some errors
2013-02-02 16:09:10 -05:00
Andy Maloney b79e8053c1 Check memory allocation
Declare vars as locally as possible
2013-02-02 08:44:25 -05:00
Andy Maloney b497380a68 Check memory allocation
Initialize local variables
2013-02-02 08:33:40 -05:00
Andrey Kamaev 2a669555de Merge pull request #414 from asmaloney:remove-unused-vars2 2013-02-02 14:34:47 +04:00
Andrey Kamaev 7e06b4755b Merge pull request #415 from asmaloney:cvCopyHist-fix 2013-02-02 14:34:33 +04:00
Andy Maloney e7ea90f87f Mat tutorial - grammar and spelling fixes 2013-02-01 23:39:40 -05:00
Andy Maloney 3154cdf8ac Fix subtle bug when src & dst agree on sparsity but have different dimensions
Remove unused var "total"
Declare vars as locally as possible
2013-02-01 22:57:22 -05:00
Andy Maloney bc68dfb4e8 Remove unused vars 2013-02-01 18:09:58 -05:00
Andrey Kamaev 0cd8684ade Fix setting of FPS after frame width and height with DShow cameras
Issue #2114
2013-02-01 18:01:13 +04:00
cuda-geek db9de43fa5 Merge pull request #407 from taka-no-me:fix_java_after_surf_change 2013-02-01 17:48:21 +04:00
Andrey Kamaev 6f1961031c Update regression checks in Java test
This follows SURF changes in 1f261c2
2013-02-01 17:16:28 +04:00
LeonidBeynenson 87b0126e0d Fixed dummy warning. 2013-02-01 16:16:43 +04:00
Alexander Smorkalov 25086ed257 Smartek Giganetix Cameras support (Patch #2192) integrated. 2013-02-01 16:07:32 +04:00
Andrey Kamaev 9e32c6993a Merge pull request #405 from vpisarev:znah_patch 2013-02-01 16:06:54 +04:00
LeonidBeynenson 013d54c230 Changed types of some variables from int64 back to int.
Also corrected some indexes to be size_t.
2013-02-01 14:41:14 +04:00
Vadim Pisarevsky 51eba617a8 a part of PR269 (parallelization of several functions) by Alexander Mordvintsev 2013-02-01 14:01:44 +04:00
Andrey Kamaev b179e2dd2d Merge pull request #396 from vpisarev:facedetect_fixes 2013-02-01 12:49:48 +04:00
Andrey Kamaev 992d47e9dc Merge pull request #400 from ilysenkov:bugfix_2560 2013-02-01 12:05:48 +04:00
Andrey Kamaev 5ef58a474a Merge pull request #397 from ilysenkov:bugfix_2677 2013-02-01 12:04:38 +04:00
Andrey Kamaev 0b6677f6d3 Merge pull request #398 from ilysenkov:bugfix_2330 2013-02-01 11:19:33 +04:00
Vadim Pisarevsky 638c0d1bf4 fixed compile warnings 2013-02-01 10:47:27 +04:00
Andrey Kamaev 57aa089ad6 Merge pull request #392 from vpisarev:python_fixes2 2013-02-01 10:20:52 +04:00
Ilya Lysenkov b24e4bddb1 Documented the TermCriteria class (#2560) 2013-02-01 10:16:30 +04:00
Ilya Lysenkov 7745c8806c Added info() method in descriptor matchers (#2330) 2013-02-01 02:23:40 +04:00
Ilya Lysenkov 098ea6fcb7 Checked key_size in LSH table for validness (#2677) 2013-01-31 23:19:19 +04:00
Ilya Lysenkov 1becbd9fcc Added a test for invalid key sizes in LSH tables 2013-01-31 23:17:07 +04:00
Vadim Pisarevsky 50299c1d5e disabled the use of SSE4 instructions as well to make the code compatible with the old Intel and AMD chips 2013-01-31 22:57:46 +04:00
Vadim Pisarevsky 18039d7829 added test for the old cvHaarDetectObjects. disabled AVX optimization in haar.cpp. it should cover tickets #2534, #2591, #2669 2013-01-31 22:55:04 +04:00
Andrey Kamaev 39b4bf1828 Merge pull request #390 from taka-no-me:fix_relative_error_check 2013-01-31 21:32:45 +04:00
Andrey Kamaev a8c014de33 Merge pull request #318 from AnnaKogan8:fixed-perf-tests 2013-01-31 21:01:44 +04:00
Andrey Kamaev 13d2412d24 Merge pull request #394 from taka-no-me:fix_tiff_test 2013-01-31 20:52:35 +04:00
Andrey Kamaev 34ef209940 Merge pull request #393 from Daniil-Osokin:bugfix_doc_multi_issues 2013-01-31 20:30:33 +04:00
Vadim Pisarevsky 54e0765d80 yet another minor fix in cv::transpose() 2013-01-31 20:26:16 +04:00
Vadim Pisarevsky 7ca38d63d9 fixed failure of the C++ test for estimateAffine3D 2013-01-31 19:44:16 +04:00
LeonidBeynenson 6de422701a Made changes to allow ml module to work with big data. 2013-01-31 19:37:20 +04:00
Andrey Kamaev 92460adebe Merge pull request #391 from taka-no-me:fix_buildbot_issues 2013-01-31 18:55:09 +04:00
Andrey Kamaev 55b90d7bae Modify decode_tile16384x16384 test to not fail when available memory is not enough for test 2013-01-31 18:51:24 +04:00
Daniil Osokin fe5b9df45f Fixed multiple issues in docs (bug #2410) 2013-01-31 17:34:40 +04:00
Vadim Pisarevsky 79e278c008 applied patch #2587 2013-01-31 16:19:20 +04:00
Anna Kogan ed4c687d45 Increased time limits, eliminated extra params 2013-01-31 16:18:52 +04:00
Vadim Pisarevsky 82b6419d12 added tests for fast (ticket #2613) and estimateAffine3D (#2375) 2013-01-31 16:15:40 +04:00
Andrey Kamaev e3b45910aa Temporary disable unstable Features2d_RotationInvariance_Detector_SIFT test 2013-01-31 16:06:22 +04:00
Andrey Kamaev e63b4591ff Suppress clang build warning 2013-01-31 16:01:04 +04:00
Andrey Kamaev 4f1913ed26 Correct tolerance value for sanity checks with ERROR_RELATIVE
Use min/max bounds instead of local value to calculate acceptance threshold.
Threshold based on local values somethimes does not work because cancellation
of big values may produce error bigger than local value.
2013-01-31 15:47:14 +04:00
Vadim Pisarevsky abd9675a99 fixed bugs #1718, #2375; attached the new tests to test.py. 2013-01-31 15:34:09 +04:00
Andrey Kamaev acb2cb5bf0 Merge pull request #389 from Daniil-Osokin:bugfix_doc_opencv_with_cmake 2013-01-31 15:04:56 +04:00
cuda-geek 53b0df87f1 Merge pull request #385 from etalanin:bug2607 2013-01-31 13:46:01 +04:00
cuda-geek bf53ebd590 Merge pull request #381 from vpisarev:surf_fixes 2013-01-31 13:36:10 +04:00
Daniil Osokin b5ed86c6a1 Fixed sample files in "Using OpenCV with gcc and CMake" tutorial (bug #2663, #2588) 2013-01-31 13:26:29 +04:00
cuda-geek fe30da6e2c Merge pull request #387 from taka-no-me:fix_dshow_fourcc_conversion 2013-01-31 13:26:26 +04:00
Andrey Kamaev fda32d3d8d Merge pull request #382 from cuda-geek:fix-broken-links-bug-2689 2013-01-31 13:08:01 +04:00
Evgeny Talanin 50c2f87add Fix and test for #2607 2013-01-31 12:23:08 +04:00
cuda-geek f3ae185fd0 Merge pull request #383 from cuda-geek:apply-opencv-macosx-patch 2013-01-31 12:04:13 +04:00
Andrey Kamaev 2d6253609c Fix truncation of fourcc value in dshow capture property setter (bug #2535)
Added test checking that all valid fourcc values are converted properly
2013-01-31 12:00:04 +04:00
Andrey Kamaev e0426148ba Merge pull request #374 from ivan-korolev:fix_estimateRigidTransform 2013-01-30 20:26:54 +04:00
marina.kolpakova 8b3c717e8f apply patch #2686 2013-01-30 20:20:06 +04:00
cuda-geek e72c7736e7 Merge pull request #375 from taka-no-me:fix_opticalflow_2075 2013-01-30 20:18:53 +04:00
Andrey Kamaev 9b4f2d1b53 Merge pull request #373 from ilysenkov:bugfix_2440 2013-01-30 19:37:16 +04:00
Andrey Kamaev 33c26a93c6 Merge pull request #376 from taka-no-me:solve_tiff_conflict 2013-01-30 19:36:09 +04:00
marina.kolpakova 5b03d47fb8 fix broken links in cascade classification documentation 2013-01-30 19:28:16 +04:00
Andrey Kamaev 4ceb8dd149 Merge pull request #378 from ivan-korolev:fix_OpenCVDetectTBB_cmake 2013-01-30 19:16:31 +04:00
cuda-geek bc53a054f2 Merge pull request #380 from asmorkalov:java_test_fix2 2013-01-30 19:03:35 +04:00
cuda-geek 31d3c508db Merge pull request #377 from ivan-korolev:fix_v4l_yes-yes_build 2013-01-30 18:59:56 +04:00
Vadim Pisarevsky 1f261c2f9d changed default parameters of SURF, which improved its performance. Restored bi-linear interpolation in SURF descriptor extractor. Added test for SURF homography + check for non-zero (positive) responses. 2013-01-30 18:07:37 +04:00
Andrey Kamaev f65a14d1ef Merge pull request #379 from taka-no-me:fix_ocl_samples_warnings 2013-01-30 18:06:49 +04:00
Alexander Smorkalov 5bc6365ba5 TestCheckVector java test fixed. Warning fixed. 2013-01-30 17:28:22 +04:00
Andrey Kamaev f489eb9a5d Fix build warnings in OpenCL samples 2013-01-30 17:25:03 +04:00
Ivan Korolev 26c7e7f292 fix default include dirs for TBB 2013-01-30 17:17:04 +04:00
Ivan Korolev eaa5012163 fix v4l yes-yes build 2013-01-30 17:04:33 +04:00
Andrey Kamaev 11871528ce Solve conflict between tiff.h and opencv2/core/types_c.h
Сonflict exists between some versions of libtiff and opencv headers
2013-01-30 16:36:50 +04:00
Andrey Kamaev c9d8e9900f Allow input of calcOpticalFlowPyrLK be submats of different size images
This fixes bug #2075
2013-01-30 16:07:55 +04:00
Andrey Kamaev 6a29b13c45 Add test for issue #2075 2013-01-30 16:07:38 +04:00
Ivan Korolev b362affd13 Fixed bug in the cv::estimateRigidTransform (#1949) 2013-01-30 15:27:23 +04:00
Ilya Lysenkov 3c8787980c Fixed cvDestroyAllWindows() without windows in QT (#2440) 2013-01-30 15:26:49 +04:00
Ilya Lysenkov 56fbcc541f Tested cvDestroyAllWindows() without windows 2013-01-30 15:25:10 +04:00
Andrey Kamaev 3a55fb9d1b Merge pull request #365 from ivan-korolev:fix_HoughLines_segfault 2013-01-30 15:16:30 +04:00
Andrey Kamaev 52b32ba8f0 Merge pull request #371 from taka-no-me:fix_build 2013-01-30 15:06:19 +04:00
Andrey Kamaev b6de1fccc3 Merge pull request #370 from ilysenkov:bugfix_1747 2013-01-30 14:42:10 +04:00
Andrey Kamaev d7874238f6 Merge pull request #369 from asmorkalov:corner_detection_tutorial 2013-01-30 14:41:56 +04:00
Andrey Kamaev 62b9180c50 Merge pull request #368 from ilysenkov:checkSubset-fix 2013-01-30 14:41:37 +04:00
Andrey Kamaev 81f5e72630 Merge pull request #366 from asmorkalov:gstreamer_codec_list 2013-01-30 14:41:22 +04:00
Andrey Kamaev 8d9af7de61 Merge pull request #362 from Daniil-Osokin:bugfix_doc_StereoSGBM 2013-01-30 14:41:06 +04:00
Andrey Kamaev ae7460440e Merge pull request #361 from taka-no-me:tiff_big_tile 2013-01-30 14:40:51 +04:00
Andrey Kamaev 86b4b30a6d Merge pull request #358 from taka-no-me:objc_exceptions 2013-01-30 14:40:32 +04:00
Andrey Kamaev 68be50bbab Fix clang build warning 2013-01-30 13:31:00 +04:00
Andrey Kamaev e79e81c6cd Fix Windows build warnings 2013-01-30 13:24:49 +04:00
Ilya Lysenkov 6feade3110 Added support of different resolution in rectify3Collinear 2013-01-30 13:19:12 +04:00
Andrey Kamaev eeb865ee8a Fix Android build warnings 2013-01-30 13:11:33 +04:00
Alexander Smorkalov 627b441022 Bugfix #2532 patch 4 corner detection sample possible bug solved.
Tutorial text was not consistent with tutorial source code in samples directory.
Inline source code was replaced on "includeliteral" directive with link to cpp file.
2013-01-30 13:05:57 +04:00
Andrey Kamaev 7e5f877ad9 Merge pull request #364 from Daniil-Osokin:bugfix_doc_features2d_tutorial 2013-01-30 13:05:47 +04:00
Andrey Kamaev d0350402de Merge pull request #356 from Daniil-Osokin:bugfix_imread_tutorial 2013-01-30 13:05:31 +04:00
Ilya Lysenkov 9ce2197e9d Added processing of trivial subsets 2013-01-30 13:03:03 +04:00
Andrey Kamaev 9690ed8232 Fix build of OpenCV samples (Linux) 2013-01-30 12:48:01 +04:00
Alexander Smorkalov 82e325cbfa Patch #2721 More FourCC for gstreamer applied. 2013-01-30 11:44:14 +04:00
Ivan Korolev 9908ff33de Added regression test for HoughLines algorithm 2013-01-30 11:27:19 +04:00
Daniil Osokin 7305f955a5 Added nonfree header in "Feature description" tutorial code sample (bug #2527) 2013-01-30 11:07:09 +04:00
Daniil Osokin f9de98ec64 Fixed proposed values for speckleRange in StereoSGBM docs (bug #1937) 2013-01-30 09:02:17 +04:00
Daniil Osokin 568591670c Fixed color code in cvtColor in "Load, Modify, and Save an Image" tutorial (bug #2739) 2013-01-30 08:16:47 +04:00
Andrey Kamaev 62ce815197 Fix rollover when computing buffer size in tiff decoder (bug #2161) 2013-01-30 00:07:33 +04:00
Andrey Kamaev b4d0dff4c5 Added minimal support for tiff encoder parameters and test for issue #2161 2013-01-30 00:07:30 +04:00
Andrey Kamaev daa02aaa98 Merge pull request #360 from vpisarev:sift_fixes 2013-01-29 20:39:13 +04:00
Vadim Pisarevsky c69312ea0d fixed #2580, #2210. some work on #2025.
modified SIFT to 1) double image before finding keypoints, 2) use floating-point internally instead of 16-bit integers, 3) set the keypoint response to the abs(interpolated_DoG_value). step 1) increases the number of detected keypoints significantly and together with 2) and 3) it improves some detection benchmarks. On the other hand, the stability of the small keypoints is lower, so the rotation and scale invariance tests now struggle a bit. In 2.5 need to make this feature optional and add some more intelligence to the algorithm.

added test that finds a planar object using SIFT.
2013-01-29 19:38:56 +04:00
Andrey Kamaev 3dbb98e454 Merge pull request #357 from taka-no-me:build_opencv_apps 2013-01-29 19:25:52 +04:00
Andrey Kamaev c78cb21999 Merge pull request #346 from taka-no-me:decouple_V4L2 2013-01-29 19:25:30 +04:00
Andrey Kamaev 0b1fe53a46 Add -fobjc-exceptions flag to ObjectiveC sources if supported (bug #2657) 2013-01-29 17:09:23 +04:00
Andrey Kamaev daead680cd Add option to control build of applications (feature #2568) 2013-01-29 16:38:59 +04:00
Andrey Kamaev ab8d92e1b8 Rebase and merge pull request #342 from ilysenkov/bugfix_2470 2013-01-29 15:53:42 +04:00
Ilya Lysenkov 5021a792b1 Fixed #2470 2013-01-29 15:53:28 +04:00
Ilya Lysenkov fe86f31f44 Added a test of CvModelEstimator2::checkSubset(...) 2013-01-29 15:53:28 +04:00
Andrey Kamaev 98fdd70466 Merge pull request #339 from vpisarev:core_fixes 2013-01-29 15:51:22 +04:00
Andrey Kamaev 287fb2c611 Fix build warning 2013-01-29 14:52:03 +04:00
Andrey Kamaev 63873a8393 Merge pull request #355 from asmaloney:copy_paste_cond 2013-01-29 14:13:01 +04:00
Andrey Kamaev 519e23bf0b Merge pull request #354 from asmaloney:fix_mem_dealloc 2013-01-29 14:12:12 +04:00
Andrey Kamaev da884b4e1d Merge pull request #347 from asmorkalov:WITH_FFMPEG_logic 2013-01-29 14:00:10 +04:00
Vadim Pisarevsky e7cbf65280 Merge pull request #351 from vpisarev:python_fixes 2013-01-29 13:34:50 +04:00
Alexander Smorkalov 8c45b9d03d Video IO perf tests guarded. 2013-01-29 11:09:49 +04:00
cuda-geek 04f01ed21d Merge pull request #353 from asmaloney:arg_checks 2013-01-29 11:04:33 +04:00
cuda-geek 11dfceb2c9 Merge pull request #328 from jet47:new-gpu-fixes 2013-01-29 11:00:37 +04:00
Andy Maloney bdf189faac {calib3d} Fix copy-paste error in conditional 2013-01-28 18:09:10 -05:00
Andy Maloney 5bd56e7464 Fix mem leak and mismatched new/delete 2013-01-28 17:57:19 -05:00
Andy Maloney 7a6475c3f9 Check pointers before using them in var init 2013-01-28 16:51:28 -05:00
Andrey Kamaev 2b4ffd1161 Merge pull request #350 from asmorkalov:android_java_warnings 2013-01-28 23:57:14 +04:00
Andrey Kamaev d7ea27b279 Merge pull request #349 from Daniil-Osokin:bugfix_opencv_cheatsheet 2013-01-28 23:56:55 +04:00
Andrey Kamaev 3a9c978b5e Merge pull request #348 from Daniil-Osokin:bugfix_YCrCb_formula 2013-01-28 23:56:42 +04:00
Andrey Kamaev 6abb69bd25 Merge pull request #345 from Daniil-Osokin:bugfix_2550 2013-01-28 23:56:26 +04:00
Andrey Kamaev 17130477c9 Merge pull request #344 from taka-no-me:improve_jpeg_encoder_errors 2013-01-28 23:56:01 +04:00
Vadim Pisarevsky 4044fbcb33 hopefully fixed handling of 'long' Python type in OpenCV bindings (bug #2193). added the corresponding test 2013-01-28 21:03:59 +04:00
Vadim Pisarevsky 2320ec76b4 Extended python bindings to support scalar values and tuples in place of InputArray (i.e. Mat) - ticket #2658. Added tests for #2611, #2505, #2658 2013-01-28 20:45:00 +04:00
Vadim Pisarevsky a519bbc617 Extended python bindings to support scalar values and tuples in place of InputArray (i.e. Mat) - ticket #2658. Added tests for #2611, #2505, #2658 2013-01-28 20:44:47 +04:00
Andrey Kamaev 09d93af975 Merge pull request #343 from taka-no-me:fix_nlmeans_2646 2013-01-28 20:35:39 +04:00
Alexander Smorkalov ca98710640 Resolve warning in OpenCV Library project in Eclipse (Bug #2714)
Warning in auto generated code was suppressed by project settings.
2013-01-28 19:44:58 +04:00
Daniil Osokin e33f3e8345 Fixed cheatsheet for loop (bug #2701) 2013-01-28 18:41:59 +04:00
Vadim Pisarevsky cd46a674d1 applied patch #2611 that also likely fixes #2505 2013-01-28 18:30:20 +04:00
Daniil Osokin 4c9c27b244 Fixed formula of YCrCb to RGB conversion (bug #2725) 2013-01-28 18:29:01 +04:00
Andrey Kamaev cf407c2ec0 Don't check for EINTR and replace xioctl with ioctl
This should be safe todo unless we are writing a signal handler.
2013-01-28 17:58:57 +04:00
Daniil Osokin f9bff103dd Removed obsolete steps from Windows installation tutorial (bug #2550) 2013-01-28 17:46:03 +04:00
Vadim Pisarevsky 146ca61a27 added tests for #1373, #2629, #2719; fixed another bug in determinant(Matx<T,n,n>) 2013-01-28 17:27:08 +04:00
Patrick Welche 1a84bcc565 NetBSD video(4) support, patch 3 of 3
xioctl() assumes that ioctl takes int request. Cope with
  int ioctl(int d, unsigned long request, ...)
to avoid "invalid argument".
2013-01-28 17:11:44 +04:00
Patrick Welche 681ffd9a21 NetBSD video(4) support, patch 2 of 3
* Decouple Video4Linux2 support from Video4Linux as existence of
  v4l2 on a system does not imply support for v4l.
* Don't use V4L's struct video_window in V4L2 code.
* Removed __USE_GNU as comment says:
      /* support for MJPEG is only available with libjpeg and gcc,
         because it's use libjepg and fmemopen()
  so replace with test for fmemopen() if found necessary.
2013-01-28 17:11:41 +04:00
Patrick Welche d90b8d615c NetBSD video(4) support, patch 1 of 3
The video(4) driver provides a Video4Linux2 compatible API for
various video peripherals. This patch propagates HAVE_VIDEOIO if
the sys/videoio.h include file is found, which is the signature of
video(4).
2013-01-28 17:11:36 +04:00
Andrey Kamaev 255cd61a8c Improve error reporting of JPEG image encoder
OpenCV issue #2604

After this patch applied an attempt to encode empty images produces exception
saying "Raw image encoder error: Empty JPEG image (DNL not supported)"
2013-01-28 16:55:00 +04:00
Andrey Kamaev 7374445398 Fix integer overflow in NL-Means denoising on white input
Issues #2646
2013-01-28 14:35:51 +04:00
Andrey Kamaev 7e92826efc Add test for issue #2646 2013-01-28 14:35:51 +04:00
Andrey Kamaev d83914d478 Change Imgproc_ prefix to Photo_ in all accuracy tests of photo module 2013-01-28 14:01:22 +04:00
Andrey Kamaev 8521ac5d21 Merge branch 'fix_jpg2000' into 2.4 2013-01-28 12:41:35 +04:00
Andy Maloney e87355463f {highgui} Fix copy-paste error in conditional 2013-01-26 16:38:01 -05:00
Vadim Pisarevsky 1df10553bb fixed bugs #1373, #2629, #2719 2013-01-25 23:45:41 +04:00
Andrey Kamaev d8f749da52 Merge pull request #337 from taka-no-me:ocl_appsdk 2013-01-25 16:23:36 +04:00
Andrey Kamaev 9509dfd1de Fix OpenCL build warnings 2013-01-25 16:19:59 +04:00
Andrey Kamaev b445f4b01d Find OpenCL in AMD APP SDK 2013-01-25 14:15:26 +04:00
Andrey Kamaev dc11acf041 Merge pull request #336 from ivan-korolev:fix_relative_error_formula 2013-01-25 14:10:06 +04:00
Ivan Korolev 6385b0f7ed Fixed a formula to calculate the relative error 2013-01-25 11:19:38 +04:00
Andrey Kamaev ed949bc211 Merge pull request #324 from bitwangyaoyao:2.4_cvtcolor 2013-01-25 00:53:42 +04:00
Andrey Kamaev 20de2f35f9 Merge pull request #325 from bitwangyaoyao:2.4_fixcanny 2013-01-25 00:46:35 +04:00
Andrey Kamaev f9ed0037b3 Merge pull request #327 from bitwangyaoyao:2.4_vs2012 2013-01-25 00:46:20 +04:00
Andrey Kamaev 14c31bfda0 Merge pull request #334 from asmaloney:2.4 2013-01-25 00:45:34 +04:00
Andy Maloney 5d65d000ab Docs: Fix invalid conversion format in example (CV_BGR2GREY -> CV_BGR2GRAY) 2013-01-24 10:08:58 -05:00
Andrey Kamaev 94e2b5c140 Merge pull request #305 from stephenfalken:2.4 2013-01-24 18:24:36 +04:00
Andrey Kamaev 7ad81ed46f Merge pull request #332 from taka-no-me:fix_ocl_warnings 2013-01-24 17:44:11 +04:00
Andrey Kamaev d5b15d6523 Fix ocl build warnings 2013-01-24 17:08:30 +04:00
Andrey Kamaev 33ca4ba5c7 Merge pull request #331 from taka-no-me:fix_java_debug 2013-01-24 15:49:14 +04:00
Siegfried Hochdorfer 195d501b43 fixed broken indentation 2013-01-24 11:40:35 +01:00
Andrey Kamaev cc399e2ade Merge pull request #330 from sromberg:2.4 2013-01-24 14:26:54 +04:00
Andrey Kamaev a441980d68 Fix debug build of Java warppers 2013-01-24 13:25:12 +04:00
Andrey Kamaev 3c4cfccc88 Merge pull request #321 from apavlenko:warp_sanity_check 2013-01-24 13:05:54 +04:00
Stefan Romberg 9f417268b3 Fixed visualization by choosing the color appropriate to the detection
Fixed visualization by choosing the color appropriate to the detection
score.
Previously the example showed all detections with the same color
disregarding the confidence. This led to the impression that the object
detection did not work at all because there are many detections with low
confidences.

PR to master was
https://github.com/Itseez/opencv/pull/320
2013-01-24 10:01:18 +01:00
yao 2aae501234 make ocl module compile on VS2012 2013-01-24 15:45:29 +08:00
yao d574e6dc09 fix canny crash in bug #2279 2013-01-24 14:58:41 +08:00
yao 4f778436b5 ocl::cvtColor support YUV and YCbCr formats 2013-01-24 14:33:28 +08:00
Vladislav Vinogradov 395f0201e3 fixed build for CARMA:
- added CMake toolchain file
- added WITH_NVCUVID flag
2013-01-23 21:05:08 +04:00
Vladislav Vinogradov 9cb4292d5c implemented Luv/Lab <-> RGB conversion 2013-01-23 21:05:08 +04:00
Vladislav Vinogradov e446903aac added more types support for gpu separable filters 2013-01-23 21:05:07 +04:00
Vladislav Vinogradov 281d036fcf optimizations:
- new reduce implementation (with kepler optimizations)
- saturate_cast via asm command
- video SIMD instructions in element operations
- float arithmetics instead of double
- new deviceSupports function
2013-01-23 21:05:07 +04:00
Vladislav Vinogradov ae6266e101 fixes for gpu module:
- fixed printCudaDeviceInfo for new CC
- fixed some compilation errors and warnings
- removed unset command from CMake script
- removed unused std imports
2013-01-23 21:05:06 +04:00
Vladislav Vinogradov b7e6b5af1b fixed tests (call resetDevice, if there was a gpu failure) 2013-01-23 21:05:04 +04:00
Andrey Kamaev 0773ab4d07 Merge pull request #315 from taka-no-me:java_on 2013-01-23 19:02:27 +04:00
Andrey Pavlenko e287dea91b fixing build warnings 2013-01-23 18:45:06 +04:00
Andrey Kamaev 2c32536bf4 Enable Java bindings on all platforms by default 2013-01-23 18:08:09 +04:00
Andrey Kamaev caa2c06e50 Quiet output of cv::error in Java tests
Introduced new Java API
void org.opencv.core.Core.setErrorVerbosity(boolean verbose)
used to suppress output to stderr from OpenCV's asserts
2013-01-23 18:08:09 +04:00
Andrey Kamaev 5eabcf8e4f Java tests: print summary for tests run 2013-01-23 18:08:09 +04:00
Andrey Kamaev 4668a133f0 Java API: fix build warning on OS X
Common part of all source files is extracted to special header
2013-01-23 18:08:09 +04:00
Andrey Kamaev 3889b34ec3 Add option to run java tests with run.py 2013-01-23 18:08:08 +04:00
Andrey Pavlenko 81721d0dce enabling sanity checks for warp and resize functions on Android
- add syntetic images generation function to ts
- use generated syntetic images
2013-01-23 17:25:30 +04:00
Andrey Kamaev 311d799344 Merge pull request #299 from branch 'bitwangyaoyao_ocl' into 2.4 2013-01-23 14:50:29 +04:00
yao e05112a364 some host side optimizations to ocl::GaussianBlur 2013-01-23 14:48:04 +04:00
yao 9060365f5e use format on filtering.cpp 2013-01-23 14:48:04 +04:00
yao 56c1a7fab6 make oclHaarDetectObjects running on more ocl platforms 2013-01-23 14:48:04 +04:00
yao b5bd2cde9e A few optimizations to ocl::pyrLK::sparse, make it running on more OCL platforms 2013-01-23 14:48:04 +04:00
yao 02c9e0a3e0 add default clAmdFft and clAmdBlas path 2013-01-23 14:48:04 +04:00
yao f6d82773f9 fix bug #2674 2013-01-23 14:48:04 +04:00
Andrey Kamaev 78dc44a7fd Merge pull request #295 from apavlenko:test_surf_keypoints_invariance 2013-01-23 14:40:05 +04:00
Andrey Kamaev 4d64db8be7 Merge pull request #319 from AnnaKogan8:added-surf-keypoints-cleanup 2013-01-23 10:36:02 +04:00
Anna Kogan 608fab60fd Added cleanup of keypoints vector 2013-01-22 18:05:18 +04:00
Andrey Kamaev 46c4390a2e Hardly refactored CMake script for Java wrappers 2013-01-22 17:59:01 +04:00
Andrey Kamaev c92743d124 Eliminate intermediate build target "opencv_java_api" 2013-01-22 17:59:00 +04:00
Andrey Kamaev 594f969641 Merge pull request #316 from mdim:draw_matches_fix 2013-01-22 16:09:48 +04:00
Eric Christiansen c2c2403a79 Added a desktop Java tutorial 2013-01-21 14:57:25 -08:00
mdim 93f8e7ba74 check of keypoint index range in drawMatches 2013-01-22 00:37:27 +04:00
Andrey Kamaev a45eb275e3 Merge pull request #306 from AnnaKogan8:perf_tests_timing.py-improvement 2013-01-21 18:10:08 +04:00
Andrey Kamaev abb9e08671 Merge pull request #314 from vpisarev:2.4 2013-01-21 17:52:35 +04:00
Vadim Pisarevsky f14b7af5ac changed diagnostic from "warning" to "note" in the python wrapper generator, to suppress some noise in opencv utilities 2013-01-21 15:00:32 +04:00
Andrey Kamaev 9c7a8dd584 Merge pull request #312 from taka-no-me:cheatsheet 2013-01-19 12:03:20 +04:00
Andrey Kamaev 1ed507c065 Merge pull request #310 from taka-no-me:4digit_version 2013-01-19 12:03:04 +04:00
Andrey Kamaev 55c74ebea8 Merge pull request #309 from asmorkalov:android_manager_4number_version 2013-01-19 12:02:49 +04:00
Andrey Kamaev e9301c3c4b Add opencv_cheatsheet.pdf to documentation build and silence Latex output 2013-01-18 18:27:43 +04:00
Andrey Kamaev e3474878b6 Consistently use 4-digit library version 2013-01-18 14:57:55 +04:00
Alexander Smorkalov 4feae810fa 4 digit library version numeration implemented in OpenCV Manager
Code refactoring done.
OpenCV library version type changed to int.
Some UI labels updated.
OpenCV Manager verison incremented.
2013-01-18 11:42:48 +04:00
Andrey Kamaev 101e9bd456 Merge pull request #304 from apavlenko:test_java_fix_double 2013-01-17 18:20:47 +04:00
Siegfried Hochdorfer 82a9f9a5a9 MeanshiftGrouping Bugfix (Bug #2685) 2013-01-17 11:46:24 +01:00
Andrey Pavlenko a8c0f1d962 fixing test failure on some systems 2013-01-16 18:33:35 +04:00
Andrey Kamaev 7341eaa654 Merge pull request #296 from asmorkalov:html_docs_warning_fix 2013-01-16 16:44:13 +04:00
Andrey Kamaev 28afa8d2d4 Merge pull request #297 from taka-no-me:fix_deps 2013-01-16 16:30:38 +04:00
Andrey Kamaev 0fed75a880 Merge pull request #302 from taka-no-me:fix_doc_sphinx107 2013-01-16 16:07:49 +04:00
Andrey Kamaev 069844cd4e Merge pull request #300 from taka-no-me:java_64bit 2013-01-16 14:49:46 +04:00
Andrey Kamaev b362d47d95 Fix documentation build with Sphinx 1.07 2013-01-16 12:43:12 +04:00
Eric Christiansen 6169b1dc90 Adds samples for Java and Scala 2013-01-15 12:03:55 -08:00
Andrey Kamaev bf3c2b0bbb Fix incorrect Mat address reconstruction on 64-bit platforms
This fixes random failures in Java wrappers.
2013-01-15 19:23:49 +04:00
Anna Kogan 0587bef667 Switched time from seconds to minutes 2013-01-15 15:32:22 +04:00
Anna Kogan 3cdfa654ae Added 'Num of tests' col, changed headers, added 'overall time' row 2013-01-15 15:26:43 +04:00
Andrey Kamaev 3cb84ed17c Fix dependencies inference for auto-disabled targets
Sometimes information about dependencies causing disabling were loosed and it
was not possible to correctly display these dependencies in status report
2013-01-14 18:58:24 +04:00
Andrey Pavlenko 9f0d5f60b5 fixinf warning on non-Windows systems 2013-01-14 18:15:51 +04:00
Alexander Smorkalov 8cb0343f4c Documentation build warning fixes.
Invalid links and refences fixed.
SpaeseMat class documentation updated.
2013-01-14 17:58:27 +04:00
Andrey Pavlenko 8e42ca1764 SURF keypoints rotation invariance test.
It calcs kpts for a cross and checks that 4 kpts at the edges have equal responce.
2013-01-14 14:06:00 +04:00
Andrey Kamaev c49b23d4dd Merge pull request #240 from emchristiansen:javatest2.4 2013-01-14 11:06:44 +04:00
Andrey Pavlenko b0e1cb473a more tests fixes 2013-01-11 09:13:25 +04:00
Andrey Kamaev 5e2726fb17 Merge pull request #287 from taka-no-me:fix_cvCalcOpticalFlow_2526 2013-01-10 19:56:44 +04:00
Andrey Kamaev 64d89d3546 Merge pull request #288 from taka-no-me:fix_unused_cmake_variable 2013-01-10 19:56:26 +04:00
Andrey Kamaev cf8deac2b2 Always touch variable controlling build of the module
This suppresses "unused variable" CMake warning when user explicilty disables
module unavailable in selected configuration
2013-01-10 19:05:39 +04:00
Andrey Kamaev b1384a6da8 Fix cvCalcOpticalFlow when the status parameter is NULL
issue 2526
2013-01-10 18:14:08 +04:00
Andrey Kamaev dff59ec960 Merge pull request #284 from taka-no-me:fix_equalize_hist_2678 2013-01-10 16:58:36 +04:00
Andrey Kamaev 59c6e2cc44 Merge pull request #283 from AnnaKogan8:perf_tests_timing.py-improved-console-output 2013-01-10 16:58:22 +04:00
Andrey Kamaev 6131a847a2 Fix histogram calculation in equalizeHist
issue #2678
2013-01-10 14:48:31 +04:00
Andrey Kamaev b81d1b25c7 Merge pull request #280 from vpisarev:bug_fixes_jan9 2013-01-10 13:31:04 +04:00
Anna Kogan 3271e395c8 Improved console output 2013-01-10 13:19:59 +04:00
Anna Kogan 0d7ce141aa Cleaned code 2013-01-10 13:18:26 +04:00
Anna Kogan 0334cf11cc Fixed last testsuit disregarding 2013-01-10 13:16:46 +04:00
Vadim Pisarevsky e383d39598 fixed bug #2679 2013-01-09 17:53:19 +04:00
Andrey Kamaev 399c20a928 Merge pull request #272 from 5kg:fix_haar 2013-01-09 16:53:11 +04:00
Andrey Kamaev e34aba60d9 Merge pull request #278 from taka-no-me:fix_build_jpeg9 2013-01-09 16:52:56 +04:00
Andrey Kamaev 873aefae19 Merge pull request #279 from taka-no-me:mingw_java 2013-01-09 16:52:41 +04:00
Vadim Pisarevsky 46cf2e96b5 Merge pull request #265 from taka-no-me:doc_signatures 2013-01-09 15:40:39 +04:00
Andrey Kamaev 4e1ba6f02f Fix build with libjpeg release 9 2013-01-08 19:55:29 +04:00
Andrey Kamaev da9089612a Fix build of java bindings on mingw 2012-12-30 23:24:39 +04:00
cuda-geek 47df8f4c2a Merge pull request #275 from mdim:bug_fix_cvboost 2012-12-30 00:31:03 +04:00
Andrey Kamaev dcde359181 Merge pull request #270 from wswld:2.4 2012-12-29 16:47:39 +04:00
Andrey Kamaev 7f4bcd3d72 Merge pull request #271 from 5kg:fix_cascade 2012-12-29 15:04:11 +04:00
Maria Dimashova 0e2958e888 fixed CvBoost::predict
(Sometimes sample_data became bad because the buffer with its values was deallocated early).
2012-12-29 00:30:52 +04:00
Zifei Tong 260bdc057c Changed parallel_for to parallel_for_ in haar.cpp 2012-12-28 22:56:47 +08:00
Andrey Pavlenko c49b1bc6d5 partial fix for failing tests; fix for Windows launcher script; more quiet output 2012-12-28 17:03:35 +04:00
Zifei Tong e331787645 Fix race condition for Cascade Classifier when TBB enabled. 2012-12-28 20:51:02 +08:00
Vsevolod Glumov c0411caef4 Fixed a bunch of minor issues in 'dev_with_OCV_on_Android.rst'. 2012-12-28 16:37:05 +04:00
Andrey Kamaev b401c6a0c3 Fix discrepancies between function signatures in headers and documentation 2012-12-26 18:24:50 +04:00
Andrey Kamaev aabbe11e64 Improve function arguments parsing and checking
* always use "argN" names for unnamed arguments
* honor space symbol between typename and "*", "&" symbols
* fix indent errors
2012-12-26 17:55:03 +04:00
Andrey Kamaev 5f41971305 Merge pull request #264 from kirill-kornyakov:remove-hack-from-hough-lines-perf-test 2012-12-26 12:53:50 +04:00
Kirill Kornyakov 5023afffc7 Removed hack from perf test on HoughLines, since I hope it is fixed by pr263 2012-12-26 10:33:02 +04:00
Andrey Kamaev 04f3c19b9a Merge pull request #263 from taka-no-me:hough_explicit_double 2012-12-25 18:54:54 +04:00
Andrey Kamaev b78811112f Merge pull request #261 from apavlenko:samples_remove_empty_menu 2012-12-25 18:28:05 +04:00
Andrey Kamaev 2e2972cef3 Merge pull request #262 from kirill-kornyakov:minor-cleanings-for-android-sdk 2012-12-25 18:26:17 +04:00
Andrey Kamaev 16687a2655 Explicitly use double precision sin & cos in hough implementation
On some platforms sin and cos are calculated in single precision resulting in
diversity of results.
2012-12-25 18:05:05 +04:00
Kirill Kornyakov e21f106159 Updated OpenCV Manager rst documentation 2012-12-25 17:50:31 +04:00
Andrey Pavlenko dd8e648d78 hiding empty menu button on Android 4 2012-12-25 17:49:10 +04:00
Kirill Kornyakov def1745132 Updated readme.txt with desciption about different OCV Manager packages 2012-12-25 17:16:30 +04:00
Andrey Kamaev 6bc795308e Merge pull request #247 from wswld:2.4 2012-12-24 21:02:04 +04:00
Andrey Pavlenko 1e5b533d01 updating tutorial #2 2012-12-24 20:05:27 +04:00
Andrey Kamaev 02d1e68c64 Merge pull request #257 from AnnaKogan8:perf-tests-timing-script 2012-12-24 19:38:49 +04:00
Andrey Kamaev 1af55b4bcb Merge pull request #259 from asmorkalov:manager_outofbound_fix 2012-12-24 19:32:51 +04:00
Andrey Kamaev efecf3b8fd Merge ppull request #258 from asmorkalov/android_emu_fix 2012-12-24 19:25:57 +04:00
Andrey Kamaev 8cf6bcb20a Merge pull request #260 from alekcac:css_fix 2012-12-24 19:26:15 +04:00
Andrey Pavlenko 99299b3605 updating tutorial #1 2012-12-24 19:25:42 +04:00
Alexander Shishkov 7e52a8d1b6 modify default css for search button (error #2654) 2012-12-24 18:26:02 +04:00
Alexander Smorkalov 064bf167ad OpenCV Manager crashes with exception (Bug #2660)
String checking and range cheching added.
2012-12-24 18:05:48 +04:00
Alexander Smorkalov 9ca65ceef8 OpenCV example-tutorial1 does not work on Android emulator (Bug #2656)
Problems with Android 2.3.3 (API level 10) fixed;
Android 2.2 does not work due to unsupported camera frame format (known android-2.2 emulator issue).
2012-12-24 17:49:49 +04:00
Anna Kogan f57d692cd7 Improved code 2012-12-24 17:09:04 +04:00
Anna Kogan e1331b44f5 Wrote script generating timing table 2012-12-24 17:09:04 +04:00
Andrey Kamaev 014a500f79 Merge pull request #256 from znah:2.4 2012-12-24 16:11:19 +04:00
Andrey Kamaev 524bde2aeb Merge pull request #255 from taka-no-me:fix_batchdist_test 2012-12-24 13:29:32 +04:00
Alexander Mordvintsev 20838b6f6e fix #2643: use SVD to solve least squares in cvStereoRectifyUncalibrated 2012-12-24 12:59:39 +04:00
Andrey Kamaev 02c7e221a3 Merge pull request #252 from taka-no-me:fix_stlport_build 2012-12-24 12:44:13 +04:00
Andrey Kamaev 0c3bdbf23a Merge pull request #254 from taka-no-me:array_total 2012-12-24 12:43:31 +04:00
Andrey Kamaev d6d1d20816 Show STL type in CMake status report 2012-12-22 22:52:27 +04:00
Andrey Kamaev b870b246e1 Fix memory corruption in batchDistance perf tests 2012-12-22 21:01:57 +04:00
Andrey Kamaev f87987ed72 Honor multidimensional matrices in InputArray::total 2012-12-22 17:56:02 +04:00
Andrey Kamaev 9944282b09 Fix build with STLPort from NDK r8d 2012-12-22 00:59:56 +04:00
Andrey Kamaev ffdbddd6b1 Merge pull request #250 from taka-no-me:android_ndk_r8d 2012-12-21 17:57:59 +04:00
Andrey Kamaev f22ee7f0df Workaround "Segmentation fault" when built with gcc 4.7 from NDK r8d 2012-12-21 16:44:54 +04:00
Vsevolod Glumov e9e46d3086 Updated Android introductory tutorials, based on frequent Q&A questions/issues. 2012-12-21 16:10:20 +04:00
Andrey Kamaev b6efec5f8b Add support for Android NDK r8d 2012-12-21 15:39:23 +04:00
Andrey Kamaev 512f0091db Merge pull request #248 from taka-no-me:reduce_tmp_size 2012-12-20 20:09:35 +04:00
Andrey Kamaev 9526907cba Use .yml.gz format to reduce space requirement from ~260Mb to ~17Mb for ml tests
The size of temporary files is an issue on mobile platforms.
2012-12-20 18:46:54 +04:00
Andrey Kamaev aaf779a3a2 Adjust OpenCV version to 2.4.3.2 2012-12-20 17:19:34 +04:00
Andrey Kamaev 0d00109f05 Merge pull request #244 from asmorkalov:manager_nonarm_fix 2012-12-20 17:21:59 +04:00
Andrey Kamaev 7bee55b84e Merge pull request #243 from takacsd:2.4 2012-12-20 16:58:14 +04:00
Alexander Smorkalov ee144852f2 Hardware platform detection for non arm devices fixed. 2012-12-20 16:44:56 +04:00
Andrey Kamaev 7c37f5d7de Merge pull request #242 from asmorkalov:manager_warning_fix 2012-12-20 16:13:45 +04:00
takacsd 64f821908e Add missing _WIN32 check in core/operations.hpp.
Fix a compilation error with MinGW gcc 4.7 with enabled C++11 support (-std=c++11).
Issue number: #2555
2012-12-20 11:28:16 +01:00
Andrey Kamaev 875294aa92 Merge pull request #241 from taka-no-me:less_cc_tests 2012-12-20 13:05:05 +04:00
Alexander Smorkalov 71e7d444d8 All OpenCV Manager compiler warrnings fixed. 2012-12-20 12:28:30 +04:00
Andrey Kamaev ca7abe1239 Reduce number of performance tests for LBP cascade 2012-12-20 12:25:59 +04:00
Andrey Kamaev f4433ff9c4 Merge pull request #238 from asmorkalov:android_resolution_sample 2012-12-20 12:10:57 +04:00
Alexander Smorkalov 77df8730ef Tutorial-5 sample extended.
Application menu reorganized;
Resolution control added.
2012-12-20 11:16:34 +04:00
Eric Christiansen ad326cb0be adds desktop java junit tests 2012-12-19 14:28:59 -08:00
Andrey Kamaev c8b658fdb6 Merge pull request #237 from asmorkalov:android_make_install_fix 2012-12-19 22:09:04 +04:00
Andrey Kamaev 48f19fba76 Merge pull request #235 from asmorkalov:doc_manager_selection 2012-12-19 18:00:49 +04:00
Alexander Smorkalov 1555922228 OpenCV for Android SDK installation improved;
ReadMe.txt for OpenCV Manager added;
share folder excluded from SDK.
2012-12-19 17:28:46 +04:00
Andrey Kamaev 8763ad6c99 Fix ccache search in Android CMake toolchain. 2012-12-19 16:50:08 +04:00
Andrey Kamaev 35ac95930f Merge pull request #236 from asmorkalov:javadoc_fix 2012-12-19 16:32:45 +04:00
Andrey Kamaev b35fa6c4ff Merge pull request #202 from Daniil-Osokin:calcHist 2012-12-19 15:07:40 +04:00
Alexander Smorkalov d7c89fc649 A lot of javadoc warnings duting javadoc build (Bug #2647) issue fixed
Black list of entities, that are not implemented in Java API added to javadoc generator
2012-12-19 12:53:44 +04:00
Vadim Pisarevsky a75e5ac277 Merge pull request #232 from asmorkalov:compiler_bug_workaround 2012-12-19 10:20:10 +04:00
Andrey Kamaev 2c56a09bee Merge pull request #226 from taka-no-me/equalizeHist
Fix equalization formula in equalizeHist function & rewrite in C++
2012-12-18 15:53:13 -08:00
Daniil Osokin 98d7d99244 Add threaded version of equalizeHist 2012-12-18 23:59:50 +04:00
Alexander Smorkalov 3c09b075fc OpenCV Manager selection chapter added to documentation. 2012-12-18 18:34:51 +04:00
Alexander Smorkalov dfa4b2fefa Workaround for gcc overoptimization compiler bug. 2012-12-18 15:58:17 +04:00
Daniil-Osokin cd501d947c perf tests for calcHist 2-3D case 2012-12-17 12:35:32 +04:00
Daniil-Osokin 7d94236c14 TBB version of calcHist 2012-12-17 11:01:31 +04:00
Vadim Pisarevsky 09be997ed8 Merge pull request #225 from pieleric:2.4 2012-12-16 22:18:24 +04:00
Vadim Pisarevsky 5c88577138 Merge pull request #227 from taka-no-me:sanity_MatND 2012-12-16 22:17:51 +04:00
Andrey Kamaev 80a1d569ca Add support for multidimentional matrices into the sanity checks 2012-12-15 20:15:34 +04:00
Andrey Kamaev 3de6846d12 Merge pull request #224 from wswld:2.4 2012-12-15 16:06:32 +04:00
Andrey Kamaev 0bbba847a4 Fix equalization formula in equalizeHist function & rewrite in C++
Old implementation did

    lut[i] = 255 * (count(Y <= i)) / (width * height)

which actually shifts uniform histograms.
From now histogram is equalized as

    C = count(Y == min(Y))
    lut[i] = 255 * (count(Y <= i) - C) / (width * height - C)
2012-12-15 15:29:15 +04:00
Éric Piel 7701fa7a63 highgui: fix segfault on CvCapture_GStreamer::open
when compiled with GStreamer, open (of a file) segfaults.

Fix was suggested by Bostjan Vesnicer.
2012-12-15 12:11:13 +01:00
Vadim Pisarevsky 9b09f09b9a Merge pull request #222 from taka-no-me:perf_verify_sanity 2012-12-14 12:26:18 +04:00
Vsevolod Glumov 3f417f1ec3 Fixes for issues #2570, #2492, #2559, #2489, #2592. 2012-12-14 10:49:51 +04:00
Andrey Kamaev 5a407153bd Fix sanity checks in stitching test 2012-12-12 20:29:23 +04:00
Andrey Kamaev 817a4c0c30 Merge branch 2.4 into perf_verify_sanity 2012-12-12 20:14:25 +04:00
Andrey Kamaev 932204d197 Added thresholds to some sanity checks 2012-12-12 20:14:20 +04:00
Andrey Kamaev e1afb1409f Add --perf_verify_sanity option to performance tests
This option provides an easy way to identify tests having no regression data
for sanity checks
2012-12-12 19:42:24 +04:00
Andrey Kamaev 64cf113d23 Merge pull request #215 from asmorkalov:manager_depricated_packages 2012-12-12 18:47:14 +04:00
Andrey Kamaev 770a466dd2 Merge pull request #223 from taka-no-me:perf_tests 2012-12-12 18:38:48 +04:00
Andrey Kamaev b876308d77 Merge pull request #200 from asmorkalov:t5_fix 2012-12-12 18:38:17 +04:00
Vadim Pisarevsky 5cc0abffa5 Merge pull request #221 from asmorkalov:doc_install_fix 2012-12-12 13:39:25 +04:00
Andrey Kamaev 6e244c83cd Corrected sanity checks in several perf tests
Also fixed a typo in performance testing framework and removed hardcoded
temporary file name from highgui perf test
2012-12-12 01:00:47 +04:00
Alexander Smorkalov e5468008aa Installation of documents fixed. 2012-12-11 19:08:20 +04:00
Alexander Smorkalov f29c727ada Tag "safe to remove" added to unused packages;
OpenCV Manager version++.
2012-12-11 12:36:01 +04:00
Andrey Kamaev 60ad505a63 Merge pull request #212 from taka-no-me/fix_2602
Prevent imread from illegal memory access (Bug #2602)
2012-12-10 11:48:28 -08:00
Andrey Kamaev 2bf56961c0 Merge pull request #204 from asmorkalov/manager_internal_lib
Feature #2565 implementation
2012-12-10 08:07:39 -08:00
Andrey Kamaev f7dc98f67b Merge pull request #205 from taka-no-me/gtest_r629
Update googletest to the latest upstream
2012-12-10 08:07:30 -08:00
Andrey Kamaev 9c6eed0ba3 Merge pull request #206 from asmorkalov/manager_version_fix
Bug #2595 in OpenCV Manager fixed.
2012-12-10 08:07:19 -08:00
Andrey Kamaev 7660fe03a6 Merge pull request #214 from jmunk1/bugfix-2610
Fixed typo in OpenCVDetectOpenCL.cmake that resulted in cmake not findin...
2012-12-10 08:06:50 -08:00
Andrey Kamaev e21884f4c4 Merge pull request #219 from kirill-kornyakov/hack-hough-lines-sanity-test-on-win32
Ugly hack to make HoughLines sanity check pass on Windows
2012-12-10 08:06:15 -08:00
Kirill Kornyakov cdbbfc98e1 Ugly hack to make HoughLines sanity check pass on Wun32 2012-12-10 18:16:15 +04:00
Andrey Kamaev 7c6191ec11 Refactored run.py script and temporary file generation logic
* use OPENCV_TEMP_PATH environment variable on all platforms
* fix cleanup after OpenCV tests on Windows
* add --list flag to output names of all tests found
* do not override user-passed --perf_min_samples and --perf_force_samples
  options by --check flag
* fix complier checks inside run.py
2012-12-08 15:43:23 +04:00
Alexander Smorkalov d550f95347 Date and time added to saved file name. 2012-12-07 14:46:53 +04:00
Justin Muncaster 709a1cc083 Fixed typo in OpenCVDetectOpenCL.cmake that resulted in cmake not finding OpenCL on windows. 2012-12-06 13:17:25 -08:00
Andrey Kamaev 1821d21f5b Prevent imread from illegal memory access (Bug #2602)
The change is based on pull request #211.
2012-12-06 19:42:17 +04:00
Alexander Smorkalov 257d8df1d4 Bug with skiped packages fixed. 2012-12-06 14:11:30 +04:00
Alexander Smorkalov d2ed8e5f30 Bug #2595 in OpenCV Manager fixed.
OpenCV Manager 2.x marks old 2.4.2 binary package for Tegra as "in use".
The latest version of OpenCV library compatible with platform is used now.
2012-12-05 18:03:42 +04:00
Alexander Smorkalov 4ebcf2b224 GetPublicName function removed for OpenCV LibraryInfo class;
Some OpenCV Manager UI behavior updates;
CMake build fix.
2012-12-05 13:19:28 +04:00
Andrey Kamaev b0d3830399 Update gtest to upstream r629 2012-12-05 03:02:37 +04:00
Vadim Pisarevsky 7852b68c20 Merge pull request #197 from asmorkalov:ffmpeg_status_message_fix 2012-12-04 21:02:10 +04:00
Alexander Smorkalov 0f64f847b2 Info library loading implemeneted. 2012-12-04 16:34:53 +04:00
Alexander Smorkalov 9823b7cd08 Internal version of OpenCV inside OpenCV Manager added to the list of installed packages. 2012-12-04 15:37:27 +04:00
Alexander Smorkalov a0c504aabc Initial stub for OpenCVLibraryInfo class added. 2012-12-04 15:36:52 +04:00
Alexander Smorkalov 6e0db3f527 Feature #1322 "If dll cannot be loaded a warning should be generated" implemented. 2012-12-03 13:52:49 +04:00
Alexander Smorkalov 22484872fa Sample Tutorial-5 improved
Aditional toasts added;
Exception handling improved;
Bitmap recycling added.
2012-11-30 18:41:46 +04:00
1391 arquivos alterados com 111579 adições e 69860 exclusões
+36 -28
Ver Arquivo
@@ -1,30 +1,39 @@
.git* export-ignore
* text=auto
* whitespace=!indent,trail,space
* text=auto whitespace=trailing-space,space-before-tab,-indent-with-non-tab,tab-in-indent,tabwidth=4
*.py text whitespace=tab-in-indent,trail,space,fix
*.cpp text whitespace=tab-in-indent,trail,space,fix
*.hpp text whitespace=tab-in-indent,trail,space,fix
*.cxx text whitespace=tab-in-indent,trail,space,fix
*.hxx text whitespace=tab-in-indent,trail,space,fix
*.mm text whitespace=tab-in-indent,trail,space,fix
*.c text whitespace=tab-in-indent,trail,space,fix
*.h text whitespace=tab-in-indent,trail,space,fix
*.i text whitespace=tab-in-indent,trail,space,fix
*.java text whitespace=tab-in-indent,trail,space,fix
*.cu text whitespace=tab-in-indent,trail,space,fix
*.cl text whitespace=tab-in-indent,trail,space,fix
*.py text
*.cpp text
*.hpp text
*.cxx text
*.hxx text
*.mm text
*.c text
*.h text
*.i text
*.js text
*.java text
*.scala text
*.cu text
*.cl text
*.css_t text
*.qrc text
*.qss text
*.S text
*.rst text
*.tex text
*.sty text
*.cmake text whitespace=tab-in-indent,trail,space,fix
*.cmakein text whitespace=tab-in-indent,trail,space,fix
*.in text whitespace=tab-in-indent,trail,space,fix
CMakeLists.txt text whitespace=tab-in-indent,trail,space,fix
*.aidl text
*.mk text
*.rst text whitespace=tab-in-indent,trail,space,fix
*.cmake text whitespace=tabwidth=2
*.cmakein text whitespace=tabwidth=2
*.in text whitespace=tabwidth=2
CMakeLists.txt text whitespace=tabwidth=2
*.png binary
*.jepg binary
*.jpeg binary
*.jpg binary
*.exr binary
*.ico binary
@@ -32,22 +41,21 @@ CMakeLists.txt text whitespace=tab-in-indent,trail,space,fix
*.a binary
*.so binary
*.dll binary
*.jar binary
*.pdf binary
*.pbxproj binary
*.vec binary
*.doc binary
*.css_t text
*.qrc text
*.qss text
*.S text
*.xml -text
*.yml -text
*.xml -text whitespace=cr-at-eol
*.yml -text whitespace=cr-at-eol
.project -text whitespace=cr-at-eol merge=union
.classpath -text whitespace=cr-at-eol merge=union
.cproject -text whitespace=cr-at-eol merge=union
org.eclipse.jdt.core.prefs -text whitespace=cr-at-eol merge=union
*.vcproj text eol=crlf merge=union
*.cproject text eol=crlf merge=union
*.bat text eol=crlf
*.cmd text eol=crlf
*.cmd.tmpl text eol=crlf
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
+2 -1
Ver Arquivo
@@ -23,7 +23,8 @@ if(WIN32 AND NOT MINGW)
add_definitions(-DJAS_WIN_MSVC_BUILD)
endif(WIN32 AND NOT MINGW)
ocv_warnings_disable(CMAKE_C_FLAGS -Wno-implicit-function-declaration -Wno-uninitialized -Wmissing-prototypes -Wmissing-declarations -Wunused -Wshadow -Wsign-compare)
ocv_warnings_disable(CMAKE_C_FLAGS -Wno-implicit-function-declaration -Wno-uninitialized -Wmissing-prototypes
-Wno-unused-but-set-parameter -Wmissing-declarations -Wunused -Wshadow -Wsign-compare)
ocv_warnings_disable(CMAKE_C_FLAGS -Wunused-parameter) # clang
ocv_warnings_disable(CMAKE_C_FLAGS /wd4013 /wd4018 /wd4101 /wd4244 /wd4267 /wd4715) # vs2005
+106 -24
Ver Arquivo
@@ -1,15 +1,45 @@
#build TBB for Android from source
if(NOT ANDROID)
message(FATAL_ERROR "The script is designed for Android only!")
endif()
#Cross compile TBB from source
project(tbb)
if (WIN32 AND NOT ARM)
message(FATAL_ERROR "BUILD_TBB option supports Windows on ARM only!\nUse regular official TBB build instead of the BUILD_TBB option!")
endif()
if (WIN32 AND ARM)
# 4.1 update 4 - The first release that supports Windows RT. Hangs on some Android devices
set(tbb_ver "tbb41_20130613oss")
set(tbb_url "http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb41_20130613oss_src.tgz")
set(tbb_md5 "108c8c1e481b0aaea61878289eb28b6a")
set(tbb_version_file "version_string.ver")
ocv_warnings_disable(CMAKE_CXX_FLAGS -Wshadow -Wunused-parameter)
else()
# 4.1 update 2 - works fine
set(tbb_ver "tbb41_20130116oss")
set(tbb_url "http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb41_20130116oss_src.tgz")
set(tbb_md5 "3809790e1001a1b32d59c9fee590ee85")
set(tbb_version_file "version_string.ver")
ocv_warnings_disable(CMAKE_CXX_FLAGS -Wshadow)
endif()
# 4.1 update 3 dev - Hangs on some Android devices
#set(tbb_ver "tbb41_20130401oss")
#set(tbb_url "http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb41_20130401oss_src.tgz")
#set(tbb_md5 "f2f591a0d2ca8f801e221ce7d9ea84bb")
#set(tbb_version_file "version_string.ver")
#ocv_warnings_disable(CMAKE_CXX_FLAGS -Wshadow)
# 4.1 update 2 - works fine
#set(tbb_ver "tbb41_20130116oss")
#set(tbb_url "http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb41_20130116oss_src.tgz")
#set(tbb_md5 "3809790e1001a1b32d59c9fee590ee85")
#set(tbb_version_file "version_string.ver")
#ocv_warnings_disable(CMAKE_CXX_FLAGS -Wshadow)
# 4.1 update 1 - works fine
set(tbb_ver "tbb41_20121003oss")
set(tbb_url "http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb41_20121003oss_src.tgz")
set(tbb_md5 "2a684fefb855d2d0318d1ef09afa75ff")
set(tbb_version_file "version_string.ver")
#set(tbb_ver "tbb41_20121003oss")
#set(tbb_url "http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb41_20121003oss_src.tgz")
#set(tbb_md5 "2a684fefb855d2d0318d1ef09afa75ff")
#set(tbb_version_file "version_string.ver")
# 4.1 - works fine
#set(tbb_ver "tbb41_20120718oss")
@@ -104,7 +134,7 @@ if(NOT EXISTS "${tbb_src_dir}")
RESULT_VARIABLE tbb_untar_RESULT)
if(NOT tbb_untar_RESULT EQUAL 0 OR NOT EXISTS "${tbb_src_dir}")
message(FATAL_ERROR "Failed to unpack TBB sources")
message(FATAL_ERROR "Failed to unpack TBB sources from ${tbb_tarball} to ${tbb_src_dir} with error ${tbb_untar_RESULT}")
endif()
endif()
@@ -119,15 +149,41 @@ file(GLOB lib_srcs "${tbb_src_dir}/src/tbb/*.cpp")
file(GLOB lib_hdrs "${tbb_src_dir}/src/tbb/*.h")
list(APPEND lib_srcs "${tbb_src_dir}/src/rml/client/rml_tbb.cpp")
add_definitions(-D__TBB_DYNAMIC_LOAD_ENABLED=0 #required
-D__TBB_BUILD=1 #required
-D__TBB_SURVIVE_THREAD_SWITCH=0 #no cilk on Android ?
-DUSE_PTHREAD #required
-DTBB_USE_GCC_BUILTINS=1 #required
-DTBB_USE_DEBUG=0 #just to be sure
-DTBB_NO_LEGACY=1 #don't need backward compatibility
-DDO_ITT_NOTIFY=0 #it seems that we don't need these notifications
)
if (WIN32)
add_definitions(/D__TBB_DYNAMIC_LOAD_ENABLED=0
/D__TBB_BUILD=1
/DTBB_NO_LEGACY=1
/D_UNICODE
/DUNICODE
/DWINAPI_FAMILY=WINAPI_FAMILY_APP
/DDO_ITT_NOTIFY=0
/DUSE_WINTHREAD
) # defines were copied from windows.cl.inc
if (ARM)
add_definitions(/D_WIN32_WINNT=0x0602
/D__TBB_WIN32_USE_CL_BUILTINS
)
endif()
set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} /APPCONTAINER")
else()
add_definitions(-D__TBB_DYNAMIC_LOAD_ENABLED=0 #required
-D__TBB_BUILD=1 #required
-D__TBB_SURVIVE_THREAD_SWITCH=0 #no cilk support
-DTBB_USE_DEBUG=0 #just to be sure
-DTBB_NO_LEGACY=1 #don't need backward compatibility
-DDO_ITT_NOTIFY=0 #it seems that we don't need these notifications
)
endif()
if (HAVE_LIBPTHREAD)
add_definitions(-DUSE_PTHREAD) #required for Unix
endif()
if (CMAKE_COMPILER_IS_GNUCXX)
add_definitions(-DTBB_USE_GCC_BUILTINS=1) #required for ARM GCC
endif()
if(ANDROID_COMPILER_IS_CLANG)
add_definitions(-D__TBB_GCC_BUILTIN_ATOMICS_PRESENT=1)
@@ -140,18 +196,45 @@ if(tbb_need_GENERIC_DWORD_LOAD_STORE)
set(tbb_need_GENERIC_DWORD_LOAD_STORE ON PARENT_SCOPE)
endif()
add_library(tbb STATIC ${lib_srcs} ${lib_hdrs} "${CMAKE_CURRENT_SOURCE_DIR}/android_additional.h" "${CMAKE_CURRENT_SOURCE_DIR}/${tbb_version_file}")
target_link_libraries(tbb c m dl)
set(TBB_SOURCE_FILES ${lib_srcs} ${lib_hdrs})
if (ARM AND NOT WIN32)
if (NOT ANDROID)
set(TBB_SOURCE_FILES ${TBB_SOURCE_FILES} "${CMAKE_CURRENT_SOURCE_DIR}/arm_linux_stub.cpp")
endif()
set(TBB_SOURCE_FILES ${TBB_SOURCE_FILES} "${CMAKE_CURRENT_SOURCE_DIR}/android_additional.h")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include \"${CMAKE_CURRENT_SOURCE_DIR}/android_additional.h\"")
endif()
set(TBB_SOURCE_FILES ${TBB_SOURCE_FILES} "${CMAKE_CURRENT_SOURCE_DIR}/${tbb_version_file}")
add_library(tbb ${TBB_SOURCE_FILES})
if (WIN32)
if (ARM)
set(platform_macro /D_M_ARM=1)
endif()
add_custom_command(TARGET tbb
PRE_BUILD
COMMAND ${CMAKE_C_COMPILER} /nologo /TC /EP ${tbb_src_dir}\\src\\tbb\\win32-tbb-export.def /DTBB_NO_LEGACY=1 /D_CRT_SECURE_NO_DEPRECATE /D__TBB_BUILD=1 ${platform_macro} /I${tbb_src_dir}\\src /I${tbb_src_dir}\\include > "${tbb_src_dir}\\src\\tbb\\tbb.def"
WORKING_DIRECTORY ${tbb_src_dir}\\src\\tbb
COMMENT "Generating tbb.def file" VERBATIM
)
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEF:${tbb_src_dir}/src/tbb/tbb.def /DLL /MAP /fixed:no /INCREMENTAL:NO")
else()
target_link_libraries(tbb c m dl)
endif()
ocv_warnings_disable(CMAKE_CXX_FLAGS -Wundef -Wmissing-declarations)
string(REPLACE "-Werror=non-virtual-dtor" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -include \"${CMAKE_CURRENT_SOURCE_DIR}/android_additional.h\"")
set_target_properties(tbb
PROPERTIES OUTPUT_NAME tbb
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
ARCHIVE_OUTPUT_DIRECTORY ${3P_LIBRARY_OUTPUT_PATH}
RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
)
if(ENABLE_SOLUTION_FOLDERS)
@@ -164,4 +247,3 @@ endif()
# get TBB version
ocv_parse_header("${tbb_src_dir}/include/tbb/tbb_stddef.h" TBB_VERSION_LINES TBB_VERSION_MAJOR TBB_VERSION_MINOR TBB_INTERFACE_VERSION CACHE)
+10
Ver Arquivo
@@ -0,0 +1,10 @@
#include "tbb/tbb_misc.h"
namespace tbb {
namespace internal {
void affinity_helper::protect_affinity_mask() {}
affinity_helper::~affinity_helper() {}
}
}
+140 -88
Ver Arquivo
@@ -103,6 +103,19 @@ if(UNIX AND NOT ANDROID)
endif()
endif()
# Add these standard paths to the search paths for FIND_PATH
# to find include files from these locations first
if(MINGW)
if(EXISTS /mingw)
list(APPEND CMAKE_INCLUDE_PATH /mingw)
endif()
if(EXISTS /mingw32)
list(APPEND CMAKE_INCLUDE_PATH /mingw32)
endif()
if(EXISTS /mingw64)
list(APPEND CMAKE_INCLUDE_PATH /mingw64)
endif()
endif()
# ----------------------------------------------------------------------------
# OpenCV cmake options
@@ -110,44 +123,49 @@ endif()
# Optional 3rd party components
# ===================================================
OCV_OPTION(WITH_1394 "Include IEEE1394 support" ON IF (UNIX AND NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_1394 "Include IEEE1394 support" ON IF (NOT ANDROID AND NOT IOS) )
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_CUBLAS "Include NVidia Cuda Basic Linear Algebra Subprograms (BLAS) library support" OFF IF (CMAKE_VERSION VERSION_GREATER "2.8" AND NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_CUDA "Include NVidia Cuda Runtime support" ON IF (CMAKE_VERSION VERSION_GREATER "2.8" AND NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_CUFFT "Include NVidia Cuda Fast Fourier Transform (FFT) library support" ON IF (CMAKE_VERSION VERSION_GREATER "2.8" AND NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_CUBLAS "Include NVidia Cuda Basic Linear Algebra Subprograms (BLAS) library support" OFF IF (CMAKE_VERSION VERSION_GREATER "2.8" AND NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_NVCUVID "Include NVidia Video Decoding library support" OFF IF (CMAKE_VERSION VERSION_GREATER "2.8" AND NOT ANDROID AND NOT IOS AND NOT APPLE) )
OCV_OPTION(WITH_EIGEN "Include Eigen2/Eigen3 support" ON)
OCV_OPTION(WITH_FFMPEG "Include FFMPEG support" ON IF (NOT ANDROID AND NOT IOS) )
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_GTK "Include GTK support" ON IF (UNIX AND NOT APPLE AND NOT ANDROID) )
OCV_OPTION(WITH_IMAGEIO "ImageIO support for OS X" OFF IF APPLE)
OCV_OPTION(WITH_IMAGEIO "ImageIO support for OS X" OFF IF APPLE )
OCV_OPTION(WITH_IPP "Include Intel IPP support" OFF IF (MSVC OR X86 OR X86_64) )
OCV_OPTION(WITH_JASPER "Include JPEG2K support" ON IF (NOT IOS) )
OCV_OPTION(WITH_JPEG "Include JPEG support" ON IF (NOT IOS) )
OCV_OPTION(WITH_JPEG "Include JPEG support" ON)
OCV_OPTION(WITH_OPENEXR "Include ILM support via OpenEXR" ON IF (NOT IOS) )
OCV_OPTION(WITH_OPENGL "Include OpenGL support" OFF IF (NOT ANDROID AND NOT APPLE) )
OCV_OPTION(WITH_OPENNI "Include OpenNI support" OFF IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_PNG "Include PNG support" ON IF (NOT IOS) )
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_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_CSTRIPES "Include C= support" OFF IF 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 APPLE AND NOT ANDROID) )
OCV_OPTION(WITH_VIDEOINPUT "Build HighGUI with DirectShow support" ON IF WIN32 )
OCV_OPTION(WITH_V4L "Include Video 4 Linux support" ON IF (UNIX AND NOT ANDROID) )
OCV_OPTION(WITH_DSHOW "Build HighGUI with DirectShow support" ON IF (WIN32 AND NOT ARM) )
OCV_OPTION(WITH_MSMF "Build HighGUI 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_XINE "Include Xine support (GPL)" OFF IF (UNIX AND NOT APPLE AND NOT ANDROID) )
OCV_OPTION(WITH_OPENCL "Include OpenCL Runtime support" OFF IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_OPENCLAMDFFT "Include AMD OpenCL FFT library support" OFF IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_OPENCLAMDBLAS "Include AMD OpenCL BLAS library support" OFF IF (NOT ANDROID AND NOT IOS) )
OCV_OPTION(WITH_OPENCL "Include OpenCL Runtime support" ON IF (NOT ANDROID AND 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) )
# 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_ANDROID_EXAMPLES "Build examples for Android platform" ON IF ANDROID )
OCV_OPTION(BUILD_DOCS "Create build rules for OpenCV Documentation" ON )
OCV_OPTION(BUILD_EXAMPLES "Build all examples" OFF )
@@ -156,18 +174,18 @@ OCV_OPTION(BUILD_PERF_TESTS "Build performance tests"
OCV_OPTION(BUILD_TESTS "Build accuracy & regression tests" ON IF (NOT IOS) )
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_FAT_JAVA_LIB "Create fat java wrapper containing the whole OpenCV library" ON IF ANDROID AND NOT BUILD_SHARED_LIBS AND CMAKE_COMPILER_IS_GNUCXX )
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 )
# 3rd party libs
OCV_OPTION(BUILD_ZLIB "Build zlib from source" WIN32 OR APPLE )
OCV_OPTION(BUILD_TIFF "Build libtiff from source" WIN32 OR ANDROID OR APPLE )
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_ZLIB "Build zlib from source" WIN32 OR APPLE )
OCV_OPTION(BUILD_TIFF "Build libtiff from source" WIN32 OR ANDROID OR APPLE )
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_TBB "Download and build TBB from source" ANDROID )
# OpenCV installation options
# ===================================================
@@ -182,7 +200,7 @@ OCV_OPTION(INSTALL_TO_MANGLED_PATHS "Enables mangled install paths, that help wi
OCV_OPTION(ENABLE_PRECOMPILED_HEADERS "Use precompiled headers" ON IF (NOT IOS) )
OCV_OPTION(ENABLE_SOLUTION_FOLDERS "Solution folder in Visual Studio or in other IDEs" (MSVC_IDE OR CMAKE_GENERATOR MATCHES Xcode) IF (CMAKE_VERSION VERSION_GREATER "2.8.0") )
OCV_OPTION(ENABLE_PROFILING "Enable profiling in the GCC compiler (Add flags: -g -pg)" OFF IF CMAKE_COMPILER_IS_GNUCXX )
OCV_OPTION(ENABLE_OMIT_FRAME_POINTER "Enable -fomit-frame-pointer for GCC" ON IF CMAKE_COMPILER_IS_GNUCXX )
OCV_OPTION(ENABLE_OMIT_FRAME_POINTER "Enable -fomit-frame-pointer for GCC" ON IF CMAKE_COMPILER_IS_GNUCXX AND NOT (APPLE AND CMAKE_COMPILER_IS_CLANGCXX) )
OCV_OPTION(ENABLE_POWERPC "Enable PowerPC for GCC" ON IF (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_SYSTEM_PROCESSOR MATCHES powerpc.*) )
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)) )
@@ -281,6 +299,10 @@ set(OPENCV_CONFIG_FILE_INCLUDE_DIR "${CMAKE_BINARY_DIR}/" CACHE PATH "Where to c
add_definitions(-DHAVE_CVCONFIG_H)
ocv_include_directories(${OPENCV_CONFIG_FILE_INCLUDE_DIR})
# ----------------------------------------------------------------------------
# Path for additional modules
# ----------------------------------------------------------------------------
set(OPENCV_EXTRA_MODULES_PATH "" CACHE PATH "Where to look for additional OpenCV modules")
# ----------------------------------------------------------------------------
# Autodetect if we are in a GIT repository
@@ -299,21 +321,19 @@ find_host_program(GIT_EXECUTABLE NAMES ${git_names} PATH_SUFFIXES Git/cmd Git/bi
mark_as_advanced(GIT_EXECUTABLE)
if(GIT_EXECUTABLE)
execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
execute_process(COMMAND ${GIT_EXECUTABLE} describe --tags --always --dirty --match "2.[0-9].[0-9]*"
WORKING_DIRECTORY "${OpenCV_SOURCE_DIR}"
OUTPUT_VARIABLE OPENCV_GIT_HASH_SORT
OUTPUT_VARIABLE OPENCV_VCSVERSION
RESULT_VARIABLE GIT_RESULT
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(GIT_RESULT EQUAL 0)
set(OPENCV_VCSVERSION "commit:${OPENCV_GIT_HASH_SORT}")
else()
set(OPENCV_VCSVERSION "exported")
if(NOT GIT_RESULT EQUAL 0)
set(OPENCV_VCSVERSION "unknown")
endif()
else()
# We don't have git:
set(OPENCV_VCSVERSION "")
set(OPENCV_VCSVERSION "unknown")
endif()
@@ -399,7 +419,7 @@ if(ANDROID)
if(NOT ANDROID_TOOLS_Pkg_Revision GREATER 13)
message(WARNING "OpenCV requires Android SDK tools revision 14 or newer. Otherwise tests and samples will no be compiled.")
endif()
elseif(ANT_EXECUTABLE)
else()
find_package(JNI)
endif()
@@ -412,15 +432,6 @@ endif()
# --- OpenCL ---
if(WITH_OPENCL)
include(cmake/OpenCVDetectOpenCL.cmake)
if(OPENCL_FOUND)
set(HAVE_OPENCL 1)
endif()
if(WITH_OPENCLAMDFFT)
set(HAVE_CLAMDFFT 1)
endif()
if(WITH_OPENCLAMDBLAS)
set(HAVE_CLAMDBLAS 1)
endif()
endif()
# ----------------------------------------------------------------------------
@@ -452,23 +463,25 @@ add_subdirectory(doc)
add_subdirectory(data)
# extra applications
add_subdirectory(apps)
if(BUILD_opencv_apps)
add_subdirectory(apps)
endif()
# examples
if(BUILD_EXAMPLES OR BUILD_ANDROID_EXAMPLES OR INSTALL_PYTHON_EXAMPLES)
add_subdirectory(samples)
endif()
if(BUILD_ANDROID_SERVICE)
add_subdirectory(android/service)
if(ANDROID)
add_subdirectory(platforms/android/service)
endif()
if(BUILD_ANDROID_PACKAGE)
add_subdirectory(android/package)
add_subdirectory(platforms/android/package)
endif()
if (ANDROID)
add_subdirectory(android/libinfo)
add_subdirectory(platforms/android/libinfo)
endif()
# ----------------------------------------------------------------------------
@@ -519,10 +532,21 @@ if(NOT CMAKE_GENERATOR MATCHES "Xcode|Visual Studio")
endif()
# ========================== C/C++ options ==========================
if(CMAKE_CXX_COMPILER_VERSION)
set(OPENCV_COMPILER_STR "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} (ver ${CMAKE_CXX_COMPILER_VERSION})")
elseif(CMAKE_COMPILER_IS_CLANGCXX)
set(OPENCV_COMPILER_STR "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} (ver ${CMAKE_CLANG_REGEX_VERSION})")
elseif(CMAKE_COMPILER_IS_GNUCXX)
set(OPENCV_COMPILER_STR "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} (ver ${CMAKE_GCC_REGEX_VERSION})")
else()
set(OPENCV_COMPILER_STR "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1}")
endif()
string(STRIP "${OPENCV_COMPILER_STR}" OPENCV_COMPILER_STR)
status("")
status(" C/C++:")
status(" Built as dynamic libs?:" BUILD_SHARED_LIBS THEN YES ELSE NO)
status(" C++ Compiler:" CMAKE_COMPILER_IS_GNUCXX THEN "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} (ver ${CMAKE_GCC_REGEX_VERSION})" ELSE "${CMAKE_CXX_COMPILER}" )
status(" C++ Compiler:" ${OPENCV_COMPILER_STR})
status(" C++ flags (Release):" ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE})
status(" C++ flags (Debug):" ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_DEBUG})
status(" C Compiler:" ${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1})
@@ -551,7 +575,11 @@ foreach(m ${OPENCV_MODULES_DISABLED_AUTO})
list(APPEND __mdeps ${d})
endif()
endforeach()
list(APPEND OPENCV_MODULES_DISABLED_AUTO_ST "${m}(deps: ${__mdeps})")
if(__mdeps)
list(APPEND OPENCV_MODULES_DISABLED_AUTO_ST "${m}(deps: ${__mdeps})")
else()
list(APPEND OPENCV_MODULES_DISABLED_AUTO_ST "${m}")
endif()
endforeach()
string(REPLACE "opencv_" "" OPENCV_MODULES_DISABLED_AUTO_ST "${OPENCV_MODULES_DISABLED_AUTO_ST}")
@@ -565,31 +593,36 @@ if(ANDROID)
status("")
status(" Android: ")
status(" Android ABI:" ${ANDROID_ABI})
status(" STL type:" ${ANDROID_STL})
status(" Native API level:" android-${ANDROID_NATIVE_API_LEVEL})
status(" SDK target:" "${ANDROID_SDK_TARGET}")
android_get_compatible_target(android_sdk_target_status ${ANDROID_NATIVE_API_LEVEL} ${ANDROID_SDK_TARGET} 11)
status(" SDK target:" "${android_sdk_target_status}")
if(BUILD_WITH_ANDROID_NDK)
status(" Android NDK:" "${ANDROID_NDK} (toolchain: ${ANDROID_TOOLCHAIN_NAME})")
elseif(BUILD_WITH_STANDALONE_TOOLCHAIN)
status(" Android toolchain:" "${ANDROID_STANDALONE_TOOLCHAIN}")
endif()
status(" android tool:" ANDROID_EXECUTABLE THEN "${ANDROID_EXECUTABLE} (${ANDROID_TOOLS_Pkg_Desc})" ELSE NO)
status(" ant:" ANT_EXECUTABLE THEN "${ANT_EXECUTABLE} (ver ${ANT_VERSION})" ELSE NO)
status(" Google Play package:" BUILD_ANDROID_PACKAGE THEN YES ELSE NO)
status(" Google Play package:" BUILD_ANDROID_PACKAGE THEN YES ELSE NO)
status(" Android examples:" BUILD_ANDROID_EXAMPLES AND CAN_BUILD_ANDROID_PROJECTS THEN YES ELSE NO)
endif()
# ========================== GUI ==========================
status("")
status(" GUI: ")
if(HAVE_QT)
if(HAVE_QT5)
status(" QT 5.x:" HAVE_QT THEN "YES (ver ${Qt5Core_VERSION_STRING})" ELSE NO)
status(" QT OpenGL support:" HAVE_QT_OPENGL THEN "YES (${Qt5OpenGL_LIBRARIES} ${Qt5OpenGL_VERSION_STRING})" ELSE NO)
elseif(HAVE_QT)
status(" QT 4.x:" HAVE_QT THEN "YES (ver ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH} ${QT_EDITION})" ELSE NO)
status(" QT OpenGL support:" HAVE_QT_OPENGL THEN "YES (${QT_QTOPENGL_LIBRARY})" ELSE NO)
else()
if(DEFINED WITH_QT)
status(" QT 4.x:" NO)
status(" QT:" NO)
endif()
if(WIN32)
status(" Win32 UI:" YES)
if(DEFINED WITH_WIN32UI)
status(" Win32 UI:" HAVE_WIN32UI THEN YES ELSE NO)
else()
if(APPLE)
if(WITH_CARBON)
@@ -646,6 +679,10 @@ endif()
status("")
status(" Video I/O:")
if (DEFINED WITH_VFW)
status(" Video for Windows:" HAVE_VFW THEN YES ELSE NO)
endif(DEFINED WITH_VFW)
if(DEFINED WITH_1394)
status(" DC1394 1.x:" HAVE_DC1394 THEN "YES (ver ${ALIASOF_libdc1394_VERSION})" ELSE NO)
status(" DC1394 2.x:" HAVE_DC1394_2 THEN "YES (ver ${ALIASOF_libdc1394-2_VERSION})" ELSE NO)
@@ -698,7 +735,7 @@ if(DEFINED WITH_PVAPI)
endif(DEFINED WITH_PVAPI)
if(DEFINED WITH_GIGEAPI)
status(" GigEVisionSDK:" HAVE_GIGE_API THEN YES ELSE NO)
status(" GigEVisionSDK:" HAVE_GIGE_API THEN YES ELSE NO)
endif(DEFINED WITH_GIGEAPI)
if(DEFINED WITH_QUICKTIME)
@@ -719,16 +756,22 @@ if(DEFINED WITH_V4L)
endif()
if(HAVE_CAMV4L2)
set(HAVE_CAMV4L2_STR "YES")
elseif(HAVE_VIDEOIO)
set(HAVE_CAMV4L2_STR "YES(videoio)")
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}")
ELSE "${HAVE_CAMV4L_STR}/${HAVE_CAMV4L2_STR}")
endif(DEFINED WITH_V4L)
if(DEFINED WITH_VIDEOINPUT)
status(" DirectShow:" HAVE_VIDEOINPUT THEN YES ELSE NO)
endif(DEFINED WITH_VIDEOINPUT)
if(DEFINED WITH_DSHOW)
status(" DirectShow:" HAVE_DSHOW THEN YES ELSE NO)
endif(DEFINED WITH_DSHOW)
if(DEFINED WITH_MSMF)
status(" Media Foundation:" HAVE_MSMF THEN YES ELSE NO)
endif(DEFINED WITH_MSMF)
if(DEFINED WITH_XIMEA)
status(" XIMEA:" HAVE_XIMEA THEN YES ELSE NO)
@@ -742,46 +785,51 @@ endif(DEFINED WITH_XINE)
status("")
status(" Other third-party libraries:")
if(DEFINED WITH_IPP)
if(WITH_IPP AND IPP_FOUND)
status(" Use IPP:" "${IPP_LATEST_VERSION_STR} [${IPP_LATEST_VERSION_MAJOR}.${IPP_LATEST_VERSION_MINOR}.${IPP_LATEST_VERSION_BUILD}]")
status(" at:" "${IPP_ROOT_DIR}")
else()
status(" Use IPP:" WITH_IPP AND NOT IPP_FOUND THEN "IPP not found" ELSE NO)
endif()
endif(DEFINED WITH_IPP)
if(WITH_IPP AND IPP_FOUND)
status(" Use IPP:" "${IPP_LATEST_VERSION_STR} [${IPP_LATEST_VERSION_MAJOR}.${IPP_LATEST_VERSION_MINOR}.${IPP_LATEST_VERSION_BUILD}]")
status(" at:" "${IPP_ROOT_DIR}")
else()
status(" Use IPP:" WITH_IPP AND NOT IPP_FOUND THEN "IPP not found" ELSE NO)
endif()
if(DEFINED WITH_TBB)
status(" Use TBB:" HAVE_TBB THEN "YES (ver ${TBB_VERSION_MAJOR}.${TBB_VERSION_MINOR} interface ${TBB_INTERFACE_VERSION})" ELSE NO)
endif(DEFINED WITH_TBB)
if(DEFINED WITH_CSTRIPES)
status(" Use C=:" HAVE_CSTRIPES THEN YES ELSE NO)
endif(DEFINED WITH_CSTRIPES)
if(DEFINED WITH_CUDA)
status(" Use Cuda:" HAVE_CUDA THEN "YES (ver ${CUDA_VERSION_STRING})" ELSE NO)
endif(DEFINED WITH_CUDA)
status(" Use OpenCL:" HAVE_OPENCL THEN YES ELSE NO)
status(" Use Eigen:" HAVE_EIGEN THEN "YES (ver ${EIGEN_WORLD_VERSION}.${EIGEN_MAJOR_VERSION}.${EIGEN_MINOR_VERSION})" ELSE NO)
status(" Use Eigen:" HAVE_EIGEN THEN "YES (ver ${EIGEN_WORLD_VERSION}.${EIGEN_MAJOR_VERSION}.${EIGEN_MINOR_VERSION})" ELSE NO)
status(" Use TBB:" HAVE_TBB THEN "YES (ver ${TBB_VERSION_MAJOR}.${TBB_VERSION_MINOR} interface ${TBB_INTERFACE_VERSION})" ELSE NO)
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 Cuda:" HAVE_CUDA THEN "YES (ver ${CUDA_VERSION_STRING})" ELSE NO)
status(" Use OpenCL:" HAVE_OPENCL THEN YES ELSE NO)
if(HAVE_CUDA)
status("")
status(" NVIDIA CUDA")
status(" Use CUFFT:" HAVE_CUFFT THEN YES ELSE NO)
status(" Use CUBLAS:" HAVE_CUBLAS THEN YES ELSE NO)
status(" Use CUFFT:" HAVE_CUFFT THEN YES ELSE NO)
status(" Use CUBLAS:" HAVE_CUBLAS THEN YES ELSE NO)
status(" USE NVCUVID:" HAVE_NVCUVID THEN YES ELSE NO)
status(" NVIDIA GPU arch:" ${OPENCV_CUDA_ARCH_BIN})
status(" NVIDIA PTX archs:" ${OPENCV_CUDA_ARCH_PTX})
status(" Use fast math:" CUDA_FAST_MATH THEN YES ELSE NO)
endif()
if(HAVE_OPENCL)
status("")
status(" OpenCL")
if(OPENCL_INCLUDE_DIR)
status(" Include path:" ${OPENCL_INCLUDE_DIRS})
endif()
if(OPENCL_LIBRARIES)
status(" libraries:" ${OPENCL_LIBRARIES})
endif()
status(" Use AMD FFT:" HAVE_CLAMDFFT THEN YES ELSE NO)
status(" Use AMD BLAS:" HAVE_CLAMDBLAS THEN YES ELSE NO)
endif()
# ========================== python ==========================
status("")
status(" Python:")
status(" Interpreter:" PYTHON_EXECUTABLE THEN "${PYTHON_EXECUTABLE} (ver ${PYTHON_VERSION_FULL})" ELSE NO)
status(" Interpreter:" PYTHON_EXECUTABLE THEN "${PYTHON_EXECUTABLE} (ver ${PYTHON_VERSION_FULL})" ELSE NO)
if(BUILD_opencv_python)
if(PYTHONLIBS_VERSION_STRING)
status(" Libraries:" HAVE_opencv_python THEN "${PYTHON_LIBRARIES} (ver ${PYTHONLIBS_VERSION_STRING})" ELSE NO)
@@ -792,6 +840,15 @@ if(BUILD_opencv_python)
status(" packages path:" PYTHON_EXECUTABLE THEN "${PYTHON_PACKAGES_PATH}" ELSE "-")
endif()
# ========================== java ==========================
status("")
status(" Java:")
status(" ant:" ANT_EXECUTABLE THEN "${ANT_EXECUTABLE} (ver ${ANT_VERSION})" ELSE NO)
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)
# ========================== documentation ==========================
if(BUILD_DOCS)
status("")
@@ -810,12 +867,7 @@ status("")
status(" Tests and samples:")
status(" Tests:" BUILD_TESTS AND HAVE_opencv_ts THEN YES ELSE NO)
status(" Performance tests:" BUILD_PERF_TESTS AND HAVE_opencv_ts THEN YES ELSE NO)
status(" Examples:" BUILD_EXAMPLES THEN YES ELSE NO)
if(ANDROID)
status(" Android tests:" BUILD_TESTS AND CAN_BUILD_ANDROID_PROJECTS THEN YES ELSE NO)
status(" Android examples:" BUILD_ANDROID_EXAMPLES AND CAN_BUILD_ANDROID_PROJECTS THEN YES ELSE NO)
endif()
status(" C/C++ Examples:" BUILD_EXAMPLES THEN YES ELSE NO)
# ========================== auxiliary ==========================
status("")
+11
Ver Arquivo
@@ -4,3 +4,14 @@ Homepage: http://opencv.org
Online docs: http://docs.opencv.org
Q&A forum: http://answers.opencv.org
Dev zone: http://code.opencv.org
Please read before starting work on a pull request:
http://code.opencv.org/projects/opencv/wiki/How_to_contribute
Summary of guidelines:
* One pull request per issue;
* Choose the right base branch;
* Include tests and documentation;
* Clean up "oops" commits before submitting;
* Follow the coding style guide.
-6
Ver Arquivo
@@ -1,6 +0,0 @@
********
Java API
********
`Java API reference external link (JavaDoc) <http://docs.opencv.org/java/>`_
-130
Ver Arquivo
@@ -1,130 +0,0 @@
#!/usr/bin/python
import os
import sys
ANDROID_SDK_PATH = "/opt/android-sdk-linux"
ANDROID_NDK_PATH = None
INSTALL_DIRECTORY = None
CLASS_PATH = None
TMP_HEADER_PATH="tmp_include"
HEADER_EXTS = set(['h', 'hpp'])
SYS_INCLUDES = ["platforms/android-8/arch-arm/usr/include", "sources/cxx-stl/gnu-libstdc++/include", "sources/cxx-stl/gnu-libstdc++/libs/armeabi/include"]
PROJECT_NAME = "OpenCV-branch"
TARGET_LIBS = ["libopencv_java.so"]
ARCH = "armeabi"
GCC_OPTIONS = "-fpermissive"
EXCLUDE_HEADERS = set(["hdf5.h", "eigen.hpp", "cxeigen.hpp"]);
def FindClasses(root, prefix):
classes = []
if ("" != prefix):
prefix = prefix + "."
for path in os.listdir(root):
currentPath = os.path.join(root, path)
if (os.path.isdir(currentPath)):
classes += FindClasses(currentPath, prefix + path)
else:
name = str.split(path, ".")[0]
ext = str.split(path, ".")[1]
if (ext == "class"):
#print("class: %s" % (prefix + name))
classes.append(prefix+name)
return classes
def FindHeaders(root):
headers = []
for path in os.listdir(root):
currentPath = os.path.join(root, path)
if (os.path.isdir(currentPath)):
headers += FindHeaders(currentPath)
else:
ext = str.split(path, ".")[-1]
#print("%s: \"%s\"" % (currentPath, ext))
if (ext in HEADER_EXTS):
#print("Added as header file")
if (path not in EXCLUDE_HEADERS):
headers.append(currentPath)
return headers
if (len(sys.argv) < 3):
print("Error: Invalid command line arguments")
exit(-1)
INSTALL_DIRECTORY = sys.argv[1]
PROJECT_NAME = sys.argv[2]
CLASS_PATH = os.path.join(INSTALL_DIRECTORY, "sdk/java/bin/classes")
if (not os.path.exists(CLASS_PATH)):
print("Error: no java classes found in \"%s\"" % CLASS_PATH)
exit(-2)
if (os.environ.has_key("NDK_ROOT")):
ANDROID_NDK_PATH = os.environ["NDK_ROOT"];
print("Using Android NDK from NDK_ROOT (\"%s\")" % ANDROID_NDK_PATH)
if (not ANDROID_NDK_PATH):
pipe = os.popen("which ndk-build")
tmp = str.strip(pipe.readline(), "\n")
while(not tmp):
tmp = str.strip(pipe.readline(), "\n")
pipe.close()
ANDROID_NDK_PATH = os.path.split(tmp)[0]
print("Using Android NDK from PATH (\"%s\")" % ANDROID_NDK_PATH)
print("Using Android SDK from \"%s\"" % ANDROID_SDK_PATH)
outputFileName = PROJECT_NAME + ".xml"
try:
outputFile = open(outputFileName, "w")
except:
print("Error: Cannot open output file \"%s\" for writing" % outputFileName)
allJavaClasses = FindClasses(CLASS_PATH, "")
if (not allJavaClasses):
print("Error: No Java classes found :(")
exit(-1)
if (not os.path.exists(TMP_HEADER_PATH)):
os.makedirs(os.path.join(os.getcwd(), TMP_HEADER_PATH))
print("Generating JNI headers for Java API ...")
AndroidJavaDeps = os.path.join(ANDROID_SDK_PATH, "platforms/android-11/android.jar")
for currentClass in allJavaClasses:
os.system("javah -d %s -classpath %s:%s %s" % (TMP_HEADER_PATH, CLASS_PATH, AndroidJavaDeps, currentClass))
print("Building JNI headers list ...")
jniHeaders = FindHeaders(TMP_HEADER_PATH)
#print(jniHeaders)
print("Building Native OpenCV header list ...")
cHeaders = FindHeaders(os.path.join(INSTALL_DIRECTORY, "sdk/native/jni/include/opencv"))
cppHeaders = FindHeaders(os.path.join(INSTALL_DIRECTORY, "sdk/native/jni/include/opencv2"))
#print(cHeaders)
#print(cppHeaders)
print("Writing config file ...")
outputFile.write("<descriptor>\n\n<version>\n\t%s\n</version>\n\n<headers>\n" % PROJECT_NAME)
outputFile.write("\t" + "\n\t".join(cHeaders))
outputFile.write("\n\t" + "\n\t".join(cppHeaders))
outputFile.write("\n\t" + "\n\t".join(jniHeaders))
outputFile.write("\n</headers>\n\n")
includes = [os.path.join(INSTALL_DIRECTORY, "sdk", "native", "jni", "include"),
os.path.join(INSTALL_DIRECTORY, "sdk", "native", "jni", "include", "opencv"),
os.path.join(INSTALL_DIRECTORY, "sdk", "native", "jni", "include", "opencv2")]
for inc in SYS_INCLUDES:
includes.append(os.path.join(ANDROID_NDK_PATH, inc))
outputFile.write("<include_paths>\n\t%s\n</include_paths>\n\n" % "\n\t".join(includes))
libraries = []
for lib in TARGET_LIBS:
libraries.append(os.path.join(INSTALL_DIRECTORY, "sdk/native/libs", ARCH, lib))
outputFile.write("<libs>\n\t%s\n</libs>\n\n" % "\n\t".join(libraries))
outputFile.write("<gcc_options>\n\t%s\n</gcc_options>\n\n</descriptor>" % GCC_OPTIONS)
print("done!")
-90
Ver Arquivo
@@ -1,90 +0,0 @@
@ECHO OFF
:: enable command extensions
VERIFY BADVALUE 2>NUL
SETLOCAL ENABLEEXTENSIONS || (ECHO Unable to enable command extensions. & EXIT \B)
:: build environment
SET SOURCE_DIR=%cd%
IF EXIST .\android.toolchain.cmake (SET BUILD_OPENCV=1) ELSE (SET BUILD_OPENCV=0)
IF EXIST .\jni\nul (SET BUILD_JAVA_PART=1) ELSE (SET BUILD_JAVA_PART=0)
:: load configuration
PUSHD %~dp0
SET SCRIPTS_DIR=%cd%
IF EXIST .\wincfg.cmd CALL .\wincfg.cmd
POPD
:: inherit old names
IF NOT DEFINED CMAKE SET CMAKE=%CMAKE_EXE%
IF NOT DEFINED MAKE SET MAKE=%MAKE_EXE%
:: defaults
IF NOT DEFINED BUILD_DIR SET BUILD_DIR=build
IF NOT DEFINED ANDROID_ABI SET ANDROID_ABI=armeabi-v7a
SET OPENCV_BUILD_DIR=%SCRIPTS_DIR%\..\%BUILD_DIR%
:: check that all required variables defined
PUSHD .
IF NOT DEFINED ANDROID_NDK (ECHO. & ECHO You should set an environment variable ANDROID_NDK to the full path to your copy of Android NDK & GOTO end)
(CD "%ANDROID_NDK%") || (ECHO. & ECHO Directory "%ANDROID_NDK%" specified by ANDROID_NDK variable does not exist & GOTO end)
IF NOT EXIST "%CMAKE%" (ECHO. & ECHO You should set an environment variable CMAKE to the full path to cmake executable & GOTO end)
IF NOT EXIST "%MAKE%" (ECHO. & ECHO You should set an environment variable MAKE to the full path to native port of make executable & GOTO end)
IF NOT %BUILD_JAVA_PART%==1 GOTO required_variables_checked
IF NOT DEFINED ANDROID_SDK (ECHO. & ECHO You should set an environment variable ANDROID_SDK to the full path to your copy of Android SDK & GOTO end)
(CD "%ANDROID_SDK%" 2>NUL) || (ECHO. & ECHO Directory "%ANDROID_SDK%" specified by ANDROID_SDK variable does not exist & GOTO end)
IF NOT DEFINED ANT_DIR (ECHO. & ECHO You should set an environment variable ANT_DIR to the full path to Apache Ant root & GOTO end)
(CD "%ANT_DIR%" 2>NUL) || (ECHO. & ECHO Directory "%ANT_DIR%" specified by ANT_DIR variable does not exist & GOTO end)
IF NOT DEFINED JAVA_HOME (ECHO. & ECHO You should set an environment variable JAVA_HOME to the full path to JDK & GOTO end)
(CD "%JAVA_HOME%" 2>NUL) || (ECHO. & ECHO Directory "%JAVA_HOME%" specified by JAVA_HOME variable does not exist & GOTO end)
:required_variables_checked
POPD
:: check for ninja
echo "%MAKE%"|findstr /i ninja >nul:
IF %errorlevel%==1 (SET BUILD_WITH_NINJA=0) ELSE (SET BUILD_WITH_NINJA=1)
IF %BUILD_WITH_NINJA%==1 (SET CMAKE_GENERATOR=Ninja) ELSE (SET CMAKE_GENERATOR=MinGW Makefiles)
:: create build dir
IF DEFINED REBUILD rmdir /S /Q "%BUILD_DIR%" 2>NUL
MKDIR "%BUILD_DIR%" 2>NUL
PUSHD "%BUILD_DIR%" || (ECHO. & ECHO Directory "%BUILD_DIR%" is not found & GOTO end)
:: run cmake
ECHO. & ECHO Runnning cmake...
ECHO ANDROID_ABI=%ANDROID_ABI%
ECHO.
IF NOT %BUILD_OPENCV%==1 GOTO other-cmake
:opencv-cmake
("%CMAKE%" -G"%CMAKE_GENERATOR%" -DANDROID_ABI="%ANDROID_ABI%" -DCMAKE_TOOLCHAIN_FILE="%SOURCE_DIR%"\android.toolchain.cmake -DCMAKE_MAKE_PROGRAM="%MAKE%" %* "%SOURCE_DIR%\..") && GOTO cmakefin
ECHO. & ECHO cmake failed & GOTO end
:other-cmake
("%CMAKE%" -G"%CMAKE_GENERATOR%" -DANDROID_ABI="%ANDROID_ABI%" -DOpenCV_DIR="%OPENCV_BUILD_DIR%" -DCMAKE_TOOLCHAIN_FILE="%OPENCV_BUILD_DIR%\..\android.toolchain.cmake" -DCMAKE_MAKE_PROGRAM="%MAKE%" %* "%SOURCE_DIR%") && GOTO cmakefin
ECHO. & ECHO cmake failed & GOTO end
:cmakefin
:: run make
ECHO. & ECHO Building native libs...
IF %BUILD_WITH_NINJA%==0 ("%MAKE%" -j %NUMBER_OF_PROCESSORS% VERBOSE=%VERBOSE%) || (ECHO. & ECHO make failed & GOTO end)
IF %BUILD_WITH_NINJA%==1 ("%MAKE%") || (ECHO. & ECHO ninja failed & GOTO end)
IF NOT %BUILD_JAVA_PART%==1 GOTO end
POPD && PUSHD %SOURCE_DIR%
:: configure java part
ECHO. & ECHO Updating Android project...
(CALL "%ANDROID_SDK%\tools\android" update project --name %PROJECT_NAME% --path .) || (ECHO. & ECHO failed to update android project & GOTO end)
:: compile java part
ECHO. & ECHO Compiling Android project...
(CALL "%ANT_DIR%\bin\ant" debug) || (ECHO. & ECHO failed to compile android project & GOTO end)
:end
POPD
ENDLOCAL
-5
Ver Arquivo
@@ -1,5 +0,0 @@
@ECHO OFF
PUSHD %~dp0..
CALL .\scripts\build.cmd %* -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
POPD
-8
Ver Arquivo
@@ -1,8 +0,0 @@
#!/bin/sh
cd `dirname $0`/..
mkdir -p build_armeabi
cd build_armeabi
cmake -DANDROID_ABI=armeabi -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake $@ ../..
-8
Ver Arquivo
@@ -1,8 +0,0 @@
#!/bin/sh
cd `dirname $0`/..
mkdir -p build_mips
cd build_mips
cmake -DANDROID_ABI=mips -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake $@ ../..
-8
Ver Arquivo
@@ -1,8 +0,0 @@
#!/bin/sh
cd `dirname $0`/..
mkdir -p build_neon
cd build_neon
cmake -DANDROID_ABI="armeabi-v7a with NEON" -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake $@ ../..
-8
Ver Arquivo
@@ -1,8 +0,0 @@
#!/bin/sh
cd `dirname $0`/..
mkdir -p build_service
cd build_service
cmake -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake -DANDROID_TOOLCHAIN_NAME="arm-linux-androideabi-4.4.3" -DANDROID_STL=stlport_static -DANDROID_STL_FORCE_FEATURES=OFF -DBUILD_ANDROID_SERVICE=ON -DANDROID_SOURCE_TREE=~/Projects/AndroidSource/ServiceStub/ $@ ../..
-9
Ver Arquivo
@@ -1,9 +0,0 @@
#!/bin/sh
cd `dirname $0`/..
mkdir -p build_x86
cd build_x86
cmake -DANDROID_ABI=x86 -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake $@ ../..
-30
Ver Arquivo
@@ -1,30 +0,0 @@
:: variables required for OpenCV build ::
:: Note: all pathes should be specified without tailing slashes!
SET ANDROID_NDK=C:\full\path\to\your\copy\of\android\NDK\android-ndk-r7b
SET CMAKE_EXE=C:\full\path\to\cmake\utility\cmake.exe
SET MAKE_EXE=%ANDROID_NDK%\prebuilt\windows\bin\make.exe
:: variables required for android-opencv build ::
SET ANDROID_SDK=C:\full\path\to\your\copy\of\android\SDK\android-sdk-windows
SET ANT_DIR=C:\full\path\to\ant\directory\apache-ant-1.8.2
SET JAVA_HOME=C:\full\path\to\JDK\jdk1.6.0_25
:: configuration options ::
:::: general ARM-V7 settings
SET ANDROID_ABI=armeabi-v7a
SET BUILD_DIR=build
:::: uncomment following lines to compile for old emulator or old device
::SET ANDROID_ABI=armeabi
::SET BUILD_DIR=build_armeabi
:::: uncomment following lines to compile for ARM-V7 with NEON support
::SET ANDROID_ABI=armeabi-v7a with NEON
::SET BUILD_DIR=build_neon
:::: uncomment following lines to compile for x86
::SET ANDROID_ABI=x86
::SET BUILD_DIR=build_x86
:::: other options
::SET ANDROID_NATIVE_API_LEVEL=8 &:: android-3 is enough for native part of OpenCV but android-8 is required for Java API
-2
Ver Arquivo
@@ -1,2 +0,0 @@
add_subdirectory(engine)
#add_subdirectory(engine_test)
-22
Ver Arquivo
@@ -1,22 +0,0 @@
***************
Package Content
***************
The package provides new OpenCV SDK that uses OpenCV Manager for library initialization. OpenCV Manager provides the following benefits:
* Less memory usage. All apps use the same binaries from service and do not keep native libs inside them self;
* Hardware specific optimizations for all supported platforms;
* Trusted OpenCV library source. All packages with OpenCV are published on Google Play service;
* Regular updates and bug fixes;
Package consists from Library Project for Java development with Eclipse, C++ headers and libraries for native application development, javadoc samples and prebuilt binaries for ARM and X86 platforms.
To try new SDK on serial device with Google Play just install sample package and follow application messages (Google Play service access will be needed).
TO start example on device without Google Play you need to install OpenCV manager package and OpenCV binary pack for your platform from apk folder before.
See docs/doc/tutorials/introduction/android_binary_package/android_binary_package.html and docs/android/refmain.html for details about service.
On-line documentation will be available at address: http://docs.opencv.org/trunk
********
Contacts
********
Please send all feedback to Alexander Smorkalov mailto: alexander.smorkalov@itseez.com
-40
Ver Arquivo
@@ -1,40 +0,0 @@
.. _Android_OpenCV_Manager_Intro:
************
Introduction
************
.. highlight:: java
OpenCV Manager is an Android service targeted to manage OpenCV library binaries on end users devices. It allows sharing the OpenCV dynamic libraries of different versions between applications on the same device. The Manager provides the following benefits\:
#. Less memory usage. All apps use the same binaries from service and do not keep native libs inside themselves;
#. Hardware specific optimizations for all supported platforms;
#. Trusted OpenCV library source. All packages with OpenCV are published on Google Play service;
#. Regular updates and bug fixes;
Usage model for target user
---------------------------
.. image:: img/AndroidAppUsageModel.png
First OpenCV app\:
#. Any OpenCV-dependent app is installed from Google Play marketplace or manually;
#. At the first launch, it suggests installing OpenCV Manager;
#. Then OpenCV Manager is downloaded and installed, using Google Play marketplace service.
#. When Manager has ben started, the application suggests installing OpenCV library for the target device trough Google Play marketplace if it is necessary;
#. After installation is finished, the app may be launched to perform common tasks.
Next OpenCV app\:
#. Any OpenCV-dependent app is installed from Google Play marketplace or manually;
#. At the first launch, the app starts as usually;
#. If the selected version is not installed, OpenCV Manager suggests installing OpenCV library for the target device trough Google Play marketplace;
#. After installation is finished, the app may be launched to perform common tasks.
OpenCV Manager structure
------------------------
.. image:: img/Structure.png
-89
Ver Arquivo
@@ -1,89 +0,0 @@
# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
clean:
-rm -rf $(BUILDDIR)/*
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/OpenCVEngine.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/OpenCVEngine.qhc"
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
"run these through (pdf)latex."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
@@ -1,204 +0,0 @@
#include "IOpenCVEngine.h"
#include "CommonPackageManager.h"
#include "HardwareDetector.h"
#include <utils/Log.h>
#include <algorithm>
#include <stdio.h>
#include <assert.h>
#undef LOG_TAG
#define LOG_TAG "CommonPackageManager"
using namespace std;
set<string> CommonPackageManager::GetInstalledVersions()
{
set<string> result;
vector<PackageInfo> installed_packages = GetInstalledPackages();
for (vector<PackageInfo>::const_iterator it = installed_packages.begin(); it != installed_packages.end(); ++it)
{
string version = it->GetVersion();
assert(!version.empty());
result.insert(version);
}
return result;
}
bool CommonPackageManager::CheckVersionInstalled(const std::string& version, int platform, int cpu_id)
{
bool result = false;
LOGD("CommonPackageManager::CheckVersionInstalled() begin");
PackageInfo target_package(version, platform, cpu_id);
LOGD("GetInstalledPackages() call");
vector<PackageInfo> packages = GetInstalledPackages();
for (vector<PackageInfo>::const_iterator it = packages.begin(); it != packages.end(); ++it)
{
LOGD("Found package: \"%s\"", it->GetFullName().c_str());
}
if (!packages.empty())
{
vector<PackageInfo>::const_iterator it = find(packages.begin(), packages.end(), target_package);
result = (it != packages.end());
}
LOGD("CommonPackageManager::CheckVersionInstalled() end");
return result;
}
bool CommonPackageManager::InstallVersion(const std::string& version, int platform, int cpu_id)
{
LOGD("CommonPackageManager::InstallVersion() begin");
PackageInfo package(version, platform, cpu_id);
return InstallPackage(package);
}
string CommonPackageManager::GetPackagePathByVersion(const std::string& version, int platform, int cpu_id)
{
string result;
PackageInfo target_package(version, platform, cpu_id);
vector<PackageInfo> all_packages = GetInstalledPackages();
vector<PackageInfo> packages;
for (vector<PackageInfo>::iterator it = all_packages.begin(); it != all_packages.end(); ++it)
{
LOGD("Check version \"%s\" compatibility with \"%s\"\n", version.c_str(), it->GetVersion().c_str());
if (IsVersionCompatible(version, it->GetVersion()))
{
LOGD("Compatible");
packages.push_back(*it);
}
else
{
LOGD("NOT Compatible");
}
}
if (!packages.empty())
{
vector<PackageInfo>::iterator found = find(packages.begin(), packages.end(), target_package);
if (packages.end() != found)
{
result = found->GetInstalationPath();
}
else
{
int OptRating = -1;
std::vector<std::pair<int, int> >& group = CommonPackageManager::ArmRating;
if ((cpu_id & ARCH_X86) || (cpu_id & ARCH_X64))
group = CommonPackageManager::IntelRating;
int HardwareRating = GetHardwareRating(platform, cpu_id, group);
LOGD("Current hardware platform %d, %d", platform, cpu_id);
if (-1 == HardwareRating)
{
LOGE("Cannot calculate rating for current hardware platform!");
}
else
{
for (vector<PackageInfo>::iterator it = packages.begin(); it != packages.end(); ++it)
{
int PackageRating = GetHardwareRating(it->GetPlatform(), it->GetCpuID(), group);
if (PackageRating >= 0)
{
if ((PackageRating <= HardwareRating) && (PackageRating > OptRating))
{
OptRating = PackageRating;
found = it;
}
}
}
if ((-1 != OptRating) && (packages.end() != found))
{
result = found->GetInstalationPath();
}
else
{
LOGI("Found package is incompatible with current hardware platform");
}
}
}
}
return result;
}
bool CommonPackageManager::IsVersionCompatible(const std::string& target_version, const std::string& package_version)
{
assert (target_version.size() == 3);
assert (package_version.size() == 3);
bool result = false;
// major version is the same and minor package version is above or the same as target.
if ((package_version[0] == target_version[0]) && (package_version[1] == target_version[1]) && (package_version[2] >= target_version[2]))
{
result = true;
}
return result;
}
int CommonPackageManager::GetHardwareRating(int platform, int cpu_id, const std::vector<std::pair<int, int> >& group)
{
int result = -1;
for (size_t i = 0; i < group.size(); i++)
{
if (group[i] == std::pair<int, int>(platform, cpu_id))
{
result = i;
break;
}
}
return result;
}
std::vector<std::pair<int, int> > CommonPackageManager::InitArmRating()
{
std::vector<std::pair<int, int> > result;
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv5));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv6));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv6 | FEATURES_HAS_VFPv3d16));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv6 | FEATURES_HAS_VFPv3));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv6 | FEATURES_HAS_VFPv3 | FEATURES_HAS_VFPv3d16));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3d16));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3d16 | FEATURES_HAS_VFPv3));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_NEON));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3d16 | FEATURES_HAS_NEON));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_NEON));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_VFPv3d16 | FEATURES_HAS_NEON));
result.push_back(std::pair<int, int>(PLATFORM_TEGRA2, ARCH_ARMv7 | FEATURES_HAS_VFPv3d16));
result.push_back(std::pair<int, int>(PLATFORM_TEGRA3, ARCH_ARMv7 | FEATURES_HAS_VFPv3 | FEATURES_HAS_NEON));
return result;
}
std::vector<std::pair<int, int> > CommonPackageManager::InitIntelRating()
{
std::vector<std::pair<int, int> > result;
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_X64));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_X86 | FEATURES_HAS_SSSE3));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_X86 | FEATURES_HAS_SSE2));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_X86 | FEATURES_HAS_SSE));
result.push_back(std::pair<int, int>(PLATFORM_UNKNOWN, ARCH_X86));
return result;
}
std::vector<std::pair<int, int> > CommonPackageManager::IntelRating = CommonPackageManager::InitIntelRating();
std::vector<std::pair<int, int> > CommonPackageManager::ArmRating = InitArmRating();
CommonPackageManager::~CommonPackageManager()
{
}
@@ -1,17 +0,0 @@
#ifndef __IPACKAGE_MANAGER__
#define __IPACKAGE_MANAGER__
#include <set>
#include <string>
class IPackageManager
{
public:
virtual std::set<std::string> GetInstalledVersions() = 0;
virtual bool CheckVersionInstalled(const std::string& version, int platform, int cpu_id) = 0;
virtual bool InstallVersion(const std::string&, int platform, int cpu_id) = 0;
virtual std::string GetPackagePathByVersion(const std::string&, int platform, int cpu_id) = 0;
virtual ~IPackageManager(){};
};
#endif
@@ -1,26 +0,0 @@
package org.opencv.engine;
import android.os.IBinder;
public class BinderConnector
{
public BinderConnector(MarketConnector Market)
{
Init(Market);
}
public native IBinder Connect();
public boolean Disconnect()
{
Final();
return true;
}
static
{
System.loadLibrary("OpenCVEngine");
System.loadLibrary("OpenCVEngine_jni");
}
private native boolean Init(MarketConnector Market);
public native void Final();
}
@@ -1,42 +0,0 @@
package org.opencv.engine;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class OpenCVEngineService extends Service
{
private static final String TAG = "OpenCVEngine/Service";
private IBinder mEngineInterface;
private MarketConnector mMarket;
private BinderConnector mNativeBinder;
public void onCreate()
{
Log.i(TAG, "Service starting");
super.onCreate();
Log.i(TAG, "Engine binder component creating");
mMarket = new MarketConnector(getBaseContext());
mNativeBinder = new BinderConnector(mMarket);
mEngineInterface = mNativeBinder.Connect();
Log.i(TAG, "Service started successfully");
}
public IBinder onBind(Intent intent)
{
Log.i(TAG, "Service onBind called for intent " + intent.toString());
return mEngineInterface;
}
public boolean onUnbind(Intent intent)
{
Log.i(TAG, "Service onUnbind called for intent " + intent.toString());
return true;
}
public void OnDestroy()
{
Log.i(TAG, "OpenCV Engine service destruction");
mNativeBinder.Disconnect();
}
}
-4
Ver Arquivo
@@ -1,7 +1,3 @@
if(IOS OR ANDROID)
return()
endif()
SET(OPENCV_HAARTRAINING_DEPS opencv_core opencv_imgproc opencv_highgui opencv_objdetect opencv_calib3d opencv_video opencv_features2d opencv_flann opencv_legacy)
ocv_check_dependencies(${OPENCV_HAARTRAINING_DEPS})
-4
Ver Arquivo
@@ -1,7 +1,3 @@
if(IOS OR ANDROID)
return()
endif()
SET(OPENCV_TRAINCASCADE_DEPS opencv_core opencv_ml opencv_imgproc opencv_objdetect opencv_highgui opencv_calib3d opencv_video opencv_features2d opencv_flann opencv_legacy)
ocv_check_dependencies(${OPENCV_TRAINCASCADE_DEPS})
+62 -41
Ver Arquivo
@@ -360,7 +360,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*buf->cols +
unsigned short* udst_idx = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
vi*sample_count + data_root->offset);
for( int i = 0; i < num_valid; i++ )
{
@@ -373,7 +373,7 @@ CvDTreeNode* CvCascadeBoostTrainData::subsample_data( const CvMat* _subsample_id
}
else
{
int* idst_idx = buf->data.i + root->buf_idx*buf->cols +
int* idst_idx = buf->data.i + root->buf_idx*get_length_subbuf() +
vi*sample_count + root->offset;
for( int i = 0; i < num_valid; i++ )
{
@@ -390,14 +390,14 @@ CvDTreeNode* CvCascadeBoostTrainData::subsample_data( const CvMat* _subsample_id
const int* src_lbls = get_cv_labels(data_root, (int*)(uchar*)inn_buf);
if (is_buf_16u)
{
unsigned short* udst = (unsigned short*)(buf->data.s + root->buf_idx*buf->cols +
unsigned short* udst = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
(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*buf->cols +
int* idst = buf->data.i + root->buf_idx*get_length_subbuf() +
(workVarCount-1)*sample_count + root->offset;
for( int i = 0; i < count; i++ )
idst[i] = src_lbls[sidx[i]];
@@ -407,14 +407,14 @@ CvDTreeNode* CvCascadeBoostTrainData::subsample_data( const CvMat* _subsample_id
const int* sample_idx_src = get_sample_indices(data_root, (int*)(uchar*)inn_buf);
if (is_buf_16u)
{
unsigned short* sample_idx_dst = (unsigned short*)(buf->data.s + root->buf_idx*buf->cols +
unsigned short* sample_idx_dst = (unsigned short*)(buf->data.s + root->buf_idx*get_length_subbuf() +
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*buf->cols +
int* sample_idx_dst = buf->data.i + root->buf_idx*get_length_subbuf() +
workVarCount*sample_count + root->offset;
for( int i = 0; i < count; i++ )
sample_idx_dst[i] = sample_idx_src[sidx[i]];
@@ -489,6 +489,10 @@ void CvCascadeBoostTrainData::setData( const CvFeatureEvaluator* _featureEvaluat
int* idst = 0;
unsigned short* udst = 0;
uint64 effective_buf_size = 0;
int effective_buf_height = 0, effective_buf_width = 0;
clear();
shared = true;
have_labels = true;
@@ -548,13 +552,28 @@ void CvCascadeBoostTrainData::setData( const CvFeatureEvaluator* _featureEvaluat
var_type->data.i[var_count] = cat_var_count;
var_type->data.i[var_count+1] = cat_var_count+1;
work_var_count = ( cat_var_count ? 0 : numPrecalcIdx ) + 1/*cv_lables*/;
buf_size = (work_var_count + 1) * sample_count/*sample_indices*/;
buf_count = 2;
if ( is_buf_16u )
buf = cvCreateMat( buf_count, buf_size, CV_16UC1 );
buf_size = -1; // the member buf_size is obsolete
effective_buf_size = (uint64)(work_var_count + 1)*(uint64)sample_count * buf_count; // this is the total size of "CvMat buf" to be allocated
effective_buf_width = sample_count;
effective_buf_height = work_var_count+1;
if (effective_buf_width >= effective_buf_height)
effective_buf_height *= buf_count;
else
buf = cvCreateMat( buf_count, buf_size, CV_32SC1 );
effective_buf_width *= buf_count;
if ((uint64)effective_buf_width * (uint64)effective_buf_height != effective_buf_size)
{
CV_Error(CV_StsBadArg, "The memory buffer cannot be allocated since its size exceeds integer fields limit");
}
if ( is_buf_16u )
buf = cvCreateMat( effective_buf_height, effective_buf_width, CV_16UC1 );
else
buf = cvCreateMat( effective_buf_height, effective_buf_width, CV_32SC1 );
cat_count = cvCreateMat( 1, cat_var_count + 1, CV_32SC1 );
@@ -609,7 +628,7 @@ void CvCascadeBoostTrainData::setData( const CvFeatureEvaluator* _featureEvaluat
priors_mult = cvCloneMat( priors );
counts = cvCreateMat( 1, get_num_classes(), CV_32SC1 );
direction = cvCreateMat( 1, sample_count, CV_8UC1 );
split_buf = cvCreateMat( 1, sample_count, CV_32SC1 );
split_buf = cvCreateMat( 1, sample_count, CV_32SC1 );//TODO: make a pointer
}
void CvCascadeBoostTrainData::free_train_data()
@@ -652,10 +671,10 @@ 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*buf->cols + vi*sample_count + n->offset;
*sortedIndices = buf->data.i + n->buf_idx*get_length_subbuf() + vi*sample_count + n->offset;
else
{
const unsigned short* shortIndices = (const unsigned short*)(buf->data.s + n->buf_idx*buf->cols +
const unsigned short* shortIndices = (const unsigned short*)(buf->data.s + n->buf_idx*get_length_subbuf() +
vi*sample_count + n->offset );
for( int i = 0; i < nodeSampleCount; i++ )
sortedIndicesBuf[i] = shortIndices[i];
@@ -747,7 +766,7 @@ float CvCascadeBoostTrainData::getVarValue( int vi, int si )
}
struct FeatureIdxOnlyPrecalc
struct FeatureIdxOnlyPrecalc : ParallelLoopBody
{
FeatureIdxOnlyPrecalc( const CvFeatureEvaluator* _featureEvaluator, CvMat* _buf, int _sample_count, bool _is_buf_16u )
{
@@ -757,11 +776,11 @@ struct FeatureIdxOnlyPrecalc
idst = _buf->data.i;
is_buf_16u = _is_buf_16u;
}
void operator()( const BlockedRange& range ) const
void operator()( const Range& range ) const
{
cv::AutoBuffer<float> valCache(sample_count);
float* valCachePtr = (float*)valCache;
for ( int fi = range.begin(); fi < range.end(); fi++)
for ( int fi = range.start; fi < range.end; fi++)
{
for( int si = 0; si < sample_count; si++ )
{
@@ -784,7 +803,7 @@ struct FeatureIdxOnlyPrecalc
bool is_buf_16u;
};
struct FeatureValAndIdxPrecalc
struct FeatureValAndIdxPrecalc : ParallelLoopBody
{
FeatureValAndIdxPrecalc( const CvFeatureEvaluator* _featureEvaluator, CvMat* _buf, Mat* _valCache, int _sample_count, bool _is_buf_16u )
{
@@ -795,9 +814,9 @@ struct FeatureValAndIdxPrecalc
idst = _buf->data.i;
is_buf_16u = _is_buf_16u;
}
void operator()( const BlockedRange& range ) const
void operator()( const Range& range ) const
{
for ( int fi = range.begin(); fi < range.end(); fi++)
for ( int fi = range.start; fi < range.end; fi++)
{
for( int si = 0; si < sample_count; si++ )
{
@@ -821,7 +840,7 @@ struct FeatureValAndIdxPrecalc
bool is_buf_16u;
};
struct FeatureValOnlyPrecalc
struct FeatureValOnlyPrecalc : ParallelLoopBody
{
FeatureValOnlyPrecalc( const CvFeatureEvaluator* _featureEvaluator, Mat* _valCache, int _sample_count )
{
@@ -829,9 +848,9 @@ struct FeatureValOnlyPrecalc
valCache = _valCache;
sample_count = _sample_count;
}
void operator()( const BlockedRange& range ) const
void operator()( const Range& range ) const
{
for ( int fi = range.begin(); fi < range.end(); fi++)
for ( int fi = range.start; fi < range.end; fi++)
for( int si = 0; si < sample_count; si++ )
valCache->at<float>(fi,si) = (*featureEvaluator)( fi, si );
}
@@ -845,12 +864,12 @@ void CvCascadeBoostTrainData::precalculate()
int minNum = MIN( numPrecalcVal, numPrecalcIdx);
double proctime = -TIME( 0 );
parallel_for( BlockedRange(numPrecalcVal, numPrecalcIdx),
FeatureIdxOnlyPrecalc(featureEvaluator, buf, sample_count, is_buf_16u!=0) );
parallel_for( BlockedRange(0, minNum),
FeatureValAndIdxPrecalc(featureEvaluator, buf, &valCache, sample_count, is_buf_16u!=0) );
parallel_for( BlockedRange(minNum, numPrecalcVal),
FeatureValOnlyPrecalc(featureEvaluator, &valCache, sample_count) );
parallel_for_( Range(numPrecalcVal, numPrecalcIdx),
FeatureIdxOnlyPrecalc(featureEvaluator, buf, sample_count, is_buf_16u!=0) );
parallel_for_( Range(0, minNum),
FeatureValAndIdxPrecalc(featureEvaluator, buf, &valCache, sample_count, is_buf_16u!=0) );
parallel_for_( Range(minNum, numPrecalcVal),
FeatureValOnlyPrecalc(featureEvaluator, &valCache, sample_count) );
cout << "Precalculation time: " << (proctime + TIME( 0 )) << endl;
}
@@ -1027,6 +1046,7 @@ void CvCascadeBoostTree::split_node_data( CvDTreeNode* node )
int newBufIdx = data->get_child_buf_idx( node );
int workVarCount = data->get_work_var_count();
CvMat* buf = data->buf;
size_t length_buf_row = data->get_length_subbuf();
cv::AutoBuffer<uchar> inn_buf(n*(3*sizeof(int)+sizeof(float)));
int* tempBuf = (int*)(uchar*)inn_buf;
bool splitInputData;
@@ -1070,7 +1090,7 @@ void CvCascadeBoostTree::split_node_data( CvDTreeNode* node )
if (data->is_buf_16u)
{
ushort *ldst, *rdst;
ldst = (ushort*)(buf->data.s + left->buf_idx*buf->cols +
ldst = (ushort*)(buf->data.s + left->buf_idx*length_buf_row +
vi*scount + left->offset);
rdst = (ushort*)(ldst + nl);
@@ -1096,9 +1116,9 @@ void CvCascadeBoostTree::split_node_data( CvDTreeNode* node )
else
{
int *ldst, *rdst;
ldst = buf->data.i + left->buf_idx*buf->cols +
ldst = buf->data.i + left->buf_idx*length_buf_row +
vi*scount + left->offset;
rdst = buf->data.i + right->buf_idx*buf->cols +
rdst = buf->data.i + right->buf_idx*length_buf_row +
vi*scount + right->offset;
// split sorted
@@ -1131,9 +1151,9 @@ void CvCascadeBoostTree::split_node_data( CvDTreeNode* node )
if (data->is_buf_16u)
{
unsigned short *ldst = (unsigned short *)(buf->data.s + left->buf_idx*buf->cols +
unsigned short *ldst = (unsigned short *)(buf->data.s + left->buf_idx*length_buf_row +
(workVarCount-1)*scount + left->offset);
unsigned short *rdst = (unsigned short *)(buf->data.s + right->buf_idx*buf->cols +
unsigned short *rdst = (unsigned short *)(buf->data.s + right->buf_idx*length_buf_row +
(workVarCount-1)*scount + right->offset);
for( int i = 0; i < n; i++ )
@@ -1154,9 +1174,9 @@ void CvCascadeBoostTree::split_node_data( CvDTreeNode* node )
}
else
{
int *ldst = buf->data.i + left->buf_idx*buf->cols +
int *ldst = buf->data.i + left->buf_idx*length_buf_row +
(workVarCount-1)*scount + left->offset;
int *rdst = buf->data.i + right->buf_idx*buf->cols +
int *rdst = buf->data.i + right->buf_idx*length_buf_row +
(workVarCount-1)*scount + right->offset;
for( int i = 0; i < n; i++ )
@@ -1184,9 +1204,9 @@ void CvCascadeBoostTree::split_node_data( CvDTreeNode* node )
if (data->is_buf_16u)
{
unsigned short* ldst = (unsigned short*)(buf->data.s + left->buf_idx*buf->cols +
unsigned short* ldst = (unsigned short*)(buf->data.s + left->buf_idx*length_buf_row +
workVarCount*scount + left->offset);
unsigned short* rdst = (unsigned short*)(buf->data.s + right->buf_idx*buf->cols +
unsigned short* rdst = (unsigned short*)(buf->data.s + right->buf_idx*length_buf_row +
workVarCount*scount + right->offset);
for (int i = 0; i < n; i++)
{
@@ -1205,9 +1225,9 @@ void CvCascadeBoostTree::split_node_data( CvDTreeNode* node )
}
else
{
int* ldst = buf->data.i + left->buf_idx*buf->cols +
int* ldst = buf->data.i + left->buf_idx*length_buf_row +
workVarCount*scount + left->offset;
int* rdst = buf->data.i + right->buf_idx*buf->cols +
int* rdst = buf->data.i + right->buf_idx*length_buf_row +
workVarCount*scount + right->offset;
for (int i = 0; i < n; i++)
{
@@ -1352,6 +1372,7 @@ void CvCascadeBoost::update_weights( CvBoostTree* tree )
sampleIdx = data->get_sample_indices( data->data_root, sampleIdxBuf );
}
CvMat* buf = data->buf;
size_t length_buf_row = data->get_length_subbuf();
if( !tree ) // before training the first tree, initialize weights and other parameters
{
int* classLabelsBuf = (int*)cur_inn_buf_pos; cur_inn_buf_pos = (uchar*)(classLabelsBuf + n);
@@ -1375,7 +1396,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*buf->cols +
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);
for( int i = 0; i < n; i++ )
{
@@ -1393,7 +1414,7 @@ void CvCascadeBoost::update_weights( CvBoostTree* tree )
}
else
{
int* labels = buf->data.i + data->data_root->buf_idx*buf->cols +
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;
for( int i = 0; i < n; i++ )
+4 -1
Ver Arquivo
@@ -47,6 +47,9 @@ macro(add_extra_compiler_option option)
endif()
endmacro()
# OpenCV fails some tests when 'char' is 'unsigned' by default
add_extra_compiler_option(-fsigned-char)
if(MINGW)
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40838
# here we are trying to workaround the problem
@@ -97,7 +100,7 @@ if(CMAKE_COMPILER_IS_GNUCXX)
endif()
# We need pthread's
if(UNIX AND NOT ANDROID)
if(UNIX AND NOT ANDROID AND NOT (APPLE AND CMAKE_COMPILER_IS_CLANGCXX))
add_extra_compiler_option(-pthread)
endif()
+24 -5
Ver Arquivo
@@ -176,7 +176,8 @@ macro(android_get_compatible_target VAR)
endmacro()
unset(__android_project_chain CACHE)
#add_android_project(target_name ${path} NATIVE_DEPS opencv_core LIBRARY_DEPS ${OpenCV_BINARY_DIR} SDK_TARGET 11)
# 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)
@@ -212,6 +213,16 @@ macro(add_android_project target path)
ocv_check_dependencies(${android_proj_NATIVE_DEPS} opencv_java)
endif()
if(EXISTS "${path}/jni/Android.mk" )
# find if native_app_glue is used
file(STRINGS "${path}/jni/Android.mk" NATIVE_APP_GLUE REGEX ".*(call import-module,android/native_app_glue)" )
if(NATIVE_APP_GLUE)
if(ANDROID_NATIVE_API_LEVEL LESS 9 OR NOT EXISTS "${ANDROID_NDK}/sources/android/native_app_glue")
set(OCV_DEPENDENCIES_FOUND FALSE)
endif()
endif()
endif()
if(OCV_DEPENDENCIES_FOUND AND android_proj_sdk_target AND ANDROID_EXECUTABLE AND ANT_EXECUTABLE AND ANDROID_TOOLS_Pkg_Revision GREATER 13 AND EXISTS "${path}/${ANDROID_MANIFEST_FILE}")
project(${target})
@@ -264,6 +275,7 @@ macro(add_android_project target path)
ocv_list_filterout(android_proj_jni_files "\\\\.svn")
if(android_proj_jni_files AND EXISTS ${path}/jni/Android.mk AND NOT DEFINED JNI_LIB_NAME)
# find local module name in Android.mk file to build native lib
file(STRINGS "${path}/jni/Android.mk" JNI_LIB_NAME REGEX "LOCAL_MODULE[ ]*:=[ ]*.*" )
string(REGEX REPLACE "LOCAL_MODULE[ ]*:=[ ]*([a-zA-Z_][a-zA-Z_0-9]*)[ ]*" "\\1" JNI_LIB_NAME "${JNI_LIB_NAME}")
@@ -271,6 +283,13 @@ macro(add_android_project target path)
ocv_include_modules_recurse(${android_proj_NATIVE_DEPS})
ocv_include_directories("${path}/jni")
if (NATIVE_APP_GLUE)
include_directories(${ANDROID_NDK}/sources/android/native_app_glue)
list(APPEND android_proj_jni_files ${ANDROID_NDK}/sources/android/native_app_glue/android_native_app_glue.c)
ocv_warnings_disable(CMAKE_C_FLAGS -Wstrict-prototypes -Wunused-parameter -Wmissing-prototypes)
set(android_proj_NATIVE_DEPS ${android_proj_NATIVE_DEPS} android)
endif()
add_library(${JNI_LIB_NAME} MODULE ${android_proj_jni_files})
target_link_libraries(${JNI_LIB_NAME} ${OPENCV_LINKER_LIBS} ${android_proj_NATIVE_DEPS})
@@ -280,9 +299,9 @@ macro(add_android_project target path)
)
get_target_property(android_proj_jni_location "${JNI_LIB_NAME}" LOCATION)
if (NOT (CMAKE_BUILD_TYPE MATCHES "debug"))
add_custom_command(TARGET ${JNI_LIB_NAME} POST_BUILD COMMAND ${CMAKE_STRIP} --strip-unneeded "${android_proj_jni_location}")
endif()
if (NOT (CMAKE_BUILD_TYPE MATCHES "debug"))
add_custom_command(TARGET ${JNI_LIB_NAME} POST_BUILD COMMAND ${CMAKE_STRIP} --strip-unneeded "${android_proj_jni_location}")
endif()
endif()
endif()
@@ -302,7 +321,7 @@ macro(add_android_project target path)
COMMAND ${CMAKE_COMMAND} -E touch "${android_proj_bin_dir}/bin/${target}-debug.apk" # needed because ant does not update the timestamp of updated apk
WORKING_DIRECTORY "${android_proj_bin_dir}"
MAIN_DEPENDENCY "${android_proj_bin_dir}/${ANDROID_MANIFEST_FILE}"
DEPENDS "${OpenCV_BINARY_DIR}/bin/.classes.jar.dephelper" opencv_java # as we are part of OpenCV we can just force this dependency
DEPENDS "${OpenCV_BINARY_DIR}/bin/classes.jar.dephelper" opencv_java # as we are part of OpenCV we can just force this dependency
DEPENDS ${android_proj_file_deps} ${JNI_LIB_NAME})
endif()
+9 -3
Ver Arquivo
@@ -16,10 +16,16 @@ find_host_program(ANT_EXECUTABLE NAMES ${ANT_NAME})
if(ANT_EXECUTABLE)
execute_process(COMMAND ${ANT_EXECUTABLE} -version
RESULT_VARIABLE ANT_ERROR_LEVEL
OUTPUT_VARIABLE ANT_VERSION_FULL
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" ANT_VERSION "${ANT_VERSION_FULL}")
set(ANT_VERSION "${ANT_VERSION}" CACHE INTERNAL "Detected ant vesion")
if (ANT_ERROR_LEVEL)
unset(ANT_EXECUTABLE)
unset(ANT_EXECUTABLE CACHE)
else()
string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" ANT_VERSION "${ANT_VERSION_FULL}")
set(ANT_VERSION "${ANT_VERSION}" CACHE INTERNAL "Detected ant vesion")
message(STATUS "Found apache ant ${ANT_VERSION}: ${ANT_EXECUTABLE}")
message(STATUS "Found apache ant ${ANT_VERSION}: ${ANT_EXECUTABLE}")
endif()
endif()
+109 -24
Ver Arquivo
@@ -3,17 +3,17 @@ if(${CMAKE_VERSION} VERSION_LESS "2.8.3")
return()
endif()
if (WIN32 AND NOT MSVC)
message(STATUS "CUDA compilation is disabled (due to only Visual Studio compiler suppoted on your platform).")
if(WIN32 AND NOT MSVC)
message(STATUS "CUDA compilation is disabled (due to only Visual Studio compiler supported on your platform).")
return()
endif()
if (CMAKE_COMPILER_IS_GNUCXX AND NOT APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
message(STATUS "CUDA compilation is disabled (due to Clang unsuppoted on your platform).")
if(CMAKE_COMPILER_IS_GNUCXX AND NOT APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
message(STATUS "CUDA compilation is disabled (due to Clang unsupported on your platform).")
return()
endif()
find_package(CUDA 4.1)
find_package(CUDA 4.2 QUIET)
if(CUDA_FOUND)
set(HAVE_CUDA 1)
@@ -26,15 +26,96 @@ if(CUDA_FOUND)
set(HAVE_CUBLAS 1)
endif()
message(STATUS "CUDA detected: " ${CUDA_VERSION})
if(${CUDA_VERSION_STRING} VERSION_GREATER "4.1")
set(CUDA_ARCH_BIN "1.1 1.2 1.3 2.0 2.1(2.0) 3.0" CACHE STRING "Specify 'real' GPU architectures to build binaries for, BIN(PTX) format is supported")
if(${CUDA_VERSION} VERSION_LESS "5.5")
find_cuda_helper_libs(npp)
else()
set(CUDA_ARCH_BIN "1.1 1.2 1.3 2.0 2.1(2.0)" CACHE STRING "Specify 'real' GPU architectures to build binaries for, BIN(PTX) format is supported")
# hack for CUDA 5.5
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm")
unset(CUDA_TOOLKIT_INCLUDE CACHE)
unset(CUDA_CUDART_LIBRARY CACHE)
unset(CUDA_cublas_LIBRARY CACHE)
unset(CUDA_cufft_LIBRARY CACHE)
unset(CUDA_npp_LIBRARY CACHE)
if(SOFTFP)
set(cuda_arm_path "${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-gnueabi")
else()
set(cuda_arm_path "${CUDA_TOOLKIT_ROOT_DIR}/targets/armv7-linux-gnueabihf")
endif()
set(CUDA_TOOLKIT_INCLUDE "${cuda_arm_path}/include" CACHE PATH "include path")
set(CUDA_INCLUDE_DIRS ${CUDA_TOOLKIT_INCLUDE})
set(cuda_arm_library_path "${cuda_arm_path}/lib")
set(CUDA_CUDART_LIBRARY "${cuda_arm_library_path}/libcudart.so" CACHE FILEPATH "cudart library")
set(CUDA_LIBRARIES ${CUDA_CUDART_LIBRARY})
set(CUDA_cublas_LIBRARY "${cuda_arm_library_path}/libcublas.so" CACHE FILEPATH "cublas library")
set(CUDA_cufft_LIBRARY "${cuda_arm_library_path}/libcufft.so" CACHE FILEPATH "cufft library")
set(CUDA_nppc_LIBRARY "${cuda_arm_library_path}/libnppc.so" CACHE FILEPATH "nppc library")
set(CUDA_nppi_LIBRARY "${cuda_arm_library_path}/libnppi.so" CACHE FILEPATH "nppi library")
set(CUDA_npps_LIBRARY "${cuda_arm_library_path}/libnpps.so" CACHE FILEPATH "npps library")
set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppi_LIBRARY};${CUDA_npps_LIBRARY}" CACHE STRING "npp library")
else()
unset(CUDA_npp_LIBRARY CACHE)
find_cuda_helper_libs(nppc)
find_cuda_helper_libs(nppi)
find_cuda_helper_libs(npps)
set(CUDA_npp_LIBRARY "${CUDA_nppc_LIBRARY};${CUDA_nppi_LIBRARY};${CUDA_npps_LIBRARY}" CACHE STRING "npp library")
endif()
endif()
set(CUDA_ARCH_PTX "2.0" CACHE STRING "Specify 'virtual' PTX architectures to build PTX intermediate code for")
if(WITH_NVCUVID)
find_cuda_helper_libs(nvcuvid)
set(HAVE_NVCUVID 1)
endif()
message(STATUS "CUDA detected: " ${CUDA_VERSION})
set(_generations "Fermi" "Kepler")
if(NOT CMAKE_CROSSCOMPILING)
list(APPEND _generations "Auto")
endif()
set(CUDA_GENERATION "" CACHE STRING "Build CUDA device code only for specific GPU architecture. Leave empty to build for all architectures.")
if( CMAKE_VERSION VERSION_GREATER "2.8" )
set_property( CACHE CUDA_GENERATION PROPERTY STRINGS "" ${_generations} )
endif()
if(CUDA_GENERATION)
if(NOT ";${_generations};" MATCHES ";${CUDA_GENERATION};")
string(REPLACE ";" ", " _generations "${_generations}")
message(FATAL_ERROR "ERROR: ${_generations} Generations are suppered.")
endif()
unset(CUDA_ARCH_BIN CACHE)
unset(CUDA_ARCH_PTX CACHE)
endif()
set(__cuda_arch_ptx "")
if(CUDA_GENERATION STREQUAL "Fermi")
set(__cuda_arch_bin "2.0 2.1(2.0)")
elseif(CUDA_GENERATION STREQUAL "Kepler")
set(__cuda_arch_bin "3.0")
elseif(CUDA_GENERATION STREQUAL "Auto")
execute_process( COMMAND "${CUDA_NVCC_EXECUTABLE}" "${OpenCV_SOURCE_DIR}/cmake/checks/OpenCVDetectCudaArch.cu" "--run"
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/"
RESULT_VARIABLE _nvcc_res OUTPUT_VARIABLE _nvcc_out
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT _nvcc_res EQUAL 0)
message(STATUS "Automatic detection of CUDA generation failed. Going to build for all known architectures.")
else()
set(__cuda_arch_bin "${_nvcc_out}")
endif()
endif()
if(NOT DEFINED __cuda_arch_bin)
set(__cuda_arch_bin "1.1 1.2 1.3 2.0 2.1(2.0) 3.0")
set(__cuda_arch_ptx "2.0 3.0")
endif()
set(CUDA_ARCH_BIN ${__cuda_arch_bin} CACHE STRING "Specify 'real' GPU architectures to build binaries for, BIN(PTX) format is supported")
set(CUDA_ARCH_PTX ${__cuda_arch_ptx} CACHE STRING "Specify 'virtual' PTX architectures to build PTX intermediate code for")
string(REGEX REPLACE "\\." "" ARCH_BIN_NO_POINTS "${CUDA_ARCH_BIN}")
string(REGEX REPLACE "\\." "" ARCH_PTX_NO_POINTS "${CUDA_ARCH_PTX}")
@@ -72,11 +153,15 @@ if(CUDA_FOUND)
# Tell NVCC to add PTX intermediate code for the specified architectures
string(REGEX MATCHALL "[0-9]+" ARCH_LIST "${ARCH_PTX_NO_POINTS}")
foreach(ARCH IN LISTS ARCH_LIST)
set(NVCC_FLAGS_EXTRA ${NVCC_FLAGS_EXTRA} -gencode arch=compute_${ARCH},code=compute_${ARCH})
set(OPENCV_CUDA_ARCH_PTX "${OPENCV_CUDA_ARCH_PTX} ${ARCH}")
set(OPENCV_CUDA_ARCH_FEATURES "${OPENCV_CUDA_ARCH_FEATURES} ${ARCH}")
endforeach()
foreach(ARCH IN LISTS ARCH_LIST)
set(NVCC_FLAGS_EXTRA ${NVCC_FLAGS_EXTRA} -gencode arch=compute_${ARCH},code=compute_${ARCH})
set(OPENCV_CUDA_ARCH_PTX "${OPENCV_CUDA_ARCH_PTX} ${ARCH}")
set(OPENCV_CUDA_ARCH_FEATURES "${OPENCV_CUDA_ARCH_FEATURES} ${ARCH}")
endforeach()
if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm")
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} --target-cpu-architecture=ARM")
endif()
# These vars will be processed in other scripts
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} ${NVCC_FLAGS_EXTRA})
@@ -84,7 +169,7 @@ if(CUDA_FOUND)
message(STATUS "CUDA NVCC target flags: ${CUDA_NVCC_FLAGS}")
OCV_OPTION(CUDA_FAST_MATH "Enable --use_fast_math for CUDA compiler " OFF)
OCV_OPTION(CUDA_FAST_MATH "Enable --use_fast_math for CUDA compiler " OFF)
if(CUDA_FAST_MATH)
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} --use_fast_math)
@@ -92,29 +177,29 @@ if(CUDA_FOUND)
mark_as_advanced(CUDA_BUILD_CUBIN CUDA_BUILD_EMULATION CUDA_VERBOSE_BUILD CUDA_SDK_ROOT_DIR)
unset(CUDA_npp_LIBRARY CACHE)
find_cuda_helper_libs(npp)
macro(ocv_cuda_compile VAR)
foreach(var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_DEBUG)
set(${var}_backup_in_cuda_compile_ "${${var}}")
# we reomove /EHa as it leasd warnings under windows
# we remove /EHa as it generates warnings under windows
string(REPLACE "/EHa" "" ${var} "${${var}}")
# we remove -ggdb3 flag as it leads to preprocessor errors when compiling CUDA files (CUDA 4.1)
string(REPLACE "-ggdb3" "" ${var} "${${var}}")
# we remove -Wsign-promo as it generates warnings under linux
string(REPLACE "-Wsign-promo" "" ${var} "${${var}}")
endforeach()
if (BUILD_SHARED_LIBS)
if(BUILD_SHARED_LIBS)
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} -Xcompiler -DCVAPI_EXPORTS)
endif()
if(UNIX OR APPLE)
set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} -Xcompiler -fPIC)
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} -Xcompiler -fPIC)
endif()
if(APPLE)
set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} -Xcompiler -fno-finite-math-only)
set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} -Xcompiler -fno-finite-math-only)
endif()
# disabled because of multiple warnings during building nvcc auto generated files
+79 -63
Ver Arquivo
@@ -5,15 +5,17 @@ if(CMAKE_CL_64)
set(MSVC64 1)
endif()
if(NOT APPLE)
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set(CMAKE_COMPILER_IS_GNUCXX 1)
set(ENABLE_PRECOMPILED_HEADERS OFF CACHE BOOL "" FORCE)
endif()
if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
set(CMAKE_COMPILER_IS_GNUCC 1)
set(ENABLE_PRECOMPILED_HEADERS OFF CACHE BOOL "" FORCE)
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set(CMAKE_COMPILER_IS_GNUCXX 1)
set(CMAKE_COMPILER_IS_CLANGCXX 1)
endif()
if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
set(CMAKE_COMPILER_IS_GNUCC 1)
set(CMAKE_COMPILER_IS_CLANGCC 1)
endif()
if((CMAKE_COMPILER_IS_CLANGCXX OR CMAKE_COMPILER_IS_CLANGCC) AND NOT CMAKE_GENERATOR MATCHES "Xcode")
set(ENABLE_PRECOMPILED_HEADERS OFF CACHE BOOL "" FORCE)
endif()
# ----------------------------------------------------------------------------
@@ -25,72 +27,86 @@ endif()
# the -fPIC flag should be used.
# ----------------------------------------------------------------------------
if(UNIX)
if (__ICL)
set(CV_ICC __ICL)
elseif(__ICC)
set(CV_ICC __ICC)
elseif(__ECL)
set(CV_ICC __ECL)
elseif(__ECC)
set(CV_ICC __ECC)
elseif(__INTEL_COMPILER)
set(CV_ICC __INTEL_COMPILER)
elseif(CMAKE_C_COMPILER MATCHES "icc")
set(CV_ICC icc_matches_c_compiler)
endif()
if (__ICL)
set(CV_ICC __ICL)
elseif(__ICC)
set(CV_ICC __ICC)
elseif(__ECL)
set(CV_ICC __ECL)
elseif(__ECC)
set(CV_ICC __ECC)
elseif(__INTEL_COMPILER)
set(CV_ICC __INTEL_COMPILER)
elseif(CMAKE_C_COMPILER MATCHES "icc")
set(CV_ICC icc_matches_c_compiler)
endif()
endif()
if(MSVC AND CMAKE_C_COMPILER MATCHES "icc")
set(CV_ICC __INTEL_COMPILER_FOR_WINDOWS)
endif()
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR (UNIX AND CV_ICC))
set(CV_COMPILER_IS_GNU TRUE)
else()
set(CV_COMPILER_IS_GNU FALSE)
set(CV_ICC __INTEL_COMPILER_FOR_WINDOWS)
endif()
# ----------------------------------------------------------------------------
# Detect GNU version:
# ----------------------------------------------------------------------------
if(CMAKE_COMPILER_IS_GNUCXX)
execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
OUTPUT_VARIABLE CMAKE_OPENCV_GCC_VERSION_FULL
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(CMAKE_COMPILER_IS_CLANGCXX)
set(CMAKE_GCC_REGEX_VERSION "4.2.1")
set(CMAKE_OPENCV_GCC_VERSION_MAJOR 4)
set(CMAKE_OPENCV_GCC_VERSION_MINOR 2)
set(CMAKE_OPENCV_GCC_VERSION 42)
set(CMAKE_OPENCV_GCC_VERSION_NUM 402)
execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -v
ERROR_VARIABLE CMAKE_OPENCV_GCC_INFO_FULL
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -v
ERROR_VARIABLE CMAKE_OPENCV_CLANG_VERSION_FULL
ERROR_STRIP_TRAILING_WHITESPACE)
# Typical output in CMAKE_OPENCV_GCC_VERSION_FULL: "c+//0 (whatever) 4.2.3 (...)"
# Look for the version number
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" CMAKE_GCC_REGEX_VERSION "${CMAKE_OPENCV_GCC_VERSION_FULL}")
if(NOT CMAKE_GCC_REGEX_VERSION)
string(REGEX MATCH "[0-9]+\\.[0-9]+" CMAKE_GCC_REGEX_VERSION "${CMAKE_OPENCV_GCC_VERSION_FULL}")
endif()
# Split the three parts:
string(REGEX MATCHALL "[0-9]+" CMAKE_OPENCV_GCC_VERSIONS "${CMAKE_GCC_REGEX_VERSION}")
list(GET CMAKE_OPENCV_GCC_VERSIONS 0 CMAKE_OPENCV_GCC_VERSION_MAJOR)
list(GET CMAKE_OPENCV_GCC_VERSIONS 1 CMAKE_OPENCV_GCC_VERSION_MINOR)
set(CMAKE_OPENCV_GCC_VERSION ${CMAKE_OPENCV_GCC_VERSION_MAJOR}${CMAKE_OPENCV_GCC_VERSION_MINOR})
math(EXPR CMAKE_OPENCV_GCC_VERSION_NUM "${CMAKE_OPENCV_GCC_VERSION_MAJOR}*100 + ${CMAKE_OPENCV_GCC_VERSION_MINOR}")
message(STATUS "Detected version of GNU GCC: ${CMAKE_OPENCV_GCC_VERSION} (${CMAKE_OPENCV_GCC_VERSION_NUM})")
if(WIN32)
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine
OUTPUT_VARIABLE CMAKE_OPENCV_GCC_TARGET_MACHINE
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(CMAKE_OPENCV_GCC_TARGET_MACHINE MATCHES "64")
set(MINGW64 1)
endif()
string(REGEX MATCH "version.*$" CMAKE_OPENCV_CLANG_VERSION_FULL "${CMAKE_OPENCV_CLANG_VERSION_FULL}")
string(REGEX MATCH "[0-9]+\\.[0-9]+" CMAKE_CLANG_REGEX_VERSION "${CMAKE_OPENCV_CLANG_VERSION_FULL}")
elseif(CMAKE_COMPILER_IS_GNUCXX)
execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
OUTPUT_VARIABLE CMAKE_OPENCV_GCC_VERSION_FULL
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${CMAKE_CXX_COMPILER_ARG1} -v
ERROR_VARIABLE CMAKE_OPENCV_GCC_INFO_FULL
OUTPUT_STRIP_TRAILING_WHITESPACE)
# Typical output in CMAKE_OPENCV_GCC_VERSION_FULL: "c+//0 (whatever) 4.2.3 (...)"
# Look for the version number
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" CMAKE_GCC_REGEX_VERSION "${CMAKE_OPENCV_GCC_VERSION_FULL}")
if(NOT CMAKE_GCC_REGEX_VERSION)
string(REGEX MATCH "[0-9]+\\.[0-9]+" CMAKE_GCC_REGEX_VERSION "${CMAKE_OPENCV_GCC_VERSION_FULL}")
endif()
# Split the three parts:
string(REGEX MATCHALL "[0-9]+" CMAKE_OPENCV_GCC_VERSIONS "${CMAKE_GCC_REGEX_VERSION}")
list(GET CMAKE_OPENCV_GCC_VERSIONS 0 CMAKE_OPENCV_GCC_VERSION_MAJOR)
list(GET CMAKE_OPENCV_GCC_VERSIONS 1 CMAKE_OPENCV_GCC_VERSION_MINOR)
set(CMAKE_OPENCV_GCC_VERSION ${CMAKE_OPENCV_GCC_VERSION_MAJOR}${CMAKE_OPENCV_GCC_VERSION_MINOR})
math(EXPR CMAKE_OPENCV_GCC_VERSION_NUM "${CMAKE_OPENCV_GCC_VERSION_MAJOR}*100 + ${CMAKE_OPENCV_GCC_VERSION_MINOR}")
message(STATUS "Detected version of GNU GCC: ${CMAKE_OPENCV_GCC_VERSION} (${CMAKE_OPENCV_GCC_VERSION_NUM})")
if(WIN32)
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine
OUTPUT_VARIABLE CMAKE_OPENCV_GCC_TARGET_MACHINE
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(CMAKE_OPENCV_GCC_TARGET_MACHINE MATCHES "amd64|x86_64|AMD64")
set(MINGW64 1)
endif()
endif()
endif()
if(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*" OR CMAKE_GENERATOR MATCHES "Visual Studio.*Win64")
set(X86_64 1)
if(MSVC64 OR MINGW64)
set(X86_64 1)
elseif(MINGW OR (MSVC AND NOT CMAKE_CROSSCOMPILING))
set(X86 1)
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)
set(X86 1)
elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "arm.*|ARM.*")
set(ARM 1)
endif()
+103 -69
Ver Arquivo
@@ -1,78 +1,112 @@
if(APPLE)
set(OPENCL_FOUND YES)
set(OPENCL_LIBRARIES "-framework OpenCL")
else()
#find_package(OpenCL QUIET)
if(WITH_OPENCLAMDFFT)
find_path(CLAMDFFT_INCLUDE_DIR
NAMES clAmdFft.h)
find_library(CLAMDFFT_LIBRARIES
NAMES clAmdFft.Runtime)
set(OPENCL_FOUND YES)
set(OPENCL_LIBRARY "-framework OpenCL" CACHE STRING "OpenCL library")
set(OPENCL_INCLUDE_DIR "" CACHE STRING "OpenCL include directory")
mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY)
else(APPLE)
#find_package(OpenCL QUIET)
if (NOT OPENCL_FOUND)
find_path(OPENCL_ROOT_DIR
NAMES OpenCL/cl.h CL/cl.h include/CL/cl.h include/nvidia-current/CL/cl.h
PATHS ENV OCLROOT ENV AMDAPPSDKROOT ENV CUDA_PATH ENV INTELOCLSDKROOT
DOC "OpenCL root directory"
NO_DEFAULT_PATH)
find_path(OPENCL_INCLUDE_DIR
NAMES OpenCL/cl.h CL/cl.h
HINTS ${OPENCL_ROOT_DIR}
PATH_SUFFIXES include include/nvidia-current
DOC "OpenCL include directory"
NO_DEFAULT_PATH)
if (X86_64)
set(OPENCL_POSSIBLE_LIB_SUFFIXES lib/Win64 lib/x86_64 lib/x64)
elseif (X86)
set(OPENCL_POSSIBLE_LIB_SUFFIXES lib/Win32 lib/x86)
endif()
if(WITH_OPENCLAMDBLAS)
find_path(CLAMDBLAS_INCLUDE_DIR
NAMES clAmdBlas.h)
find_library(CLAMDBLAS_LIBRARIES
NAMES clAmdBlas)
find_library(OPENCL_LIBRARY
NAMES OpenCL
HINTS ${OPENCL_ROOT_DIR}
PATH_SUFFIXES ${OPENCL_POSSIBLE_LIB_SUFFIXES}
DOC "OpenCL library"
NO_DEFAULT_PATH)
mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OPENCL DEFAULT_MSG OPENCL_LIBRARY OPENCL_INCLUDE_DIR )
endif()
endif(APPLE)
if(OPENCL_FOUND)
set(HAVE_OPENCL 1)
set(OPENCL_INCLUDE_DIRS ${OPENCL_INCLUDE_DIR})
set(OPENCL_LIBRARIES ${OPENCL_LIBRARY})
if(WIN32 AND X86_64)
set(CLAMD_POSSIBLE_LIB_SUFFIXES lib64/import)
elseif(WIN32)
set(CLAMD_POSSIBLE_LIB_SUFFIXES lib32/import)
endif()
if(X86_64 AND UNIX)
set(CLAMD_POSSIBLE_LIB_SUFFIXES lib64)
elseif(X86 AND UNIX)
set(CLAMD_POSSIBLE_LIB_SUFFIXES lib32)
endif()
if(WITH_OPENCLAMDFFT)
find_path(CLAMDFFT_ROOT_DIR
NAMES include/clAmdFft.h
PATHS ENV CLAMDFFT_PATH ENV ProgramFiles
PATH_SUFFIXES clAmdFft AMD/clAmdFft
DOC "AMD FFT root directory"
NO_DEFAULT_PATH)
find_path(CLAMDFFT_INCLUDE_DIR
NAMES clAmdFft.h
HINTS ${CLAMDFFT_ROOT_DIR}
PATH_SUFFIXES include
DOC "clAmdFft include directory")
find_library(CLAMDFFT_LIBRARY
NAMES clAmdFft.Runtime
HINTS ${CLAMDFFT_ROOT_DIR}
PATH_SUFFIXES ${CLAMD_POSSIBLE_LIB_SUFFIXES}
DOC "clAmdFft library")
if(CLAMDFFT_LIBRARY AND CLAMDFFT_INCLUDE_DIR)
set(HAVE_CLAMDFFT 1)
list(APPEND OPENCL_INCLUDE_DIRS "${CLAMDFFT_INCLUDE_DIR}")
list(APPEND OPENCL_LIBRARIES "${CLAMDFFT_LIBRARY}")
endif()
# Try AMD/ATI Stream SDK
if (NOT OPENCL_FOUND)
set(ENV_AMDSTREAMSDKROOT $ENV{AMDAPPSDKROOT})
set(ENV_OPENCLROOT $ENV{OPENCLROOT})
set(ENV_CUDA_PATH $ENV{CUDA_PATH})
if(ENV_AMDSTREAMSDKROOT)
set(OPENCL_INCLUDE_SEARCH_PATH ${ENV_AMDSTREAMSDKROOT}/include)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(OPENCL_LIB_SEARCH_PATH ${OPENCL_LIB_SEARCH_PATH} ${ENV_AMDSTREAMSDKROOT}/lib/x86)
else()
set(OPENCL_LIB_SEARCH_PATH ${OPENCL_LIB_SEARCH_PATH} ${ENV_AMDSTREAMSDKROOT}/lib/x86_64)
endif()
elseif(ENV_CUDAPATH AND WIN32)
set(OPENCL_INCLUDE_SEARCH_PATH ${ENV_CUDA_PATH}/include)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(OPENCL_LIB_SEARCH_PATH ${OPENCL_LIB_SEARCH_PATH} ${ENV_CUDA_PATH}/lib/Win32)
else()
set(OPENCL_LIB_SEARCH_PATH ${OPENCL_LIB_SEARCH_PATH} ${ENV_CUDA_PATH}/lib/x64)
endif()
elseif(ENV_OPENCLROOT AND UNIX)
set(OPENCL_INCLUDE_SEARCH_PATH ${ENV_OPENCLROOT}/inc)
if(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(OPENCL_LIB_SEARCH_PATH ${OPENCL_LIB_SEARCH_PATH} /usr/lib)
else()
set(OPENCL_LIB_SEARCH_PATH ${OPENCL_LIB_SEARCH_PATH} /usr/lib64)
endif()
endif()
endif()
if(OPENCL_INCLUDE_SEARCH_PATH)
find_path(OPENCL_INCLUDE_DIR
NAMES CL/cl.h OpenCL/cl.h
PATHS ${OPENCL_INCLUDE_SEARCH_PATH}
NO_DEFAULT_PATH)
else()
find_path(OPENCL_INCLUDE_DIR
NAMES CL/cl.h OpenCL/cl.h)
endif()
if(WITH_OPENCLAMDBLAS)
find_path(CLAMDBLAS_ROOT_DIR
NAMES include/clAmdBlas.h
PATHS ENV CLAMDBLAS_PATH ENV ProgramFiles
PATH_SUFFIXES clAmdBlas AMD/clAmdBlas
DOC "AMD FFT root directory"
NO_DEFAULT_PATH)
if(OPENCL_LIB_SEARCH_PATH)
find_library(OPENCL_LIBRARY NAMES OpenCL PATHS ${OPENCL_LIB_SEARCH_PATH} NO_DEFAULT_PATH)
else()
find_library(OPENCL_LIBRARY NAMES OpenCL)
endif()
find_path(CLAMDBLAS_INCLUDE_DIR
NAMES clAmdBlas.h
HINTS ${CLAMDBLAS_ROOT_DIR}
PATH_SUFFIXES include
DOC "clAmdFft include directory")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
OPENCL
DEFAULT_MSG
OPENCL_LIBRARY OPENCL_INCLUDE_DIR
)
find_library(CLAMDBLAS_LIBRARY
NAMES clAmdBlas
HINTS ${CLAMDBLAS_ROOT_DIR}
PATH_SUFFIXES ${CLAMD_POSSIBLE_LIB_SUFFIXES}
DOC "clAmdBlas library")
if(OPENCL_FOUND)
set(OPENCL_LIBRARIES ${OPENCL_LIBRARY})
set(HAVE_OPENCL 1)
else()
set(OPENCL_LIBRARIES)
endif()
else()
set(HAVE_OPENCL 1)
if(CLAMDBLAS_LIBRARY AND CLAMDBLAS_INCLUDE_DIR)
set(HAVE_CLAMDBLAS 1)
list(APPEND OPENCL_INCLUDE_DIRS "${CLAMDBLAS_INCLUDE_DIR}")
list(APPEND OPENCL_LIBRARIES "${CLAMDBLAS_LIBRARY}")
endif()
endif()
endif()
+16 -15
Ver Arquivo
@@ -19,18 +19,25 @@ unset(HAVE_SPHINX CACHE)
if(PYTHON_EXECUTABLE)
if(PYTHON_VERSION_STRING)
set(PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")
string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" PYTHON_VERSION_FULL "${PYTHON_VERSION_STRING}")
set(PYTHON_VERSION_FULL "${PYTHON_VERSION_STRING}")
else()
execute_process(COMMAND ${PYTHON_EXECUTABLE} --version
ERROR_VARIABLE PYTHON_VERSION_FULL
ERROR_STRIP_TRAILING_WHITESPACE)
string(REGEX MATCH "[0-9]+.[0-9]+" PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_FULL}")
string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" PYTHON_VERSION_FULL "${PYTHON_VERSION_FULL}")
endif()
if("${PYTHON_VERSION_FULL}" MATCHES "[0-9]+.[0-9]+.[0-9]+")
set(PYTHON_VERSION_FULL "${CMAKE_MATCH_0}")
elseif("${PYTHON_VERSION_FULL}" MATCHES "[0-9]+.[0-9]+")
set(PYTHON_VERSION_FULL "${CMAKE_MATCH_0}")
else()
unset(PYTHON_VERSION_FULL)
endif()
if(NOT ANDROID AND NOT IOS)
if(CMAKE_VERSION VERSION_GREATER 2.8.8)
if(CMAKE_VERSION VERSION_GREATER 2.8.8 AND PYTHON_VERSION_FULL)
find_host_package(PythonLibs ${PYTHON_VERSION_FULL} EXACT)
else()
find_host_package(PythonLibs ${PYTHON_VERSION_FULL})
@@ -97,18 +104,12 @@ if(PYTHON_EXECUTABLE)
if(BUILD_DOCS)
find_host_program(SPHINX_BUILD sphinx-build)
if(SPHINX_BUILD)
if(UNIX)
execute_process(COMMAND sh -c "${SPHINX_BUILD} -_ 2>&1 | sed -ne 1p"
RESULT_VARIABLE SPHINX_PROCESS
OUTPUT_VARIABLE SPHINX_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
else()
execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import sphinx; print sphinx.__version__"
RESULT_VARIABLE SPHINX_PROCESS
OUTPUT_VARIABLE SPHINX_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif()
if(SPHINX_PROCESS EQUAL 0)
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()
+2 -2
Ver Arquivo
@@ -1,4 +1,4 @@
if(ANDROID AND NOT MIPS)
if(BUILD_TBB)
add_subdirectory("${OpenCV_SOURCE_DIR}/3rdparty/tbb")
include_directories(SYSTEM ${TBB_INCLUDE_DIRS})
set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} tbb)
@@ -22,7 +22,7 @@ endif()
if(NOT HAVE_TBB)
set(TBB_DEFAULT_INCLUDE_DIRS
"/opt/intel/tbb" "/usr/local/include" "/usr/include"
"/opt/intel/tbb/include" "/usr/local/include" "/usr/include"
"C:/Program Files/Intel/TBB" "C:/Program Files (x86)/Intel/TBB"
"C:/Program Files (x86)/tbb/include"
"C:/Program Files (x86)/tbb/include"
+2 -52
Ver Arquivo
@@ -13,57 +13,7 @@ endif()
# ----------------------------------------------------------------------------
# Source package, for "make package_source"
# ----------------------------------------------------------------------------
if(BUILD_PACKAGE)
set(TARBALL_NAME "${CMAKE_PROJECT_NAME}-${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}.${OPENCV_VERSION_PATCH}")
if (NOT WIN32)
if(APPLE)
set(TAR_CMD gnutar)
else()
set(TAR_CMD tar)
endif()
set(TAR_TRANSFORM "\"s,^,${TARBALL_NAME}/,\"")
add_custom_target(package_source
#TODO: maybe we should not remove dll's
COMMAND ${TAR_CMD} --transform ${TAR_TRANSFORM} -cjpf ${CMAKE_CURRENT_BINARY_DIR}/${TARBALL_NAME}.tar.bz2 --exclude=".svn" --exclude=".git" --exclude="*.pyc" --exclude="*.vcproj" --exclude="*/lib/*" --exclude="*.dll" ./
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
else()
add_custom_target(package_source
COMMAND zip -9 -r ${CMAKE_CURRENT_BINARY_DIR}/${TARBALL_NAME}.zip . -x '*/.svn/*' '*/.git/*' '*.vcproj' '*.pyc'
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endif()
if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(package_source PROPERTIES FOLDER "extra")
endif()
endif()
# ----------------------------------------------------------------------------
# performance tests, for "make perf"
# ----------------------------------------------------------------------------
if(BUILD_PERF_TESTS AND PYTHON_EXECUTABLE)
if(CMAKE_VERSION VERSION_GREATER "2.8.2")
add_custom_target(perf
${PYTHON_EXECUTABLE} "${OpenCV_SOURCE_DIR}/modules/ts/misc/run.py" --configuration $<CONFIGURATION> "${CMAKE_BINARY_DIR}"
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
DEPENDS "${OpenCV_SOURCE_DIR}/modules/ts/misc/run.py"
)
else()
add_custom_target(perf
${PYTHON_EXECUTABLE} "${OpenCV_SOURCE_DIR}/modules/ts/misc/run.py" "${CMAKE_BINARY_DIR}"
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
DEPENDS "${OpenCV_SOURCE_DIR}/modules/ts/misc/run.py"
)
endif()
if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(perf PROPERTIES FOLDER "extra")
endif()
endif()
# ----------------------------------------------------------------------------
# spefial targets to build all OpenCV modules
# target building all OpenCV modules
# ----------------------------------------------------------------------------
add_custom_target(opencv_modules)
if(ENABLE_SOLUTION_FOLDERS)
@@ -72,7 +22,7 @@ endif()
# ----------------------------------------------------------------------------
# spefial targets to build all tests
# targets building all tests
# ----------------------------------------------------------------------------
if(BUILD_TESTS)
add_custom_target(opencv_tests)
+33 -7
Ver Arquivo
@@ -2,13 +2,40 @@
# Detect 3rd-party GUI libraries
# ----------------------------------------------------------------------------
#--- Win32 UI ---
ocv_clear_vars(HAVE_WIN32UI)
if(WITH_WIN32UI)
TRY_COMPILE(HAVE_WIN32UI
"${OPENCV_BINARY_DIR}/CMakeFiles/CMakeTmp"
"${OpenCV_SOURCE_DIR}/cmake/checks/win32uitest.cpp"
CMAKE_FLAGS "\"user32.lib\" \"gdi32.lib\""
OUTPUT_VARIABLE OUTPUT)
endif(WITH_WIN32UI)
# --- QT4 ---
ocv_clear_vars(HAVE_QT)
ocv_clear_vars(HAVE_QT HAVE_QT5)
if(WITH_QT)
find_package(Qt4)
if(QT4_FOUND)
set(HAVE_QT TRUE)
add_definitions(-DHAVE_QT) # We need to define the macro this way, using cvconfig.h does not work
if(NOT CMAKE_VERSION VERSION_LESS 2.8.3 AND NOT WITH_QT EQUAL 4)
find_package(Qt5Core)
find_package(Qt5Gui)
find_package(Qt5Widgets)
find_package(Qt5Test)
find_package(Qt5Concurrent)
if(Qt5Core_FOUND AND Qt5Gui_FOUND AND Qt5Widgets_FOUND AND Qt5Test_FOUND AND Qt5Concurrent_FOUND)
set(HAVE_QT5 ON)
set(HAVE_QT ON)
find_package(Qt5OpenGL)
if(Qt5OpenGL_FOUND)
set(QT_QTOPENGL_FOUND ON)
endif()
endif()
endif()
if(NOT HAVE_QT)
find_package(Qt4 REQUIRED QtCore QtGui QtTest)
if(QT4_FOUND)
set(HAVE_QT TRUE)
endif()
endif()
endif()
@@ -25,14 +52,13 @@ endif()
# --- OpenGl ---
ocv_clear_vars(HAVE_OPENGL HAVE_QT_OPENGL)
if(WITH_OPENGL)
if(WIN32 OR QT_QTOPENGL_FOUND OR HAVE_GTKGLEXT)
if(WITH_WIN32UI OR (HAVE_QT AND QT_QTOPENGL_FOUND) OR HAVE_GTKGLEXT)
find_package (OpenGL QUIET)
if(OPENGL_FOUND)
set(HAVE_OPENGL TRUE)
list(APPEND OPENCV_LINKER_LIBS ${OPENGL_LIBRARIES})
if(QT_QTOPENGL_FOUND)
set(HAVE_QT_OPENGL TRUE)
add_definitions(-DHAVE_QT_OPENGL)
else()
ocv_include_directories(${OPENGL_INCLUDE_DIR})
endif()
+3 -2
Ver Arquivo
@@ -67,7 +67,7 @@ if(NOT TIFF_VERSION_STRING AND TIFF_INCLUDE_DIR)
endif()
# --- libjpeg (optional) ---
if(WITH_JPEG)
if(WITH_JPEG AND NOT IOS)
if(BUILD_JPEG)
ocv_clear_vars(JPEG_FOUND)
else()
@@ -110,12 +110,13 @@ if(NOT JASPER_VERSION_STRING)
endif()
# --- libpng (optional, should be searched after zlib) ---
if(WITH_PNG)
if(WITH_PNG AND NOT IOS)
if(BUILD_PNG)
ocv_clear_vars(PNG_FOUND)
else()
include(FindPNG)
if(PNG_FOUND)
include(CheckIncludeFile)
check_include_file("${PNG_PNG_INCLUDE_DIR}/png.h" HAVE_PNG_H)
check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H)
if(HAVE_PNG_H)
+34 -5
Ver Arquivo
@@ -7,11 +7,6 @@ if(WITH_TBB)
include("${OpenCV_SOURCE_DIR}/cmake/OpenCVDetectTBB.cmake")
endif(WITH_TBB)
# --- C= ---
if(WITH_CSTRIPES)
include("${OpenCV_SOURCE_DIR}/cmake/OpenCVDetectCStripes.cmake")
endif(WITH_CSTRIPES)
# --- IPP ---
ocv_clear_vars(IPP_FOUND)
if(WITH_IPP)
@@ -43,3 +38,37 @@ if(WITH_EIGEN)
set(HAVE_EIGEN 1)
endif()
endif(WITH_EIGEN)
# --- C= ---
if(WITH_CSTRIPES AND NOT HAVE_TBB)
include("${OpenCV_SOURCE_DIR}/cmake/OpenCVDetectCStripes.cmake")
else()
set(HAVE_CSTRIPES 0)
endif()
# --- OpenMP ---
if(NOT HAVE_TBB AND NOT HAVE_CSTRIPES)
set(_fname "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/omptest.cpp")
file(WRITE "${_fname}" "#ifndef _OPENMP\n#error\n#endif\nint main() { return 0; }\n")
try_compile(HAVE_OPENMP "${CMAKE_BINARY_DIR}" "${_fname}")
file(REMOVE "${_fname}")
else()
set(HAVE_OPENMP 0)
endif()
# --- GCD ---
if(APPLE AND NOT HAVE_TBB AND NOT HAVE_CSTRIPES AND NOT HAVE_OPENMP)
set(HAVE_GCD 1)
else()
set(HAVE_GCD 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)
endif()
+50 -12
Ver Arquivo
@@ -2,6 +2,15 @@
# Detect 3rd-party video IO libraries
# ----------------------------------------------------------------------------
ocv_clear_vars(HAVE_VFW)
if (WITH_VFW)
TRY_COMPILE(HAVE_VFW
"${OPENCV_BINARY_DIR}/CMakeFiles/CMakeTmp"
"${OpenCV_SOURCE_DIR}/cmake/checks/vfwtest.cpp"
CMAKE_FLAGS "-DLINK_LIBRARIES:STRING=vfw32"
OUTPUT_VARIABLE OUTPUT)
endif(WITH_VFW)
# --- GStreamer ---
ocv_clear_vars(HAVE_GSTREAMER)
if(WITH_GSTREAMER)
@@ -37,7 +46,7 @@ if(WITH_PVAPI)
set(PVAPI_SDK_SUBDIR x86)
elseif(X86_64)
set(PVAPI_SDK_SUBDIR x64)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES arm)
elseif(ARM)
set(PVAPI_SDK_SUBDIR arm)
endif()
@@ -72,10 +81,33 @@ endif(WITH_GIGEAPI)
# --- Dc1394 ---
ocv_clear_vars(HAVE_DC1394 HAVE_DC1394_2)
if(WITH_1394)
CHECK_MODULE(libdc1394-2 HAVE_DC1394_2)
if(NOT HAVE_DC1394_2)
CHECK_MODULE(libdc1394 HAVE_DC1394)
endif()
if(WIN32 AND MINGW)
find_path(CMU1394_INCLUDE_PATH "/1394common.h"
PATH_SUFFIXES include
DOC "The path to cmu1394 headers")
find_path(DC1394_2_INCLUDE_PATH "/dc1394/dc1394.h"
PATH_SUFFIXES include
DOC "The path to DC1394 2.x headers")
if(CMU1394_INCLUDE_PATH AND DC1394_2_INCLUDE_PATH)
set(CMU1394_LIB_DIR "${CMU1394_INCLUDE_PATH}/../lib" CACHE PATH "Full path of CMU1394 library directory")
set(DC1394_2_LIB_DIR "${DC1394_2_INCLUDE_PATH}/../lib" CACHE PATH "Full path of DC1394 2.x library directory")
if(EXISTS "${CMU1394_LIB_DIR}/lib1394camera.a" AND EXISTS "${DC1394_2_LIB_DIR}/libdc1394.a")
set(HAVE_DC1394_2 TRUE)
endif()
endif()
if(HAVE_DC1394_2)
ocv_parse_pkg("libdc1394-2" "${DC1394_2_LIB_DIR}/pkgconfig" "")
ocv_include_directories(${DC1394_2_INCLUDE_PATH})
set(HIGHGUI_LIBRARIES ${HIGHGUI_LIBRARIES}
"${DC1394_2_LIB_DIR}/libdc1394.a"
"${CMU1394_LIB_DIR}/lib1394camera.a")
endif(HAVE_DC1394_2)
else(WIN32 AND MINGW)
CHECK_MODULE(libdc1394-2 HAVE_DC1394_2)
if(NOT HAVE_DC1394_2)
CHECK_MODULE(libdc1394 HAVE_DC1394)
endif()
endif(WIN32 AND MINGW)
endif(WITH_1394)
# --- xine ---
@@ -85,11 +117,12 @@ if(WITH_XINE)
endif(WITH_XINE)
# --- V4L ---
ocv_clear_vars(HAVE_LIBV4L HAVE_CAMV4L HAVE_CAMV4L2)
ocv_clear_vars(HAVE_LIBV4L HAVE_CAMV4L HAVE_CAMV4L2 HAVE_VIDEOIO)
if(WITH_V4L)
CHECK_MODULE(libv4l1 HAVE_LIBV4L)
CHECK_INCLUDE_FILE(linux/videodev.h HAVE_CAMV4L)
CHECK_INCLUDE_FILE(linux/videodev2.h HAVE_CAMV4L2)
CHECK_INCLUDE_FILE(sys/videoio.h HAVE_VIDEOIO)
endif(WITH_V4L)
# --- OpenNI ---
@@ -110,7 +143,7 @@ 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)
if(WITH_FFMPEG)
if(WIN32)
if(WIN32 AND NOT ARM)
include("${OpenCV_SOURCE_DIR}/3rdparty/ffmpeg/ffmpeg_version.cmake")
elseif(UNIX)
CHECK_MODULE(libavcodec HAVE_FFMPEG_CODEC)
@@ -174,15 +207,20 @@ if(WITH_FFMPEG)
endif(APPLE)
endif(WITH_FFMPEG)
# --- VideoInput ---
if(WITH_VIDEOINPUT)
# --- VideoInput/DirectShow ---
if(WITH_DSHOW)
# always have VideoInput on Windows
set(HAVE_VIDEOINPUT 1)
endif(WITH_VIDEOINPUT)
set(HAVE_DSHOW 1)
endif(WITH_DSHOW)
# --- VideoInput/Microsoft Media Foundation ---
if(WITH_MSMF)
check_include_file(Mfapi.h HAVE_MSMF)
endif(WITH_MSMF)
# --- Extra HighGUI libs on Windows ---
if(WIN32)
list(APPEND HIGHGUI_LIBRARIES comctl32 gdi32 ole32 vfw32)
list(APPEND HIGHGUI_LIBRARIES comctl32 gdi32 ole32 setupapi ws2_32 vfw32)
if(MINGW64)
list(APPEND HIGHGUI_LIBRARIES avifil32 avicap32 winmm msvfw32)
list(REMOVE_ITEM HIGHGUI_LIBRARIES vfw32)
+9 -5
Ver Arquivo
@@ -9,6 +9,7 @@
#
# Created: 5 Aug 2011 by Marian Zajko (marian.zajko@ximea.com)
# Updated: 25 June 2012 by Igor Kuzmin (parafin@ximea.com)
# Updated: 22 October 2012 by Marian Zajko (marian.zajko@ximea.com)
#
set(XIMEA_FOUND)
@@ -18,11 +19,15 @@ set(XIMEA_LIBRARY_DIR)
if(WIN32)
# Try to find the XIMEA API path in registry.
GET_FILENAME_COMPONENT(XIMEA_PATH "[HKEY_CURRENT_USER\\Software\\XIMEA\\CamSupport\\API;Path]" ABSOLUTE)
if(EXISTS XIMEA_PATH)
if(EXISTS ${XIMEA_PATH})
set(XIMEA_FOUND 1)
# set LIB folders
set(XIMEA_LIBRARY_DIR "${XIMEA_PATH}/x86")
if(CMAKE_CL_64)
set(XIMEA_LIBRARY_DIR "${XIMEA_PATH}/x64")
else()
set(XIMEA_LIBRARY_DIR "${XIMEA_PATH}/x86")
endif()
else()
set(XIMEA_FOUND 0)
endif()
@@ -38,5 +43,4 @@ endif()
mark_as_advanced(FORCE XIMEA_FOUND)
mark_as_advanced(FORCE XIMEA_PATH)
mark_as_advanced(FORCE XIMEA_LIBRARY_DIR)
mark_as_advanced(FORCE XIMEA_LIBRARY_DIR)
+1 -1
Ver Arquivo
@@ -20,7 +20,7 @@ if(ANDROID)
endif()
# setup lists of camera libs
foreach(abi ARMEABI ARMEABI_V7A X86)
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)
+12 -3
Ver Arquivo
@@ -53,6 +53,10 @@ if(OpenCV_LIB_COMPONENTS)
list(REMOVE_ITEM OPENCV_MODULES_CONFIGCMAKE ${OpenCV_LIB_COMPONENTS})
endif()
if(BUILD_FAT_JAVA_LIB AND HAVE_opencv_java)
list(APPEND OPENCV_MODULES_CONFIGCMAKE opencv_java)
endif()
macro(ocv_generate_dependencies_map_configcmake suffix configuration)
set(OPENCV_DEPENDENCIES_MAP_${suffix} "")
set(OPENCV_PROCESSED_LIBS "")
@@ -126,8 +130,13 @@ 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 "\"\"")
set(OpenCV_LIB_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OPENCV_LIB_INSTALL_PATH}\"")
set(OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OPENCV_3P_LIB_INSTALL_PATH}\"")
if(ANDROID)
set(OpenCV_LIB_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/sdk/native/libs/\${ANDROID_NDK_ABI_NAME}\"")
set(OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/sdk/native/3rdparty/libs/\${ANDROID_NDK_ABI_NAME}\"")
else()
set(OpenCV_LIB_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OPENCV_LIB_INSTALL_PATH}\"")
set(OpenCV_3RDPARTY_LIB_DIRS_CONFIGCMAKE "\"\${OpenCV_INSTALL_PATH}/${OPENCV_3P_LIB_INSTALL_PATH}\"")
endif()
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}\"")
@@ -153,7 +162,7 @@ if(UNIX)
endif()
if(ANDROID)
install(FILES "${OpenCV_SOURCE_DIR}/android/android.toolchain.cmake" DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}/)
install(FILES "${OpenCV_SOURCE_DIR}/platforms/android/android.toolchain.cmake" DESTINATION ${OPENCV_CONFIG_INSTALL_PATH}/)
endif()
# --------------------------------------------------------------------------------------------
+1
Ver Arquivo
@@ -12,6 +12,7 @@ endmacro()
ocv_legacy_option(BUILD_NEW_PYTHON_SUPPORT BUILD_opencv_python)
ocv_legacy_option(BUILD_JAVA_SUPPORT BUILD_opencv_java)
ocv_legacy_option(WITH_ANDROID_CAMERA BUILD_opencv_androidcamera)
ocv_legacy_option(WITH_VIDEOINPUT WITH_DSHOW)
if(DEFINED OPENCV_BUILD_3RDPARTY_LIBS)
set(BUILD_ZLIB ${OPENCV_BUILD_3RDPARTY_LIBS} CACHE BOOL "Set via depricated OPENCV_BUILD_3RDPARTY_LIBS" FORCE)
+46 -11
Ver Arquivo
@@ -164,6 +164,9 @@ macro(ocv_module_disable module)
set(HAVE_${__modname} OFF CACHE INTERNAL "Module ${__modname} can not be built in current configuration")
set(OPENCV_MODULE_${__modname}_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}" CACHE INTERNAL "Location of ${__modname} module sources")
set(OPENCV_MODULES_DISABLED_FORCE "${OPENCV_MODULES_DISABLED_FORCE}" CACHE INTERNAL "List of OpenCV modules which can not be build in current configuration")
if(BUILD_${__modname})
# touch variable controlling build of the module to suppress "unused variable" CMake warning
endif()
unset(__modname)
return() # leave the current folder
endmacro()
@@ -171,6 +174,7 @@ endmacro()
# Internal macro; partly disables OpenCV module
macro(__ocv_module_turn_off the_module)
list(REMOVE_ITEM OPENCV_MODULES_DISABLED_AUTO "${the_module}")
list(APPEND OPENCV_MODULES_DISABLED_AUTO "${the_module}")
list(REMOVE_ITEM OPENCV_MODULES_BUILD "${the_module}")
list(REMOVE_ITEM OPENCV_MODULES_PUBLIC "${the_module}")
@@ -190,7 +194,7 @@ macro(__ocv_flatten_module_required_dependencies the_module)
break()
elseif(";${OPENCV_MODULES_DISABLED_USER};${OPENCV_MODULES_DISABLED_AUTO};" MATCHES ";${__dep};")
__ocv_module_turn_off(${the_module}) # depends on disabled module
break()
list(APPEND __flattened_deps "${__dep}")
elseif(";${OPENCV_MODULES_BUILD};" MATCHES ";${__dep};")
if(";${__resolved_deps};" MATCHES ";${__dep};")
list(APPEND __flattened_deps "${__dep}") # all dependencies of this module are already resolved
@@ -259,6 +263,7 @@ macro(__ocv_flatten_module_dependencies)
foreach(m ${OPENCV_MODULES_BUILD})
set(HAVE_${m} ON CACHE INTERNAL "Module ${m} will be built in current configuration")
__ocv_flatten_module_required_dependencies(${m})
set(OPENCV_MODULE_${m}_DEPS ${OPENCV_MODULE_${m}_DEPS} CACHE INTERNAL "Flattened required dependencies of ${m} module")
endforeach()
foreach(m ${OPENCV_MODULES_BUILD})
@@ -283,7 +288,7 @@ macro(__ocv_flatten_module_dependencies)
ocv_list_unique(OPENCV_MODULES_BUILD_)
set(OPENCV_MODULES_PUBLIC ${OPENCV_MODULES_PUBLIC} CACHE INTERNAL "List of OpenCV modules marked for export")
set(OPENCV_MODULES_BUILD ${OPENCV_MODULES_BUILD_} CACHE INTERNAL "List of OpenCV modules included into the build")
set(OPENCV_MODULES_BUILD ${OPENCV_MODULES_BUILD_} CACHE INTERNAL "List of OpenCV modules included into the build")
set(OPENCV_MODULES_DISABLED_AUTO ${OPENCV_MODULES_DISABLED_AUTO} CACHE INTERNAL "List of OpenCV modules implicitly disabled due to dependencies")
endmacro()
@@ -298,7 +303,7 @@ macro(ocv_glob_modules)
# collect modules
set(OPENCV_INITIAL_PASS ON)
foreach(__path ${ARGN})
ocv_get_real_path(__path "${__path}")
get_filename_component(__path "${__path}" ABSOLUTE)
list(FIND __directories_observed "${__path}" __pathIdx)
if(__pathIdx GREATER -1)
@@ -310,7 +315,7 @@ macro(ocv_glob_modules)
if(__ocvmodules)
list(SORT __ocvmodules)
foreach(mod ${__ocvmodules})
ocv_get_real_path(__modpath "${__path}/${mod}")
get_filename_component(__modpath "${__path}/${mod}" ABSOLUTE)
if(EXISTS "${__modpath}/CMakeLists.txt")
list(FIND __directories_observed "${__modpath}" __pathIdx)
@@ -427,11 +432,36 @@ macro(ocv_glob_module_sources)
file(GLOB lib_hdrs "include/opencv2/${name}/*.hpp" "include/opencv2/${name}/*.h")
file(GLOB lib_hdrs_detail "include/opencv2/${name}/detail/*.hpp" "include/opencv2/${name}/detail/*.h")
file(GLOB lib_cuda_srcs "src/cuda/*.cu")
set(cuda_objs "")
set(lib_cuda_hdrs "")
if(HAVE_CUDA AND lib_cuda_srcs)
ocv_include_directories(${CUDA_INCLUDE_DIRS})
file(GLOB lib_cuda_hdrs "src/cuda/*.hpp")
ocv_cuda_compile(cuda_objs ${lib_cuda_srcs} ${lib_cuda_hdrs})
source_group("Src\\Cuda" FILES ${lib_cuda_srcs} ${lib_cuda_hdrs})
endif()
file(GLOB cl_kernels "src/opencl/*.cl")
if(HAVE_OPENCL AND cl_kernels)
ocv_include_directories(${OPENCL_INCLUDE_DIRS})
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/kernels.cpp"
COMMAND ${CMAKE_COMMAND} -DCL_DIR="${CMAKE_CURRENT_SOURCE_DIR}/src/opencl" -DOUTPUT="${CMAKE_CURRENT_BINARY_DIR}/kernels.cpp" -P "${OpenCV_SOURCE_DIR}/cmake/cl2cpp.cmake"
DEPENDS ${cl_kernels} "${OpenCV_SOURCE_DIR}/cmake/cl2cpp.cmake")
source_group("Src\\OpenCL" FILES ${cl_kernels} "${CMAKE_CURRENT_BINARY_DIR}/kernels.cpp")
list(APPEND lib_srcs ${cl_kernels} "${CMAKE_CURRENT_BINARY_DIR}/kernels.cpp")
endif()
source_group("Src" FILES ${lib_srcs} ${lib_int_hdrs})
source_group("Include" FILES ${lib_hdrs})
source_group("Include\\detail" FILES ${lib_hdrs_detail})
ocv_set_module_sources(${ARGN} HEADERS ${lib_hdrs} ${lib_hdrs_detail} SOURCES ${lib_srcs} ${lib_int_hdrs})
ocv_set_module_sources(${ARGN} HEADERS ${lib_hdrs} ${lib_hdrs_detail}
SOURCES ${lib_srcs} ${lib_int_hdrs} ${cuda_objs} ${lib_cuda_srcs} ${lib_cuda_hdrs})
endmacro()
# creates OpenCV module in current folder
@@ -440,10 +470,17 @@ endmacro()
# ocv_create_module(<extra link dependencies>)
# ocv_create_module(SKIP_LINK)
macro(ocv_create_module)
add_library(${the_module} ${OPENCV_MODULE_TYPE} ${OPENCV_MODULE_${the_module}_HEADERS} ${OPENCV_MODULE_${the_module}_SOURCES})
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")
if(NOT "${ARGN}" STREQUAL "SKIP_LINK")
target_link_libraries(${the_module} ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_MODULE_${the_module}_DEPS_EXT} ${OPENCV_LINKER_LIBS} ${IPP_LIBS} ${ARGN})
if (HAVE_CUDA)
target_link_libraries(${the_module} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY})
endif()
if(HAVE_OPENCL AND OPENCL_LIBRARIES)
target_link_libraries(${the_module} ${OPENCL_LIBRARIES})
endif()
endif()
add_dependencies(opencv_modules ${the_module})
@@ -456,6 +493,7 @@ macro(ocv_create_module)
OUTPUT_NAME "${the_module}${OPENCV_DLLVERSION}"
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
ARCHIVE_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
LIBRARY_OUTPUT_DIRECTORY ${LIBRARY_OUTPUT_PATH}
RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH}
INSTALL_NAME_DIR lib
)
@@ -465,7 +503,7 @@ macro(ocv_create_module)
# Android SDK build scripts can include only .so files into final .apk
# As result we should not set version properties for Android
set_target_properties(${the_module} PROPERTIES
VERSION ${OPENCV_VERSION}
VERSION ${OPENCV_LIBVERSION}
SOVERSION ${OPENCV_SOVERSION}
)
endif()
@@ -524,8 +562,8 @@ endmacro()
# ocv_define_module(module_name [INTERNAL] [REQUIRED] [<list of dependencies>] [OPTIONAL <list of optional dependencies>])
macro(ocv_define_module module_name)
ocv_add_module(${module_name} ${ARGN})
ocv_glob_module_sources()
ocv_module_include_directories()
ocv_glob_module_sources()
ocv_create_module()
ocv_add_precompiled_headers(${the_module})
@@ -614,9 +652,6 @@ function(ocv_add_perf_tests)
ocv_add_precompiled_headers(${the_target})
if (PYTHON_EXECUTABLE)
add_dependencies(perf ${the_target})
endif()
else(OCV_DEPENDENCIES_FOUND)
# TODO: warn about unsatisfied dependencies
endif(OCV_DEPENDENCIES_FOUND)
+1 -1
Ver Arquivo
@@ -19,7 +19,7 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
OUTPUT_VARIABLE gcc_compiler_version)
#MESSAGE("GCC Version: ${gcc_compiler_version}")
IF(gcc_compiler_version MATCHES "4\\.[0,2-9]\\.[0-9x]")
IF(gcc_compiler_version VERSION_GREATER "4.2.-1")
SET(PCHSupport_FOUND TRUE)
ENDIF()
+17 -11
Ver Arquivo
@@ -64,6 +64,13 @@ MACRO(ocv_check_compiler_flag LANG FLAG RESULT)
else()
FILE(WRITE "${_fname}" "#pragma\nint main(void) { return 0; }\n")
endif()
elseif("_${LANG}_" MATCHES "_OBJCXX_")
set(_fname "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.mm")
if("${CMAKE_CXX_FLAGS} ${FLAG} " MATCHES "-Werror " OR "${CMAKE_CXX_FLAGS} ${FLAG} " MATCHES "-Werror=unknown-pragmas ")
FILE(WRITE "${_fname}" "int main() { return 0; }\n")
else()
FILE(WRITE "${_fname}" "#pragma\nint main() { return 0; }\n")
endif()
else()
unset(_fname)
endif()
@@ -100,6 +107,8 @@ macro(ocv_check_flag_support lang flag varname)
set(_lang CXX)
elseif("_${lang}_" MATCHES "_C_")
set(_lang C)
elseif("_${lang}_" MATCHES "_OBJCXX_")
set(_lang OBJCXX)
else()
set(_lang ${lang})
endif()
@@ -132,7 +141,7 @@ macro(ocv_warnings_disable)
set(${var} "${${var}} ${warning}")
endforeach()
endforeach()
elseif(CV_COMPILER_IS_GNU AND _gxx_warnings AND _flag_vars)
elseif((CMAKE_COMPILER_IS_GNUCXX OR (UNIX AND CV_ICC)) AND _gxx_warnings AND _flag_vars)
foreach(var ${_flag_vars})
foreach(warning ${_gxx_warnings})
if(NOT warning MATCHES "^-Wno-")
@@ -402,16 +411,6 @@ macro(ocv_regex_escape var regex)
endmacro()
# get absolute path with symlinks resolved
macro(ocv_get_real_path VAR PATHSTR)
if(CMAKE_VERSION VERSION_LESS 2.8)
get_filename_component(${VAR} "${PATHSTR}" ABSOLUTE)
else()
get_filename_component(${VAR} "${PATHSTR}" REALPATH)
endif()
endmacro()
# convert list of paths to full paths
macro(ocv_convert_to_full_paths VAR)
if(${VAR})
@@ -502,6 +501,13 @@ macro(ocv_parse_header2 LIBNAME HDR_PATH VARNAME)
endif()
endmacro()
# read single version info from the pkg file
macro(ocv_parse_pkg LIBNAME PKG_PATH SCOPE)
if(EXISTS "${PKG_PATH}/${LIBNAME}.pc")
file(STRINGS "${PKG_PATH}/${LIBNAME}.pc" line_to_parse REGEX "^Version:[ \t]+[0-9.]*.*$" LIMIT_COUNT 1)
STRING(REGEX REPLACE ".*Version: ([^ ]+).*" "\\1" ALIASOF_${LIBNAME}_VERSION "${line_to_parse}" )
endif()
endmacro()
################################################################################################
# short command to setup source group
+11 -5
Ver Arquivo
@@ -1,12 +1,18 @@
SET(OPENCV_VERSION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/modules/core/include/opencv2/core/version.hpp")
FILE(STRINGS "${OPENCV_VERSION_FILE}" OPENCV_VERSION_PARTS REGEX "#define CV_.+OR_VERSION[ ]+[0-9]+" )
FILE(STRINGS "${OPENCV_VERSION_FILE}" OPENCV_VERSION_PARTS REGEX "#define CV_VERSION_[A-Z]+[ ]+[0-9]+" )
string(REGEX REPLACE ".+CV_MAJOR_VERSION[ ]+([0-9]+).*" "\\1" OPENCV_VERSION_MAJOR "${OPENCV_VERSION_PARTS}")
string(REGEX REPLACE ".+CV_MINOR_VERSION[ ]+([0-9]+).*" "\\1" OPENCV_VERSION_MINOR "${OPENCV_VERSION_PARTS}")
string(REGEX REPLACE ".+CV_SUBMINOR_VERSION[ ]+([0-9]+).*" "\\1" OPENCV_VERSION_PATCH "${OPENCV_VERSION_PARTS}")
string(REGEX REPLACE ".+CV_VERSION_EPOCH[ ]+([0-9]+).*" "\\1" OPENCV_VERSION_MAJOR "${OPENCV_VERSION_PARTS}")
string(REGEX REPLACE ".+CV_VERSION_MAJOR[ ]+([0-9]+).*" "\\1" OPENCV_VERSION_MINOR "${OPENCV_VERSION_PARTS}")
string(REGEX REPLACE ".+CV_VERSION_MINOR[ ]+([0-9]+).*" "\\1" OPENCV_VERSION_PATCH "${OPENCV_VERSION_PARTS}")
string(REGEX REPLACE ".+CV_VERSION_REVISION[ ]+([0-9]+).*" "\\1" OPENCV_VERSION_TWEAK "${OPENCV_VERSION_PARTS}")
set(OPENCV_VERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}.${OPENCV_VERSION_PATCH}")
if(OPENCV_VERSION_TWEAK GREATER 0)
set(OPENCV_VERSION "${OPENCV_VERSION}.${OPENCV_VERSION_TWEAK}")
endif()
set(OPENCV_VERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}.${OPENCV_VERSION_PATCH}.1")
set(OPENCV_SOVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}")
set(OPENCV_LIBVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}.${OPENCV_VERSION_PATCH}")
# create a dependency on version file
# we never use output of the following command but cmake will rerun automatically if the version file changes
+14
Ver Arquivo
@@ -0,0 +1,14 @@
#include <stdio.h>
int main()
{
int count = 0;
if (cudaSuccess != cudaGetDeviceCount(&count)){return -1;}
if (count == 0) {return -1;}
for (int device = 0; device < count; ++device)
{
cudaDeviceProp prop;
if (cudaSuccess != cudaGetDeviceProperties(&prop, device)){ continue;}
printf("%d.%d ", prop.major, prop.minor);
}
return 0;
}
+10
Ver Arquivo
@@ -0,0 +1,10 @@
#include <windows.h>
#include <vfw.h>
int main()
{
AVIFileInit();
AVIFileExit();
return 0;
}
+11
Ver Arquivo
@@ -0,0 +1,11 @@
#include <windows.h>
int main(int argc, char** argv)
{
CreateWindow(NULL /*lpClassName*/, NULL /*lpWindowName*/, 0 /*dwStyle*/, 0 /*x*/,
0 /*y*/, 0 /*nWidth*/, 0 /*nHeight*/, NULL /*hWndParent*/, NULL /*hMenu*/,
NULL /*hInstance*/, NULL /*lpParam*/);
DeleteDC(NULL);
return 0;
}
@@ -18,6 +18,7 @@ foreach(cl ${cl_list})
string(REPLACE "\t" " " lines "${lines}")
string(REGEX REPLACE "/\\*([^*]/|\\*[^/]|[^*/])*\\*/" "" lines "${lines}") # multiline comments
string(REGEX REPLACE "/\\*([^\n])*\\*/" "" lines "${lines}") # single-line comments
string(REGEX REPLACE "[ ]*//[^\n]*\n" "\n" lines "${lines}") # single-line comments
string(REGEX REPLACE "\n[ ]*(\n[ ]*)*" "\n" lines "${lines}") # empty lines & leading whitespace
string(REGEX REPLACE "^\n" "" lines "${lines}") # leading new line
+17 -8
Ver Arquivo
@@ -42,7 +42,7 @@ else
OPENCV_EXTRA_COMPONENTS:=@OPENCV_EXTRA_COMPONENTS_CONFIGMAKE@
endif
ifeq ($(TARGET_ARCH_ABI),mips)
OPENCV_3RDPARTY_COMPONENTS:=@OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE_NO_TBB@
OPENCV_3RDPARTY_COMPONENTS:=@OPENCV_3RDPARTY_COMPONENTS_CONFIGMAKE@
OPENCV_EXTRA_COMPONENTS:=@OPENCV_EXTRA_COMPONENTS_CONFIGMAKE@
endif
endif
@@ -57,6 +57,9 @@ ifeq (${OPENCV_CAMERA_MODULES},on)
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
@@ -89,14 +92,20 @@ define add_opencv_camera_module
include $(PREBUILT_SHARED_LIBRARY)
endef
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))))
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
ifneq ($(OPENCV_BASEDIR),)
OPENCV_LOCAL_C_INCLUDES += $(foreach mod, $(OPENCV_MODULES), $(OPENCV_BASEDIR)/modules/$(mod)/include)
$(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)
endif
#turn off module installation to prevent their redefinition
OPENCV_MK_$(OPENCV_TARGET_ARCH_ABI)_ALREADY_INCLUDED:=on
endif
ifeq ($(OPENCV_LOCAL_CFLAGS),)
+32 -12
Ver Arquivo
@@ -22,10 +22,11 @@
# - OpenCV_INCLUDE_DIRS : The OpenCV include directories.
# - OpenCV_COMPUTE_CAPABILITIES : The version of compute capability
# - OpenCV_ANDROID_NATIVE_API_LEVEL : Minimum required level of Android API
# - OpenCV_VERSION : The version of this OpenCV build. Example: "@OPENCV_VERSION@"
# - OpenCV_VERSION_MAJOR : Major version part of OpenCV_VERSION. Example: "@OPENCV_VERSION_MAJOR@"
# - OpenCV_VERSION_MINOR : Minor version part of OpenCV_VERSION. Example: "@OPENCV_VERSION_MINOR@"
# - OpenCV_VERSION_PATCH : Patch version part of OpenCV_VERSION. Example: "@OPENCV_VERSION_PATCH@"
# - OpenCV_VERSION : The version of this OpenCV build: "@OPENCV_VERSION@"
# - OpenCV_VERSION_MAJOR : Major version part of OpenCV_VERSION: "@OPENCV_VERSION_MAJOR@"
# - OpenCV_VERSION_MINOR : Minor version part of OpenCV_VERSION: "@OPENCV_VERSION_MINOR@"
# - OpenCV_VERSION_PATCH : Patch version part of OpenCV_VERSION: "@OPENCV_VERSION_PATCH@"
# - OpenCV_VERSION_TWEAK : Tweak version part of OpenCV_VERSION: "@OPENCV_VERSION_TWEAK@"
#
# Advanced variables:
# - OpenCV_SHARED
@@ -41,8 +42,9 @@
set(OpenCV_COMPUTE_CAPABILITIES @OpenCV_CUDA_CC_CONFIGCMAKE@)
set(OpenCV_CUDA_VERSION @OpenCV_CUDA_VERSION@)
set(OpenCV_USE_CUBLAS @HAVE_CUBLAS@)
set(OpenCV_USE_CUFFT @HAVE_CUFFT@)
set(OpenCV_USE_CUBLAS @HAVE_CUBLAS@)
set(OpenCV_USE_CUFFT @HAVE_CUFFT@)
set(OpenCV_USE_NVCUVID @HAVE_NVCUVID@)
# Android API level from which OpenCV has been compiled is remembered
set(OpenCV_ANDROID_NATIVE_API_LEVEL @OpenCV_ANDROID_NATIVE_API_LEVEL_CONFIGCMAKE@)
@@ -99,6 +101,7 @@ SET(OpenCV_VERSION @OPENCV_VERSION@)
SET(OpenCV_VERSION_MAJOR @OPENCV_VERSION_MAJOR@)
SET(OpenCV_VERSION_MINOR @OPENCV_VERSION_MINOR@)
SET(OpenCV_VERSION_PATCH @OPENCV_VERSION_PATCH@)
SET(OpenCV_VERSION_TWEAK @OPENCV_VERSION_TWEAK@)
# ====================================================================
# Link libraries: e.g. libopencv_core.so, opencv_imgproc220d.lib, etc...
@@ -148,6 +151,7 @@ endif()
# ==============================================================
if(NOT OpenCV_FIND_COMPONENTS)
set(OpenCV_FIND_COMPONENTS ${OpenCV_LIB_COMPONENTS})
list(REMOVE_ITEM OpenCV_FIND_COMPONENTS opencv_java)
if(GTest_FOUND OR GTEST_FOUND)
list(REMOVE_ITEM OpenCV_FIND_COMPONENTS opencv_ts)
endif()
@@ -183,7 +187,7 @@ set(OpenCV_FIND_COMPONENTS ${OpenCV_FIND_COMPONENTS_})
# Resolve dependencies
# ==============================================================
if(OpenCV_USE_MANGLED_PATHS)
set(OpenCV_LIB_SUFFIX ".${OpenCV_VERSION}")
set(OpenCV_LIB_SUFFIX ".${OpenCV_VERSION_MAJOR}.${OpenCV_VERSION_MINOR}.${OpenCV_VERSION_PATCH}")
else()
set(OpenCV_LIB_SUFFIX "")
endif()
@@ -198,7 +202,7 @@ foreach(__opttype OPT DBG)
#indicate that this module is also found
string(TOUPPER "${__cvdep}" __cvdep)
set(${__cvdep}_FOUND 1)
else()
elseif(EXISTS "${OpenCV_3RDPARTY_LIB_DIR_${__opttype}}/${OpenCV_${__cvdep}_LIBNAME_${__opttype}}")
list(APPEND OpenCV_LIBS_${__opttype} "${OpenCV_3RDPARTY_LIB_DIR_${__opttype}}/${OpenCV_${__cvdep}_LIBNAME_${__opttype}}")
endif()
endforeach()
@@ -216,17 +220,18 @@ foreach(__opttype OPT DBG)
else()
#TODO: duplicates are annoying but they should not be the problem
endif()
# fix hard coded paths for CUDA libraries under Windows
if(WIN32 AND OpenCV_CUDA_VERSION AND NOT OpenCV_SHARED)
# CUDA
if(OpenCV_CUDA_VERSION AND (CMAKE_CROSSCOMPILING OR (WIN32 AND NOT OpenCV_SHARED)))
if(NOT CUDA_FOUND)
find_package(CUDA ${OpenCV_CUDA_VERSION} EXACT REQUIRED)
else()
if(NOT CUDA_VERSION_STRING VERSION_EQUAL OpenCV_CUDA_VERSION)
message(FATAL_ERROR "OpenCV static library compiled with CUDA ${OpenCV_CUDA_VERSION} support. Please, use the same version or rebuild OpenCV with CUDA ${CUDA_VERSION_STRING}")
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}")
endif()
endif()
list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY} ${CUDA_nvcuvid_LIBRARY} ${CUDA_nvcuvenc_LIBRARY})
list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_LIBRARIES} ${CUDA_npp_LIBRARY})
if(OpenCV_USE_CUBLAS)
list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_CUBLAS_LIBRARIES})
@@ -236,6 +241,13 @@ foreach(__opttype OPT DBG)
list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_CUFFT_LIBRARIES})
endif()
if(OpenCV_USE_NVCUVID)
list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_nvcuvid_LIBRARIES})
endif()
if(WIN32)
list(APPEND OpenCV_EXTRA_LIBS_${__opttype} ${CUDA_nvcuvenc_LIBRARIES})
endif()
endif()
endforeach()
@@ -293,3 +305,11 @@ else()
SET(OpenCV_LIB_DIR ${OpenCV_LIB_DIR_OPT} ${OpenCV_3RDPARTY_LIB_DIR_OPT})
endif()
set(OpenCV_LIBRARIES ${OpenCV_LIBS})
if(CMAKE_CROSSCOMPILING AND OpenCV_SHARED AND (CMAKE_SYSTEM_NAME MATCHES "Linux"))
foreach(dir ${OpenCV_LIB_DIR})
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath-link,${dir}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-rpath-link,${dir}")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-rpath-link,${dir}")
endforeach()
endif()
+32 -11
Ver Arquivo
@@ -13,12 +13,18 @@
*/
#cmakedefine HAVE_ALLOCA_H 1
/* Video for Windows support */
#cmakedefine HAVE_VFW
/* V4L capturing support */
#cmakedefine HAVE_CAMV4L
/* V4L2 capturing support */
#cmakedefine HAVE_CAMV4L2
/* V4L2 capturing support in videoio.h */
#cmakedefine HAVE_VIDEOIO
/* V4L/V4L2 capturing support via libv4l */
#cmakedefine HAVE_LIBV4L
@@ -52,6 +58,9 @@
/* GTK+ 2.0 Thread support */
#cmakedefine HAVE_GTHREAD
/* Win32 UI */
#cmakedefine HAVE_WIN32UI
/* GTK+ 2.x toolkit */
#cmakedefine HAVE_GTK
@@ -175,21 +184,15 @@
/* NVidia Cuda Runtime API*/
#cmakedefine HAVE_CUDA
/* OpenCL Support */
#cmakedefine HAVE_OPENCL
/* AMD's OpenCL Fast Fourier Transform Library*/
#cmakedefine HAVE_CLAMDFFT
/* AMD's Basic Linear Algebra Subprograms Library*/
#cmakedefine HAVE_CLAMDBLAS
/* NVidia Cuda Fast Fourier Transform (FFT) API*/
#cmakedefine HAVE_CUFFT
/* NVidia Cuda Basic Linear Algebra Subprograms (BLAS) API*/
#cmakedefine HAVE_CUBLAS
/* NVidia Video Decoding API*/
#cmakedefine HAVE_NVCUVID
/* Compile for 'real' NVIDIA GPU architectures */
#define CUDA_ARCH_BIN "${OPENCV_CUDA_ARCH_BIN}"
@@ -202,8 +205,20 @@
/* Create PTX or BIN for 1.0 compute capability */
#cmakedefine CUDA_ARCH_BIN_OR_PTX_10
/* VideoInput library */
#cmakedefine HAVE_VIDEOINPUT
/* OpenCL Support */
#cmakedefine HAVE_OPENCL
/* AMD's OpenCL Fast Fourier Transform Library*/
#cmakedefine HAVE_CLAMDFFT
/* AMD's Basic Linear Algebra Subprograms Library*/
#cmakedefine HAVE_CLAMDBLAS
/* DirectShow Video Capture library */
#cmakedefine HAVE_DSHOW
/* Microsoft Media Foundation Capture library */
#cmakedefine HAVE_MSMF
/* XIMEA camera support */
#cmakedefine HAVE_XIMEA
@@ -213,3 +228,9 @@
/* Clp support */
#cmakedefine HAVE_CLP
/* Qt support */
#cmakedefine HAVE_QT
/* Qt OpenGL support */
#cmakedefine HAVE_QT_OPENGL
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+38 -16
Ver Arquivo
@@ -2,8 +2,6 @@
# CMake file for OpenCV docs
#
file(GLOB FILES_DOC *.htm *.txt *.jpg *.png *.pdf)
file(GLOB FILES_DOC_VS vidsurv/*.doc)
file(GLOB FILES_TEX *.tex *.sty *.bib)
file(GLOB FILES_TEX_PICS pics/*.png pics/*.jpg)
@@ -11,6 +9,14 @@ if(BUILD_DOCS AND HAVE_SPHINX)
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/haartraining.htm" "${OpenCV_SOURCE_DIR}/doc/license.txt"
"${OpenCV_SOURCE_DIR}/doc/pattern.png" "${OpenCV_SOURCE_DIR}/doc/acircles_pattern.png")
set(OPTIONAL_DOC_LIST "")
set(OPENCV2_BASE_MODULES core imgproc highgui video calib3d features2d objdetect ml flann gpu photo stitching nonfree contrib legacy)
# build lists of modules to be documented
@@ -47,14 +53,14 @@ if(BUILD_DOCS AND HAVE_SPHINX)
endif()
endforeach()
file(GLOB_RECURSE _OPENCV_FILES_REF "${OpenCV_SOURCE_DIR}/android/service/doc/*.rst")
file(GLOB_RECURSE _OPENCV_FILES_REF_PICT "${OpenCV_SOURCE_DIR}/android/service/doc/*.png" "${OpenCV_SOURCE_DIR}/android/service/doc/*.jpg")
file(GLOB_RECURSE _OPENCV_FILES_REF "${OpenCV_SOURCE_DIR}/platforms/android/service/doc/*.rst")
file(GLOB_RECURSE _OPENCV_FILES_REF_PICT "${OpenCV_SOURCE_DIR}/platforms/android/service/doc/*.png" "${OpenCV_SOURCE_DIR}/platforms/android/service/doc/*.jpg")
list(APPEND OPENCV_FILES_REF ${_OPENCV_FILES_REF})
list(APPEND OPENCV_FILES_REF_PICT ${_OPENCV_FILES_REF_PICT})
configure_file("${OpenCV_SOURCE_DIR}/modules/refman.rst.in" "${OpenCV_SOURCE_DIR}/modules/refman.rst" IMMEDIATE @ONLY)
file(GLOB_RECURSE OPENCV_FILES_UG user_guide/*.rst)
file(GLOB_RECURSE OPENCV_FILES_UG user_guide/*.rst)
file(GLOB_RECURSE OPENCV_FILES_TUT tutorials/*.rst)
file(GLOB_RECURSE OPENCV_FILES_TUT_PICT tutorials/*.png tutorials/*.jpg)
@@ -68,19 +74,29 @@ if(BUILD_DOCS AND HAVE_SPHINX)
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/mymath.sty ${CMAKE_CURRENT_BINARY_DIR}
COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/patch_refman_latex.py" opencv2refman.tex
COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/patch_refman_latex.py" opencv2manager.tex
COMMAND ${PDFLATEX_COMPILER} opencv2refman.tex
COMMAND ${PDFLATEX_COMPILER} opencv2refman.tex
COMMAND ${PDFLATEX_COMPILER} opencv2manager.tex
COMMAND ${PDFLATEX_COMPILER} opencv2manager.tex
COMMAND ${PDFLATEX_COMPILER} opencv_user.tex
COMMAND ${PDFLATEX_COMPILER} opencv_user.tex
COMMAND ${PDFLATEX_COMPILER} opencv_tutorials.tex
COMMAND ${PDFLATEX_COMPILER} opencv_tutorials.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 ${OPENCV_DOC_DEPS}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating the PDF Manuals"
)
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()
@@ -97,7 +113,13 @@ if(BUILD_DOCS AND HAVE_SPHINX)
if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(html_docs PROPERTIES FOLDER "documentation")
endif()
endif()
install(FILES ${FILES_DOC} DESTINATION "${OPENCV_DOC_INSTALL_PATH}" COMPONENT main)
install(FILES ${FILES_DOC_VS} DESTINATION "${OPENCV_DOC_INSTALL_PATH}/vidsurv" COMPONENT main)
foreach(f ${DOC_LIST})
install(FILES "${f}" DESTINATION "${OPENCV_DOC_INSTALL_PATH}" COMPONENT main)
endforeach()
foreach(f ${OPTIONAL_DOC_LIST})
install(FILES "${f}" DESTINATION "${OPENCV_DOC_INSTALL_PATH}" OPTIONAL)
endforeach()
endif()
+1 -1
Ver Arquivo
@@ -183,7 +183,7 @@
{% if theme_lang == 'c' %}
{% endif %}
{% if theme_lang == 'cpp' %}
<li>Try the <a href="http://opencv.willowgarage.com/wiki/Welcome?action=AttachFile&do=get&target=opencv_cheatsheet.pdf">Cheatsheet</a>.</li>
<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>
+8
Ver Arquivo
@@ -394,4 +394,12 @@ div.body ul.search li {
div.linenodiv {
min-width: 1em;
text-align: right;
}
div.sphinxsidebar #searchbox input[type="text"] {
width:auto;
}
div.sphinxsidebar #searchbox input[type="submit"] {
width:auto;
}
+1 -1
Ver Arquivo
@@ -1,4 +1,4 @@
#/usr/bin/env python
#!/usr/bin/env python
import sys, glob
+5 -2
Ver Arquivo
@@ -1,4 +1,4 @@
#/usr/bin/env python
#!/usr/bin/env python
import os, sys, fnmatch, re
@@ -38,7 +38,7 @@ doc_signatures_whitelist = [
"CvArr", "CvFileStorage",
# other
"InputArray", "OutputArray",
]
] + ["CvSubdiv2D", "CvQuadEdge2D", "CvSubdiv2DPoint", "cvDrawContours"]
defines = ["cvGraphEdgeIdx", "cvFree", "CV_Assert", "cvSqrt", "cvGetGraphVtx", "cvGraphVtxIdx",
"cvCaptureFromFile", "cvCaptureFromCAM", "cvCalcBackProjectPatch", "cvCalcBackProject",
@@ -116,6 +116,8 @@ def compareSignatures(f, s):
sarg = arg[1]
ftype = re.sub(r"\b(cv|std)::", "", (farg[0] or ""))
stype = re.sub(r"\b(cv|std)::", "", (sarg[0] or ""))
ftype = re.sub(r"\s+(\*|&)$", "\\1", ftype)
stype = re.sub(r"\s+(\*|&)$", "\\1", stype)
if ftype != stype:
return False, "type of argument #" + str(idx+1) + " mismatch"
fname = farg[1] or "arg" + str(idx)
@@ -151,6 +153,7 @@ def formatSignature(s):
if idx > 0:
_str += ", "
argtype = re.sub(r"\bcv::", "", arg[0])
argtype = re.sub(r"\s+(\*|&)$", "\\1", arg[0])
bidx = argtype.find('[')
if bidx < 0:
_str += argtype + " "
+123 -118
Ver Arquivo
@@ -1,4 +1,4 @@
#/usr/bin/env python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
@@ -44,21 +44,24 @@ master_doc = 'index'
# General information about the project.
project = u'OpenCV'
copyright = u'2011-2012, opencv dev team'
copyright = u'2011-2013, opencv dev team'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
version_file = open("../modules/core/include/opencv2/core/version.hpp", "rt").read()
version_major = re.search("^W*#\W*define\W+CV_MAJOR_VERSION\W+(\d+)\W*$", version_file, re.MULTILINE).group(1)
version_minor = re.search("^W*#\W*define\W+CV_MINOR_VERSION\W+(\d+)\W*$", version_file, re.MULTILINE).group(1)
version_patch = re.search("^W*#\W*define\W+CV_SUBMINOR_VERSION\W+(\d+)\W*$", version_file, re.MULTILINE).group(1)
version_epoch = re.search("^W*#\W*define\W+CV_VERSION_EPOCH\W+(\d+)\W*$", version_file, re.MULTILINE).group(1)
version_major = re.search("^W*#\W*define\W+CV_VERSION_MAJOR\W+(\d+)\W*$", version_file, re.MULTILINE).group(1)
version_minor = re.search("^W*#\W*define\W+CV_VERSION_MINOR\W+(\d+)\W*$", version_file, re.MULTILINE).group(1)
version_patch = re.search("^W*#\W*define\W+CV_VERSION_REVISION\W+(\d+)\W*$", version_file, re.MULTILINE).group(1)
# The short X.Y version.
version = version_major + '.' + version_minor
version = version_epoch + '.' + version_major
# The full version, including alpha/beta/rc tags.
release = version_major + '.' + version_minor + '.' + version_patch
release = version_epoch + '.' + version_major + '.' + version_minor
if version_patch:
release = release + '.' + version_patch
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@@ -236,7 +239,7 @@ latex_documents = [
u'', 'manual'),
('doc/tutorials/tutorials', 'opencv_tutorials.tex', u'The OpenCV Tutorials',
u'', 'manual'),
('android/refman', 'opencv2manager.tex', u'The OpenCV Manager Manual',
('platforms/android/refman', 'opencv2manager.tex', u'The OpenCV Manager Manual',
u'', 'manual'),
]
@@ -281,120 +284,122 @@ latex_domain_indices = True
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'opencv', u'The OpenCV Reference Manual',
[u'opencv-dev@itseez.com'], 1)
[u'admin@opencv.org'], 1)
]
# ---- External links for tutorials -----------------
extlinks = {
'basicstructures' : ('http://opencv.itseez.com/modules/core/doc/basic_structures.html#%s', None),
'oldbasicstructures' : ('http://opencv.itseez.com/modules/core/doc/old_basic_structures.html#%s', None),
'readwriteimagevideo' : ('http://opencv.itseez.com/modules/highgui/doc/reading_and_writing_images_and_video.html#%s', None),
'operationsonarrays' : ('http://opencv.itseez.com/modules/core/doc/operations_on_arrays.html#%s', None),
'utilitysystemfunctions':('http://opencv.itseez.com/modules/core/doc/utility_and_system_functions_and_macros.html#%s', None),
'imgprocfilter':('http://opencv.itseez.com/modules/imgproc/doc/filtering.html#%s', None),
'svms':('http://opencv.itseez.com/modules/ml/doc/support_vector_machines.html#%s', None),
'drawingfunc':('http://opencv.itseez.com/modules/core/doc/drawing_functions.html#%s', None),
'xmlymlpers':('http://opencv.itseez.com/modules/core/doc/xml_yaml_persistence.html#%s', None),
'hgvideo' : ('http://opencv.itseez.com/modules/highgui/doc/reading_and_writing_images_and_video.html#%s', None),
'gpuinit' : ('http://opencv.itseez.com/modules/gpu/doc/initalization_and_information.html#%s', None),
'gpudatastructure' : ('http://opencv.itseez.com/modules/gpu/doc/data_structures.html#%s', None),
'gpuopmatrices' : ('http://opencv.itseez.com/modules/gpu/doc/operations_on_matrices.html#%s', None),
'gpuperelement' : ('http://opencv.itseez.com/modules/gpu/doc/per_element_operations.html#%s', None),
'gpuimgproc' : ('http://opencv.itseez.com/modules/gpu/doc/image_processing.html#%s', None),
'gpumatrixreduct' : ('http://opencv.itseez.com/modules/gpu/doc/matrix_reductions.html#%s', None),
'filtering':('http://opencv.itseez.com/modules/imgproc/doc/filtering.html#%s', None),
'flann' : ('http://opencv.itseez.com/modules/flann/doc/flann_fast_approximate_nearest_neighbor_search.html#%s', None ),
'calib3d' : ('http://opencv.itseez.com/trunk/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#%s', None ),
'feature2d' : ('http://opencv.itseez.com/trunk/modules/imgproc/doc/feature_detection.html#%s', None ),
'imgproc_geometric' : ('http://opencv.itseez.com/trunk/modules/imgproc/doc/geometric_transformations.html#%s', None ),
'basicstructures' : ('http://docs.opencv.org/modules/core/doc/basic_structures.html#%s', None),
'oldbasicstructures' : ('http://docs.opencv.org/modules/core/doc/old_basic_structures.html#%s', None),
'readwriteimagevideo' : ('http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html#%s', None),
'operationsonarrays' : ('http://docs.opencv.org/modules/core/doc/operations_on_arrays.html#%s', None),
'utilitysystemfunctions':('http://docs.opencv.org/modules/core/doc/utility_and_system_functions_and_macros.html#%s', None),
'imgprocfilter':('http://docs.opencv.org/modules/imgproc/doc/filtering.html#%s', None),
'svms':('http://docs.opencv.org/modules/ml/doc/support_vector_machines.html#%s', None),
'drawingfunc':('http://docs.opencv.org/modules/core/doc/drawing_functions.html#%s', None),
'xmlymlpers':('http://docs.opencv.org/modules/core/doc/xml_yaml_persistence.html#%s', None),
'hgvideo' : ('http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html#%s', None),
'gpuinit' : ('http://docs.opencv.org/modules/gpu/doc/initalization_and_information.html#%s', None),
'gpudatastructure' : ('http://docs.opencv.org/modules/gpu/doc/data_structures.html#%s', None),
'gpuopmatrices' : ('http://docs.opencv.org/modules/gpu/doc/operations_on_matrices.html#%s', None),
'gpuperelement' : ('http://docs.opencv.org/modules/gpu/doc/per_element_operations.html#%s', None),
'gpuimgproc' : ('http://docs.opencv.org/modules/gpu/doc/image_processing.html#%s', None),
'gpumatrixreduct' : ('http://docs.opencv.org/modules/gpu/doc/matrix_reductions.html#%s', None),
'filtering':('http://docs.opencv.org/modules/imgproc/doc/filtering.html#%s', None),
'flann' : ('http://docs.opencv.org/modules/flann/doc/flann_fast_approximate_nearest_neighbor_search.html#%s', None ),
'calib3d' : ('http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#%s', None ),
'feature2d' : ('http://docs.opencv.org/modules/imgproc/doc/feature_detection.html#%s', None ),
'imgproc_geometric' : ('http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html#%s', None ),
'opencv_group' : ('http://tech.groups.yahoo.com/group/OpenCV/%s', None),
# 'opencv_group' : ('http://answers.opencv.org/%s', None),
'opencv_qa' : ('http://answers.opencv.org/%s', None),
'how_to_contribute' : ('http://code.opencv.org/projects/opencv/wiki/How_to_contribute/%s', None),
'cvt_color': ('http://opencv.itseez.com/modules/imgproc/doc/miscellaneous_transformations.html?highlight=cvtcolor#cvtcolor%s', None),
'imread': ('http://opencv.itseez.com/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=imread#imread%s', None),
'imwrite': ('http://opencv.itseez.com/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=imwrite#imwrite%s', None),
'imshow': ('http://opencv.itseez.com/modules/highgui/doc/user_interface.html?highlight=imshow#imshow%s', None),
'named_window': ('http://opencv.itseez.com/modules/highgui/doc/user_interface.html?highlight=namedwindow#namedwindow%s', None),
'wait_key': ('http://opencv.itseez.com/modules/highgui/doc/user_interface.html?highlight=waitkey#waitkey%s', None),
'add_weighted': ('http://opencv.itseez.com/modules/core/doc/operations_on_arrays.html?highlight=addweighted#addweighted%s', None),
'saturate_cast': ('http://opencv.itseez.com/modules/core/doc/utility_and_system_functions_and_macros.html?highlight=saturate_cast#saturate-cast%s', None),
'mat_zeros': ('http://opencv.itseez.com/modules/core/doc/basic_structures.html?highlight=zeros#mat-zeros%s', None),
'convert_to': ('http://opencv.itseez.com/modules/core/doc/basic_structures.html#mat-convertto%s', None),
'create_trackbar': ('http://opencv.itseez.com/modules/highgui/doc/user_interface.html?highlight=createtrackbar#createtrackbar%s', None),
'point': ('http://opencv.itseez.com/modules/core/doc/basic_structures.html#point%s', None),
'scalar': ('http://opencv.itseez.com/modules/core/doc/basic_structures.html#scalar%s', None),
'line': ('http://opencv.itseez.com/modules/core/doc/drawing_functions.html#line%s', None),
'ellipse': ('http://opencv.itseez.com/modules/core/doc/drawing_functions.html#ellipse%s', None),
'rectangle': ('http://opencv.itseez.com/modules/core/doc/drawing_functions.html#rectangle%s', None),
'circle': ('http://opencv.itseez.com/modules/core/doc/drawing_functions.html#circle%s', None),
'fill_poly': ('http://opencv.itseez.com/modules/core/doc/drawing_functions.html#fillpoly%s', None),
'rng': ('http://opencv.itseez.com/modules/core/doc/operations_on_arrays.html?highlight=rng#rng%s', None),
'put_text': ('http://opencv.itseez.com/modules/core/doc/drawing_functions.html#puttext%s', None),
'gaussian_blur': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=gaussianblur#gaussianblur%s', None),
'blur': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=blur#blur%s', None),
'median_blur': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=medianblur#medianblur%s', None),
'bilateral_filter': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=bilateralfilter#bilateralfilter%s', None),
'erode': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=erode#erode%s', None),
'dilate': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=dilate#dilate%s', None),
'get_structuring_element': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=getstructuringelement#getstructuringelement%s', None),
'flood_fill': ( 'http://opencv.itseez.com/modules/imgproc/doc/miscellaneous_transformations.html?highlight=floodfill#floodfill%s', None),
'morphology_ex': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=morphologyex#morphologyex%s', None),
'pyr_down': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=pyrdown#pyrdown%s', None),
'pyr_up': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=pyrup#pyrup%s', None),
'resize': ('http://opencv.itseez.com/modules/imgproc/doc/geometric_transformations.html?highlight=resize#resize%s', None),
'threshold': ('http://opencv.itseez.com/modules/imgproc/doc/miscellaneous_transformations.html?highlight=threshold#threshold%s', None),
'filter2d': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=filter2d#filter2d%s', None),
'copy_make_border': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=copymakeborder#copymakeborder%s', None),
'sobel': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=sobel#sobel%s', None),
'scharr': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=scharr#scharr%s', None),
'laplacian': ('http://opencv.itseez.com/modules/imgproc/doc/filtering.html?highlight=laplacian#laplacian%s', None),
'canny': ('http://opencv.itseez.com/modules/imgproc/doc/feature_detection.html?highlight=canny#canny%s', None),
'copy_to': ('http://opencv.itseez.com/modules/core/doc/basic_structures.html?highlight=copyto#mat-copyto%s', None),
'hough_lines' : ('http://opencv.itseez.com/modules/imgproc/doc/feature_detection.html?highlight=houghlines#houghlines%s', None),
'hough_lines_p' : ('http://opencv.itseez.com/modules/imgproc/doc/feature_detection.html?highlight=houghlinesp#houghlinesp%s', None),
'hough_circles' : ('http://opencv.itseez.com/modules/imgproc/doc/feature_detection.html?highlight=houghcircles#houghcircles%s', None),
'remap' : ('http://opencv.itseez.com/modules/imgproc/doc/geometric_transformations.html?highlight=remap#remap%s', None),
'warp_affine' : ('http://opencv.itseez.com/modules/imgproc/doc/geometric_transformations.html?highlight=warpaffine#warpaffine%s' , None),
'get_rotation_matrix_2d' : ('http://opencv.itseez.com/modules/imgproc/doc/geometric_transformations.html?highlight=getrotationmatrix2d#getrotationmatrix2d%s', None),
'get_affine_transform' : ('http://opencv.itseez.com/modules/imgproc/doc/geometric_transformations.html?highlight=getaffinetransform#getaffinetransform%s', None),
'equalize_hist' : ('http://opencv.itseez.com/modules/imgproc/doc/histograms.html?highlight=equalizehist#equalizehist%s', None),
'split' : ('http://opencv.itseez.com/modules/core/doc/operations_on_arrays.html?highlight=split#split%s', None),
'calc_hist' : ('http://opencv.itseez.com/modules/imgproc/doc/histograms.html?highlight=calchist#calchist%s', None),
'normalize' : ('http://opencv.itseez.com/modules/core/doc/operations_on_arrays.html?highlight=normalize#normalize%s', None),
'match_template' : ('http://opencv.itseez.com/modules/imgproc/doc/object_detection.html?highlight=matchtemplate#matchtemplate%s', None),
'min_max_loc' : ('http://opencv.itseez.com/modules/core/doc/operations_on_arrays.html?highlight=minmaxloc#minmaxloc%s', None),
'mix_channels' : ( 'http://opencv.itseez.com/modules/core/doc/operations_on_arrays.html?highlight=mixchannels#mixchannels%s', None),
'calc_back_project' : ('http://opencv.itseez.com/modules/imgproc/doc/histograms.html?highlight=calcbackproject#calcbackproject%s', None),
'compare_hist' : ('http://opencv.itseez.com/modules/imgproc/doc/histograms.html?highlight=comparehist#comparehist%s', None),
'corner_harris' : ('http://opencv.itseez.com/modules/imgproc/doc/feature_detection.html?highlight=cornerharris#cornerharris%s', None),
'good_features_to_track' : ('http://opencv.itseez.com/modules/imgproc/doc/feature_detection.html?highlight=goodfeaturestotrack#goodfeaturestotrack%s', None),
'corner_min_eigenval' : ('http://opencv.itseez.com/modules/imgproc/doc/feature_detection.html?highlight=cornermineigenval#cornermineigenval%s', None),
'corner_eigenvals_and_vecs' : ('http://opencv.itseez.com/modules/imgproc/doc/feature_detection.html?highlight=cornereigenvalsandvecs#cornereigenvalsandvecs%s', None),
'corner_sub_pix' : ('http://opencv.itseez.com/modules/imgproc/doc/feature_detection.html?highlight=cornersubpix#cornersubpix%s', None),
'find_contours' : ('http://opencv.itseez.com/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=findcontours#findcontours%s', None),
'convex_hull' : ('http://opencv.itseez.com/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=convexhull#convexhull%s', None),
'draw_contours' : ('http://opencv.itseez.com/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=drawcontours#drawcontours%s', None),
'bounding_rect' : ('http://opencv.itseez.com/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=boundingrect#boundingrect%s', None),
'min_enclosing_circle' : ('http://opencv.itseez.com/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=minenclosingcircle#minenclosingcircle%s', None),
'min_area_rect' : ('http://opencv.itseez.com/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=minarearect#minarearect%s', None),
'fit_ellipse' : ('http://opencv.itseez.com/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=fitellipse#fitellipse%s', None),
'moments' : ('http://opencv.itseez.com/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=moments#moments%s', None),
'contour_area' : ('http://opencv.itseez.com/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=contourarea#contourarea%s', None),
'arc_length' : ('http://opencv.itseez.com/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=arclength#arclength%s', None),
'point_polygon_test' : ('http://opencv.itseez.com/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=pointpolygontest#pointpolygontest%s', None),
'feature_detector' : ( 'http://opencv.itseez.com/modules/features2d/doc/common_interfaces_of_feature_detectors.html?highlight=featuredetector#FeatureDetector%s', None),
'feature_detector_detect' : ('http://opencv.itseez.com/modules/features2d/doc/common_interfaces_of_feature_detectors.html?highlight=detect#featuredetector-detect%s', None ),
'surf_feature_detector' : ('http://opencv.itseez.com/modules/features2d/doc/common_interfaces_of_feature_detectors.html?highlight=surffeaturedetector#surffeaturedetector%s', None ),
'draw_keypoints' : ('http://opencv.itseez.com/modules/features2d/doc/drawing_function_of_keypoints_and_matches.html?highlight=drawkeypoints#drawkeypoints%s', None ),
'descriptor_extractor': ( 'http://opencv.itseez.com/modules/features2d/doc/common_interfaces_of_descriptor_extractors.html?highlight=descriptorextractor#descriptorextractor%s', None ),
'descriptor_extractor_compute' : ( 'http://opencv.itseez.com/modules/features2d/doc/common_interfaces_of_descriptor_extractors.html?highlight=compute#descriptorextractor-compute%s', None ),
'surf_descriptor_extractor' : ( 'http://opencv.itseez.com/modules/features2d/doc/common_interfaces_of_descriptor_extractors.html?highlight=surfdescriptorextractor#surfdescriptorextractor%s', None ),
'draw_matches' : ( 'http://opencv.itseez.com/modules/features2d/doc/drawing_function_of_keypoints_and_matches.html?highlight=drawmatches#drawmatches%s', None ),
'find_homography' : ('http://opencv.itseez.com/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html?highlight=findhomography#findhomography%s', None),
'perspective_transform' : ('http://opencv.itseez.com/modules/core/doc/operations_on_arrays.html?highlight=perspectivetransform#perspectivetransform%s', None ),
'flann_based_matcher' : ('http://opencv.itseez.com/modules/features2d/doc/common_interfaces_of_descriptor_matchers.html?highlight=flannbasedmatcher#flannbasedmatcher%s', None),
'brute_force_matcher' : ('http://opencv.itseez.com/modules/features2d/doc/common_interfaces_of_descriptor_matchers.html?highlight=bruteforcematcher#bruteforcematcher%s', None ),
'cascade_classifier' : ('http://opencv.itseez.com/modules/objdetect/doc/cascade_classification.html?highlight=cascadeclassifier#cascadeclassifier%s', None ),
'cascade_classifier_load' : ('http://opencv.itseez.com/modules/objdetect/doc/cascade_classification.html?highlight=load#cascadeclassifier-load%s', None ),
'cascade_classifier_detect_multiscale' : ('http://opencv.itseez.com/modules/objdetect/doc/cascade_classification.html?highlight=detectmultiscale#cascadeclassifier-detectmultiscale%s', None )
'cvt_color': ('http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html?highlight=cvtcolor#cvtcolor%s', None),
'imread': ('http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=imread#imread%s', None),
'imwrite': ('http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=imwrite#imwrite%s', None),
'imshow': ('http://docs.opencv.org/modules/highgui/doc/user_interface.html?highlight=imshow#imshow%s', None),
'named_window': ('http://docs.opencv.org/modules/highgui/doc/user_interface.html?highlight=namedwindow#namedwindow%s', None),
'wait_key': ('http://docs.opencv.org/modules/highgui/doc/user_interface.html?highlight=waitkey#waitkey%s', None),
'add_weighted': ('http://docs.opencv.org/modules/core/doc/operations_on_arrays.html?highlight=addweighted#addweighted%s', None),
'saturate_cast': ('http://docs.opencv.org/modules/core/doc/utility_and_system_functions_and_macros.html?highlight=saturate_cast#saturate-cast%s', None),
'mat_zeros': ('http://docs.opencv.org/modules/core/doc/basic_structures.html?highlight=zeros#mat-zeros%s', None),
'convert_to': ('http://docs.opencv.org/modules/core/doc/basic_structures.html#mat-convertto%s', None),
'create_trackbar': ('http://docs.opencv.org/modules/highgui/doc/user_interface.html?highlight=createtrackbar#createtrackbar%s', None),
'point': ('http://docs.opencv.org/modules/core/doc/basic_structures.html#point%s', None),
'scalar': ('http://docs.opencv.org/modules/core/doc/basic_structures.html#scalar%s', None),
'line': ('http://docs.opencv.org/modules/core/doc/drawing_functions.html#line%s', None),
'ellipse': ('http://docs.opencv.org/modules/core/doc/drawing_functions.html#ellipse%s', None),
'rectangle': ('http://docs.opencv.org/modules/core/doc/drawing_functions.html#rectangle%s', None),
'circle': ('http://docs.opencv.org/modules/core/doc/drawing_functions.html#circle%s', None),
'fill_poly': ('http://docs.opencv.org/modules/core/doc/drawing_functions.html#fillpoly%s', None),
'rng': ('http://docs.opencv.org/modules/core/doc/operations_on_arrays.html?highlight=rng#rng%s', None),
'put_text': ('http://docs.opencv.org/modules/core/doc/drawing_functions.html#puttext%s', None),
'gaussian_blur': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=gaussianblur#gaussianblur%s', None),
'blur': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=blur#blur%s', None),
'median_blur': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=medianblur#medianblur%s', None),
'bilateral_filter': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=bilateralfilter#bilateralfilter%s', None),
'erode': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=erode#erode%s', None),
'dilate': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=dilate#dilate%s', None),
'get_structuring_element': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=getstructuringelement#getstructuringelement%s', None),
'flood_fill': ( 'http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html?highlight=floodfill#floodfill%s', None),
'morphology_ex': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=morphologyex#morphologyex%s', None),
'pyr_down': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=pyrdown#pyrdown%s', None),
'pyr_up': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=pyrup#pyrup%s', None),
'resize': ('http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html?highlight=resize#resize%s', None),
'threshold': ('http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html?highlight=threshold#threshold%s', None),
'filter2d': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=filter2d#filter2d%s', None),
'copy_make_border': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=copymakeborder#copymakeborder%s', None),
'sobel': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=sobel#sobel%s', None),
'scharr': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=scharr#scharr%s', None),
'laplacian': ('http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=laplacian#laplacian%s', None),
'canny': ('http://docs.opencv.org/modules/imgproc/doc/feature_detection.html?highlight=canny#canny%s', None),
'copy_to': ('http://docs.opencv.org/modules/core/doc/basic_structures.html?highlight=copyto#mat-copyto%s', None),
'hough_lines' : ('http://docs.opencv.org/modules/imgproc/doc/feature_detection.html?highlight=houghlines#houghlines%s', None),
'hough_lines_p' : ('http://docs.opencv.org/modules/imgproc/doc/feature_detection.html?highlight=houghlinesp#houghlinesp%s', None),
'hough_circles' : ('http://docs.opencv.org/modules/imgproc/doc/feature_detection.html?highlight=houghcircles#houghcircles%s', None),
'remap' : ('http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html?highlight=remap#remap%s', None),
'warp_affine' : ('http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html?highlight=warpaffine#warpaffine%s' , None),
'get_rotation_matrix_2d' : ('http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html?highlight=getrotationmatrix2d#getrotationmatrix2d%s', None),
'get_affine_transform' : ('http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html?highlight=getaffinetransform#getaffinetransform%s', None),
'equalize_hist' : ('http://docs.opencv.org/modules/imgproc/doc/histograms.html?highlight=equalizehist#equalizehist%s', None),
'split' : ('http://docs.opencv.org/modules/core/doc/operations_on_arrays.html?highlight=split#split%s', None),
'calc_hist' : ('http://docs.opencv.org/modules/imgproc/doc/histograms.html?highlight=calchist#calchist%s', None),
'normalize' : ('http://docs.opencv.org/modules/core/doc/operations_on_arrays.html?highlight=normalize#normalize%s', None),
'match_template' : ('http://docs.opencv.org/modules/imgproc/doc/object_detection.html?highlight=matchtemplate#matchtemplate%s', None),
'min_max_loc' : ('http://docs.opencv.org/modules/core/doc/operations_on_arrays.html?highlight=minmaxloc#minmaxloc%s', None),
'mix_channels' : ( 'http://docs.opencv.org/modules/core/doc/operations_on_arrays.html?highlight=mixchannels#mixchannels%s', None),
'calc_back_project' : ('http://docs.opencv.org/modules/imgproc/doc/histograms.html?highlight=calcbackproject#calcbackproject%s', None),
'compare_hist' : ('http://docs.opencv.org/modules/imgproc/doc/histograms.html?highlight=comparehist#comparehist%s', None),
'corner_harris' : ('http://docs.opencv.org/modules/imgproc/doc/feature_detection.html?highlight=cornerharris#cornerharris%s', None),
'good_features_to_track' : ('http://docs.opencv.org/modules/imgproc/doc/feature_detection.html?highlight=goodfeaturestotrack#goodfeaturestotrack%s', None),
'corner_min_eigenval' : ('http://docs.opencv.org/modules/imgproc/doc/feature_detection.html?highlight=cornermineigenval#cornermineigenval%s', None),
'corner_eigenvals_and_vecs' : ('http://docs.opencv.org/modules/imgproc/doc/feature_detection.html?highlight=cornereigenvalsandvecs#cornereigenvalsandvecs%s', None),
'corner_sub_pix' : ('http://docs.opencv.org/modules/imgproc/doc/feature_detection.html?highlight=cornersubpix#cornersubpix%s', None),
'find_contours' : ('http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=findcontours#findcontours%s', None),
'convex_hull' : ('http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=convexhull#convexhull%s', None),
'draw_contours' : ('http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=drawcontours#drawcontours%s', None),
'bounding_rect' : ('http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=boundingrect#boundingrect%s', None),
'min_enclosing_circle' : ('http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=minenclosingcircle#minenclosingcircle%s', None),
'min_area_rect' : ('http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=minarearect#minarearect%s', None),
'fit_ellipse' : ('http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=fitellipse#fitellipse%s', None),
'moments' : ('http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=moments#moments%s', None),
'contour_area' : ('http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=contourarea#contourarea%s', None),
'arc_length' : ('http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=arclength#arclength%s', None),
'point_polygon_test' : ('http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=pointpolygontest#pointpolygontest%s', None),
'feature_detector' : ( 'http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_feature_detectors.html?highlight=featuredetector#FeatureDetector%s', None),
'feature_detector_detect' : ('http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_feature_detectors.html?highlight=detect#featuredetector-detect%s', None ),
'surf_feature_detector' : ('http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_feature_detectors.html?highlight=surffeaturedetector#surffeaturedetector%s', None ),
'draw_keypoints' : ('http://docs.opencv.org/modules/features2d/doc/drawing_function_of_keypoints_and_matches.html?highlight=drawkeypoints#drawkeypoints%s', None ),
'descriptor_extractor': ( 'http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_descriptor_extractors.html?highlight=descriptorextractor#descriptorextractor%s', None ),
'descriptor_extractor_compute' : ( 'http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_descriptor_extractors.html?highlight=compute#descriptorextractor-compute%s', None ),
'surf_descriptor_extractor' : ( 'http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_descriptor_extractors.html?highlight=surfdescriptorextractor#surfdescriptorextractor%s', None ),
'draw_matches' : ( 'http://docs.opencv.org/modules/features2d/doc/drawing_function_of_keypoints_and_matches.html?highlight=drawmatches#drawmatches%s', None ),
'find_homography' : ('http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html?highlight=findhomography#findhomography%s', None),
'perspective_transform' : ('http://docs.opencv.org/modules/core/doc/operations_on_arrays.html?highlight=perspectivetransform#perspectivetransform%s', None ),
'flann_based_matcher' : ('http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_descriptor_matchers.html?highlight=flannbasedmatcher#flannbasedmatcher%s', None),
'brute_force_matcher' : ('http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_descriptor_matchers.html?highlight=bruteforcematcher#bruteforcematcher%s', None ),
'cascade_classifier' : ('http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html?highlight=cascadeclassifier#cascadeclassifier%s', None ),
'cascade_classifier_load' : ('http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html?highlight=load#cascadeclassifier-load%s', None ),
'cascade_classifier_detect_multiscale' : ('http://docs.opencv.org/modules/objdetect/doc/cascade_classification.html?highlight=detectmultiscale#cascadeclassifier-detectmultiscale%s', None )
}
+58 -5
Ver Arquivo
@@ -1,4 +1,4 @@
#/usr/bin/env python
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
ocv domain, a modified copy of sphinx.domains.cpp + shpinx.domains.python.
@@ -992,6 +992,11 @@ class DefinitionParser(object):
return rv
def _parse_signature(self):
if r'CvStatModel::train' in self.definition:
# hack to skip parsing of problematic definition
self.pos = self.end
return [ArgumentDefExpr("const Mat&", "train_data", None), ArgumentDefExpr(None, self.definition[self.definition.find("["):-1], None)], False, True
self.skip_ws()
if not self.skip_string('('):
self.fail('expected parentheses for function')
@@ -1075,6 +1080,17 @@ class DefinitionParser(object):
value = None
return MemberObjDefExpr(name, visibility, static, typename, value)
def parse_enum_member_object(self):
visibility, static = self._parse_visibility_static()
typename = None
name = self._parse_type()
self.skip_ws()
if self.skip_string('='):
value = self.read_rest().strip()
else:
value = None
return MemberObjDefExpr(name, visibility, static, typename, value)
def parse_function(self):
visibility, static = self._parse_visibility_static()
if self.skip_word('explicit'):
@@ -1180,6 +1196,8 @@ class OCVObject(ObjectDescription):
def add_target_and_index(self, sigobj, sig, signode):
theid = sig#obj.get_id()
theid = re.sub(r" +", " ", theid)
if self.objtype == 'emember':
theid = re.sub(r" ?=.*", "", theid)
theid = re.sub(r"=[^,()]+\([^)]*?\)[^,)]*(,|\))", "\\1", theid)
theid = re.sub(r"=\w*[^,)(]+(,|\))", "\\1", theid)
theid = theid.replace("( ", "(").replace(" )", ")")
@@ -1293,6 +1311,25 @@ class OCVTypeObject(OCVObject):
signode += nodes.Text(' ')
self.attach_name(signode, obj.name)
class OCVEnumObject(OCVObject):
def get_index_text(self, name):
if self.objtype == 'enum':
return _('%s (enum)') % name
return ''
def parse_definition(self, parser):
return parser.parse_type_object()
def describe_signature(self, signode, obj):
self.attach_modifiers(signode, obj)
signode += addnodes.desc_annotation('enum ', 'enum ')
if obj.typename is not None:
self.attach_type(signode, obj.typename)
signode += nodes.Text(' ')
self.attach_name(signode, obj.name)
class OCVMemberObject(OCVObject):
ismember = True
@@ -1309,12 +1346,20 @@ class OCVMemberObject(OCVObject):
def describe_signature(self, signode, obj):
self.attach_modifiers(signode, obj)
self.attach_type(signode, obj.typename)
signode += nodes.Text(' ')
if obj.typename:
self.attach_type(signode, obj.typename)
signode += nodes.Text(' ')
self.attach_name(signode, obj.name)
if obj.value is not None:
signode += nodes.Text(u' = ' + obj.value)
class OCVEnumMemberObject(OCVMemberObject):
def parse_definition(self, parser):
# parent_class = self.env.temp_data.get('ocv:parent')
# if parent_class is None:
# parser.fail("missing parent structure/class")
return parser.parse_enum_member_object()
class OCVFunctionObject(OCVObject):
def attach_function(self, node, func):
@@ -1448,7 +1493,9 @@ class OCVDomain(Domain):
'pyfunction': ObjType(l_('pyfunction'), 'pyfunc'),
'pyoldfunction': ObjType(l_('pyoldfunction'), 'pyoldfunc'),
'member': ObjType(l_('member'), 'member'),
'type': ObjType(l_('type'), 'type')
'emember': ObjType(l_('emember'), 'emember'),
'type': ObjType(l_('type'), 'type'),
'enum': ObjType(l_('enum'), 'enum')
}
directives = {
@@ -1460,7 +1507,9 @@ class OCVDomain(Domain):
'pyfunction': OCVPyModulelevel,
'pyoldfunction': OCVPyOldModulelevel,
'member': OCVMemberObject,
'emember': OCVEnumMemberObject,
'type': OCVTypeObject,
'enum': OCVEnumObject,
'namespace': OCVCurrentNamespace
}
roles = {
@@ -1475,7 +1524,9 @@ class OCVDomain(Domain):
'pyfunc' : OCVPyXRefRole(),
'pyoldfunc' : OCVPyXRefRole(),
'member': OCVXRefRole(),
'type': OCVXRefRole()
'emember': OCVXRefRole(),
'type': OCVXRefRole(),
'enum': OCVXRefRole()
}
initial_data = {
'objects': {}, # fullname -> docname, objtype
@@ -1563,7 +1614,9 @@ class OCVDomain(Domain):
'pyfunction': _('Python function'),
'pyoldfunction': _('Legacy Python function'),
'member': _('C++ member'),
'emember': _('enum member'),
'type': _('C/C++ type'),
'enum': _('C/C++ enum'),
'namespace': _('C++ namespace'),
}.get(type.lname, _('%s %s') % (self.label, type.lname))
+2 -1
Ver Arquivo
@@ -67,6 +67,7 @@
\usepackage[pdftex]{color,graphicx}
\usepackage[landscape]{geometry}
\usepackage{hyperref}
\usepackage[T1]{fontenc}
\hypersetup{colorlinks=true, filecolor=black, linkcolor=black, urlcolor=blue, citecolor=black}
\graphicspath{{./images/}}
@@ -214,7 +215,7 @@
\> \texttt{for(int y = 1; y < image.rows-1; y++) \{}\\
\> \> \texttt{Vec3b* prevRow = image.ptr<Vec3b>(y-1);}\\
\> \> \texttt{Vec3b* nextRow = image.ptr<Vec3b>(y+1);}\\
\> \> \texttt{for(int x = 0; y < image.cols; x++)}\\
\> \> \texttt{for(int x = 0; x < image.cols; x++)}\\
\> \> \> \texttt{for(int c = 0; c < 3; c++)}\\
\> \> \> \texttt{ dyImage.at<Vec3b>(y,x)[c] =}\\
\> \> \> \texttt{ saturate\_cast<uchar>(}\\
+1 -1
Ver Arquivo
@@ -1,4 +1,4 @@
#/usr/bin/env python
#!/usr/bin/env python
import sys
+1 -1
Ver Arquivo
@@ -1,4 +1,4 @@
#/usr/bin/env python
#!/usr/bin/env python
"""gen_pattern.py
To run:
+1 -1
Ver Arquivo
@@ -1,4 +1,4 @@
#/usr/bin/env python
#!/usr/bin/env python
# svgfig.py copyright (C) 2008 Jim Pivarski <jpivarski@gmail.com>
#
+1 -1
Ver Arquivo
@@ -1,4 +1,4 @@
#/usr/bin/env python
#!/usr/bin/env python
import os, sys, re
@@ -12,8 +12,8 @@ For the distortion OpenCV takes into account the radial and tangential factors.
.. math::
x_{corrected} = x( 1 + k_1 r^2 + k_2 r^4 + k^3 r^6) \\
y_{corrected} = y( 1 + k_1 r^2 + k_2 r^4 + k^3 r^6)
x_{corrected} = x( 1 + k_1 r^2 + k_2 r^4 + k_3 r^6) \\
y_{corrected} = y( 1 + k_1 r^2 + k_2 r^4 + k_3 r^6)
So for an old pixel point at :math:`(x,y)` coordinate in the input image, for a corrected output image its position will be :math:`(x_{corrected} y_{corrected})` . The presence of the radial distortion manifests in form of the "barrel" or "fish-eye" effect.
@@ -53,8 +53,8 @@ As usual, after the not-so-lengthy explanation, let's go to the code:
std::cout<<"* Enter alpha [0-1]: ";
std::cin>>input;
/// We use the alpha provided by the user iff it is between 0 and 1
if( alpha >= 0 && alpha <= 1 )
/// We use the alpha provided by the user if it is between 0 and 1
if( input >= 0.0 && input <= 1.0 )
{ alpha = input; }
/// Read image ( same size, same type )
@@ -6,26 +6,28 @@ Mat - The Basic Image Container
Goal
====
We have multiple ways to acquire digital images from the real world: digital cameras, scanners, computed tomography or magnetic resonance imaging to just name a few. In every case what we (humans) see are images. However, when transforming this to our digital devices what we record are numerical values for each of the points of the image.
We have multiple ways to acquire digital images from the real world: digital cameras, scanners, computed tomography, and magnetic resonance imaging to name a few. In every case what we (humans) see are images. However, when transforming this to our digital devices what we record are numerical values for each of the points of the image.
.. image:: images/MatBasicImageForComputer.jpg
:alt: A matrix of the mirror of a car
:align: center
For example in the above image you can see that the mirror of the care is nothing more than a matrix containing all the intensity values of the pixel points. Now, how we get and store the pixels values may vary according to what fits best our need, in the end all images inside a computer world may be reduced to numerical matrices and some other information's describing the matric itself. *OpenCV* is a computer vision library whose main focus is to process and manipulate these information to find out further ones. Therefore, the first thing you need to learn and get accommodated with is how OpenCV stores and handles images.
For example in the above image you can see that the mirror of the car is nothing more than a matrix containing all the intensity values of the pixel points. How we get and store the pixels values may vary according to our needs, but in the end all images inside a computer world may be reduced to numerical matrices and other information describing the matrix itself. *OpenCV* is a computer vision library whose main focus is to process and manipulate this information. Therefore, the first thing you need to be familiar with is how OpenCV stores and handles images.
*Mat*
=====
OpenCV has been around ever since 2001. In those days the library was built around a *C* interface. In those days to store the image in the memory they used a C structure entitled *IplImage*. This is the one you'll see in most of the older tutorials and educational materials. The problem with this is that it brings to the table all the minuses of the C language. The biggest issue is the manual management. It builds on the assumption that the user is responsible for taking care of memory allocation and deallocation. While this is no issue in case of smaller programs once your code base start to grove larger and larger it will be more and more a struggle to handle all this rather than focusing on actually solving your development goal.
OpenCV has been around since 2001. In those days the library was built around a *C* interface and to store the image in the memory they used a C structure called *IplImage*. This is the one you'll see in most of the older tutorials and educational materials. The problem with this is that it brings to the table all the minuses of the C language. The biggest issue is the manual memory management. It builds on the assumption that the user is responsible for taking care of memory allocation and deallocation. While this is not a problem with smaller programs, once your code base grows it will be more of a struggle to handle all this rather than focusing on solving your development goal.
Luckily C++ came around and introduced the concept of classes making possible to build another road for the user: automatic memory management (more or less). The good news is that C++ if fully compatible with C so no compatibility issues can arise from making the change. Therefore, OpenCV with its 2.0 version introduced a new C++ interface that by taking advantage of these offers a new way of doing things. A way, in which you do not need to fiddle with memory management; making your code concise (less to write, to achieve more). The only main downside of the C++ interface is that many embedded development systems at the moment support only C. Therefore, unless you are targeting this platform, there's no point on using the *old* methods (unless you're a masochist programmer and you're asking for trouble).
Luckily C++ came around and introduced the concept of classes making easier for the user through automatic memory management (more or less). The good news is that C++ is fully compatible with C so no compatibility issues can arise from making the change. Therefore, OpenCV 2.0 introduced a new C++ interface which offered a new way of doing things which means you do not need to fiddle with memory management, making your code concise (less to write, to achieve more). The main downside of the C++ interface is that many embedded development systems at the moment support only C. Therefore, unless you are targeting embedded platforms, there's no point to using the *old* methods (unless you're a masochist programmer and you're asking for trouble).
The first thing you need to know about *Mat* is that you no longer need to manually allocate its size and release it as soon as you do not need it. While doing this is still a possibility, most of the OpenCV functions will allocate its output data manually. As a nice bonus if you pass on an already existing *Mat* object, what already has allocated the required space for the matrix, this will be reused. In other words we use at all times only as much memory as much we must to perform the task.
The first thing you need to know about *Mat* is that you no longer need to manually allocate its memory and release it as soon as you do not need it. While doing this is still a possibility, most of the OpenCV functions will allocate its output data manually. As a nice bonus if you pass on an already existing *Mat* object, which has already allocated the required space for the matrix, this will be reused. In other words we use at all times only as much memory as we need to perform the task.
*Mat* is basically a class having two data parts: the matrix header (containing information such as the size of the matrix, the method used for storing, at which address is the matrix stored and so on) and a pointer to the matrix containing the pixel values (may take any dimensionality depending on the method chosen for storing) . The matrix header size is constant. However, the size of the matrix itself may vary from image to image and usually is larger by order of magnitudes. Therefore, when you're passing on images in your program and at some point you need to create a copy of the image the big price you will need to build is for the matrix itself rather than its header. OpenCV is an image processing library. It contains a large collection of image processing functions. To solve a computational challenge most of the time you will end up using multiple functions of the library. Due to this passing on images to functions is a common practice. We should not forget that we are talking about image processing algorithms, which tend to be quite computational heavy. The last thing we want to do is to further decrease the speed of your program by making unnecessary copies of potentially *large* images.
*Mat* is basically a class with two data parts: the matrix header (containing information such as the size of the matrix, the method used for storing, at which address is the matrix stored, and so on) and a pointer to the matrix containing the pixel values (taking any dimensionality depending on the method chosen for storing) . The matrix header size is constant, however the size of the matrix itself may vary from image to image and usually is larger by orders of magnitude.
To tackle this issue OpenCV uses a reference counting system. The idea is that each *Mat* object has its own header, however the matrix may be shared between two instance of them by having their matrix pointer point to the same address. Moreover, the copy operators **will only copy the headers**, and as also copy the pointer to the large matrix too, however not the matrix itself.
OpenCV is an image processing library. It contains a large collection of image processing functions. To solve a computational challenge, most of the time you will end up using multiple functions of the library. Because of this, passing images to functions is a common practice. We should not forget that we are talking about image processing algorithms, which tend to be quite computational heavy. The last thing we want to do is further decrease the speed of your program by making unnecessary copies of potentially *large* images.
To tackle this issue OpenCV uses a reference counting system. The idea is that each *Mat* object has its own header, however the matrix may be shared between two instance of them by having their matrix pointers point to the same address. Moreover, the copy operators **will only copy the headers** and the pointer to the large matrix, not the data itself.
.. code-block:: cpp
:linenos:
@@ -37,7 +39,7 @@ To tackle this issue OpenCV uses a reference counting system. The idea is that e
C = A; // Assignment operator
All the above objects, in the end point to the same single data matrix. Their headers are different, however making any modification using either one of them will affect all the other ones too. In practice the different objects just provide different access method to the same underlying data. Nevertheless, their header parts are different. The real interesting part comes that you can create headers that refer only to a subsection of the full data. For example, to create a region of interest (*ROI*) in an image you just create a new header with the new boundaries:
All the above objects, in the end, point to the same single data matrix. Their headers are different, however, and making a modification using any of them will affect all the other ones as well. In practice the different objects just provide different access method to the same underlying data. Nevertheless, their header parts are different. The real interesting part is that you can create headers which refer to only a subsection of the full data. For example, to create a region of interest (*ROI*) in an image you just create a new header with the new boundaries:
.. code-block:: cpp
:linenos:
@@ -45,7 +47,7 @@ All the above objects, in the end point to the same single data matrix. Their he
Mat D (A, Rect(10, 10, 100, 100) ); // using a rectangle
Mat E = A(Range:all(), Range(1,3)); // using row and column boundaries
Now you may ask if the matrix itself may belong to multiple *Mat* objects who will take responsibility for its cleaning when it's no longer needed. The short answer is: the last object that used it. For this a reference counting mechanism is used. Whenever somebody copies a header of a *Mat* object a counter is increased for the matrix. Whenever a header is cleaned this counter is decreased. When the counter reaches zero the matrix too is freed. Because, sometimes you will still want to copy the matrix itself too, there exists the :basicstructures:`clone() <mat-clone>` or the :basicstructures:`copyTo() <mat-copyto>` function.
Now you may ask if the matrix itself may belong to multiple *Mat* objects who takes responsibility for cleaning it up when it's no longer needed. The short answer is: the last object that used it. This is handled by using a reference counting mechanism. Whenever somebody copies a header of a *Mat* object, a counter is increased for the matrix. Whenever a header is cleaned this counter is decreased. When the counter reaches zero the matrix too is freed. Sometimes you will want to copy the matrix itself too, so OpenCV provides the :basicstructures:`clone() <mat-clone>` and :basicstructures:`copyTo() <mat-copyto>` functions.
.. code-block:: cpp
:linenos:
@@ -59,34 +61,34 @@ Now modifying *F* or *G* will not affect the matrix pointed by the *Mat* header.
.. container:: enumeratevisibleitemswithsquare
* Output image allocation for OpenCV functions is automatic (unless specified otherwise).
* No need to think about memory freeing with OpenCVs C++ interface.
* The assignment operator and the copy constructor (*ctor*)copies only the header.
* Use the :basicstructures:`clone()<mat-clone>` or the :basicstructures:`copyTo() <mat-copyto>` function to copy the underlying matrix of an image.
* You do not need to think about memory management with OpenCVs C++ interface.
* The assignment operator and the copy constructor only copies the header.
* The underlying matrix of an image may be copied using the :basicstructures:`clone()<mat-clone>` and :basicstructures:`copyTo() <mat-copyto>` functions.
*Storing* methods
=================
This is about how you store the pixel values. You can select the color space and the data type used. The color space refers to how we combine color components in order to code a given color. The simplest one is the gray scale. Here the colors at our disposal are black and white. The combination of these allows us to create many shades of gray.
This is about how you store the pixel values. You can select the color space and the data type used. The color space refers to how we combine color components in order to code a given color. The simplest one is the gray scale where the colors at our disposal are black and white. The combination of these allows us to create many shades of gray.
For *colorful* ways we have a lot more of methods to choose from. However, every one of them breaks it down to three or four basic components and the combination of this will give all others. The most popular one of this is RGB, mainly because this is also how our eye builds up colors in our eyes. Its base colors are red, green and blue. To code the transparency of a color sometimes a fourth element: alpha (A) is added.
For *colorful* ways we have a lot more methods to choose from. Each of them breaks it down to three or four basic components and we can use the combination of these to create the others. The most popular one is RGB, mainly because this is also how our eye builds up colors. Its base colors are red, green and blue. To code the transparency of a color sometimes a fourth element: alpha (A) is added.
However, they are many color systems each with their own advantages:
There are, however, many other color systems each with their own advantages:
.. container:: enumeratevisibleitemswithsquare
* RGB is the most common as our eyes use something similar, our display systems also compose colors using these.
* The HSV and HLS decompose colors into their hue, saturation and value/luminance components, which is a more natural way for us to describe colors. Using you may for example dismiss the last component, making your algorithm less sensible to light conditions of the input image.
* The HSV and HLS decompose colors into their hue, saturation and value/luminance components, which is a more natural way for us to describe colors. You might, for example, dismiss the last component, making your algorithm less sensible to the light conditions of the input image.
* YCrCb is used by the popular JPEG image format.
* CIE L*a*b* is a perceptually uniform color space, which comes handy if you need to measure the *distance* of a given color to another color.
Now each of the building components has their own valid domains. This leads to the data type used. How we store a component defines just how fine control we have over its domain. The smallest data type possible is *char*, which means one byte or 8 bits. This may be unsigned (so can store values from 0 to 255) or signed (values from -127 to +127). Although in case of three components this already gives 16 million possible colors to represent (like in case of RGB) we may acquire an even finer control by using the float (4 byte = 32 bit) or double (8 byte = 64 bit) data types for each component. Nevertheless, remember that increasing the size of a component also increases the size of the whole picture in the memory.
Each of the building components has their own valid domains. This leads to the data type used. How we store a component defines the control we have over its domain. The smallest data type possible is *char*, which means one byte or 8 bits. This may be unsigned (so can store values from 0 to 255) or signed (values from -127 to +127). Although in case of three components this already gives 16 million possible colors to represent (like in case of RGB) we may acquire an even finer control by using the float (4 byte = 32 bit) or double (8 byte = 64 bit) data types for each component. Nevertheless, remember that increasing the size of a component also increases the size of the whole picture in the memory.
Creating explicitly a *Mat* object
Creating a *Mat* object explicitly
==================================
In the :ref:`Load_Save_Image` tutorial you could already see how to write a matrix to an image file by using the :readWriteImageVideo:` imwrite() <imwrite>` function. However, for debugging purposes it's much more convenient to see the actual values. You can achieve this via the << operator of *Mat*. However, be aware that this only works for two dimensional matrices.
In the :ref:`Load_Save_Image` tutorial you have already learned how to write a matrix to an image file by using the :readWriteImageVideo:` imwrite() <imwrite>` function. However, for debugging purposes it's much more convenient to see the actual values. You can do this using the << operator of *Mat*. Be aware that this only works for two dimensional matrices.
Although *Mat* is a great class as image container it is also a general matrix class. Therefore, it is possible to create and manipulate multidimensional matrices. You can create a Mat object in multiple ways:
Although *Mat* works really well as an image container, it is also a general matrix class. Therefore, it is possible to create and manipulate multidimensional matrices. You can create a Mat object in multiple ways:
.. container:: enumeratevisibleitemswithsquare
@@ -103,13 +105,13 @@ Although *Mat* is a great class as image container it is also a general matrix c
For two dimensional and multichannel images we first define their size: row and column count wise.
Then we need to specify the data type to use for storing the elements and the number of channels per matrix point. To do this we have multiple definitions made according to the following convention:
Then we need to specify the data type to use for storing the elements and the number of channels per matrix point. To do this we have multiple definitions constructed according to the following convention:
.. code-block:: cpp
CV_[The number of bits per item][Signed or Unsigned][Type Prefix]C[The channel number]
For instance, *CV_8UC3* means we use unsigned char types that are 8 bit long and each pixel has three items of this to form the three channels. This are predefined for up to four channel numbers. The :basicstructures:`Scalar <scalar>` is four element short vector. Specify this and you can initialize all matrix points with a custom value. However if you need more you can create the type with the upper macro and putting the channel number in parenthesis as you can see below.
For instance, *CV_8UC3* means we use unsigned char types that are 8 bit long and each pixel has three of these to form the three channels. This are predefined for up to four channel numbers. The :basicstructures:`Scalar <scalar>` is four element short vector. Specify this and you can initialize all matrix points with a custom value. If you need more you can create the type with the upper macro, setting the channel number in parenthesis as you can see below.
+ Use C\\C++ arrays and initialize via constructor
@@ -118,7 +120,7 @@ Although *Mat* is a great class as image container it is also a general matrix c
:tab-width: 4
:lines: 35-36
The upper example shows how to create a matrix with more than two dimensions. Specify its dimension, then pass a pointer containing the size for each dimension and the rest remains the same.
The upper example shows how to create a matrix with more than two dimensions. Specify its dimension, then pass a pointer containing the size for each dimension and the rest remains the same.
+ Create a header for an already existing IplImage pointer:
@@ -176,7 +178,7 @@ Although *Mat* is a great class as image container it is also a general matrix c
.. note::
You can fill out a matrix with random values using the :operationsOnArrays:`randu() <randu>` function. You need to give the lower and upper value between what you want the random values:
You can fill out a matrix with random values using the :operationsOnArrays:`randu() <randu>` function. You need to give the lower and upper value for the random values:
.. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp
:language: cpp
@@ -184,10 +186,10 @@ Although *Mat* is a great class as image container it is also a general matrix c
:lines: 57-58
Print out formatting
====================
Output formatting
=================
In the above examples you could see the default formatting option. Nevertheless, OpenCV allows you to format your matrix output format to fit the rules of:
In the above examples you could see the default formatting option. OpenCV, however, allows you to format your matrix output:
.. container:: enumeratevisibleitemswithsquare
@@ -246,10 +248,10 @@ In the above examples you could see the default formatting option. Nevertheless,
:alt: Default Output
:align: center
Print for other common items
Output of other common items
============================
OpenCV offers support for print of other common OpenCV data structures too via the << operator like:
OpenCV offers support for output of other common OpenCV data structures too via the << operator:
.. container:: enumeratevisibleitemswithsquare
@@ -298,9 +300,9 @@ OpenCV offers support for print of other common OpenCV data structures too via t
:alt: Default Output
:align: center
Most of the samples here have been included into a small console application. You can download it from :download:`here <../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp>` or in the core section of the cpp samples.
Most of the samples here have been included in a small console application. You can download it from :download:`here <../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp>` or in the core section of the cpp samples.
A quick video demonstration of this you can find on `YouTube <https://www.youtube.com/watch?v=1tibU7vGWpk>`_.
You can also find a quick video demonstration of this on `YouTube <https://www.youtube.com/watch?v=1tibU7vGWpk>`_.
.. raw:: html
+1 -1
Ver Arquivo
@@ -1,3 +1,3 @@
.. note::
Unfortunetly we have no tutorials into this section. Nevertheless, our tutorial writting team is working on it. If you have a tutorial suggestion or you have writen yourself a tutorial (or coded a sample code) that you would like to see here please contact us via our :opencv_group:`user group <>`.
Unfortunetly we have no tutorials into this section. And you can help us with that, since OpenCV is a community effort. If you have a tutorial suggestion or you have written a tutorial yourself (or coded a sample code) that you would like to see here, please contact follow these instructions: :ref:`howToWriteTutorial` and :how_to_contribute:`How to contribute <>`.
+3 -1
Ver Arquivo
@@ -8,4 +8,6 @@
.. |Author_FernandoI| unicode:: Fernando U+0020 Iglesias U+0020 Garc U+00ED a
.. |Author_EduardF| unicode:: Eduard U+0020 Feicho
.. |Author_AlexB| unicode:: Alexandre U+0020 Benoit
.. |Author_EricCh| unicode:: Eric U+0020 Christiansen
.. |Author_AndreyP| unicode:: Andrey U+0020 Pavlenko
.. |Author_AlexS| unicode:: Alexander U+0020 Smorkalov
@@ -13,7 +13,7 @@ In this tutorial you will learn how to:
* Use the :descriptor_extractor:`DescriptorExtractor<>` interface in order to find the feature vector correspondent to the keypoints. Specifically:
* Use :surf_descriptor_extractor:`SurfDescriptorExtractor<>` and its function :descriptor_extractor:`compute<>` to perform the required calculations.
* Use a :brute_force_matcher:`BruteForceMatcher<>` to match the features vector
* Use a :brute_force_matcher:`BFMatcher<>` to match the features vector
* Use the function :draw_matches:`drawMatches<>` to draw the detected matches.
@@ -32,6 +32,7 @@ This tutorial code's is shown lines below. You can also download it from `here <
#include "opencv2/core/core.hpp"
#include "opencv2/features2d/features2d.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/nonfree/features2d.hpp"
using namespace cv;
@@ -68,7 +69,7 @@ This tutorial code's is shown lines below. You can also download it from `here <
extractor.compute( img_2, keypoints_2, descriptors_2 );
//-- Step 3: Matching descriptor vectors with a brute force matcher
BruteForceMatcher< L2<float> > matcher;
BFMatcher matcher(NORM_L2);
std::vector< DMatch > matches;
matcher.match( descriptors_1, descriptors_2, matches );
@@ -85,7 +85,7 @@ This tutorial code's is shown lines below. You can also download it from `here <
std::vector< DMatch > good_matches;
for( int i = 0; i < descriptors_1.rows; i++ )
{ if( matches[i].distance < 2*min_dist )
{ if( matches[i].distance <= 2*min_dist )
{ good_matches.push_back( matches[i]); }
}
@@ -127,6 +127,3 @@ Result
.. image:: images/Feature_FlannMatcher_Keypoints_Result.jpg
:align: center
:height: 250pt
@@ -22,127 +22,8 @@ Code
This tutorial code's is shown lines below. You can also download it from `here <http://code.opencv.org/projects/opencv/repository/revisions/master/raw/samples/cpp/tutorial_code/TrackingMotion/cornerDetector_Demo.cpp>`_
.. code-block:: cpp
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace cv;
using namespace std;
/// Global variables
Mat src, src_gray;
Mat myHarris_dst; Mat myHarris_copy; Mat Mc;
Mat myShiTomasi_dst; Mat myShiTomasi_copy;
int myShiTomasi_qualityLevel = 50;
int myHarris_qualityLevel = 50;
int max_qualityLevel = 100;
double myHarris_minVal; double myHarris_maxVal;
double myShiTomasi_minVal; double myShiTomasi_maxVal;
RNG rng(12345);
char* myHarris_window = "My Harris corner detector";
char* myShiTomasi_window = "My Shi Tomasi corner detector";
/// Function headers
void myShiTomasi_function( int, void* );
void myHarris_function( int, void* );
/** @function main */
int main( int argc, char** argv )
{
/// Load source image and convert it to gray
src = imread( argv[1], 1 );
cvtColor( src, src_gray, CV_BGR2GRAY );
/// Set some parameters
int blockSize = 3; int apertureSize = 3;
/// My Harris matrix -- Using cornerEigenValsAndVecs
myHarris_dst = Mat::zeros( src_gray.size(), CV_32FC(6) );
Mc = Mat::zeros( src_gray.size(), CV_32FC1 );
cornerEigenValsAndVecs( src_gray, myHarris_dst, blockSize, apertureSize, BORDER_DEFAULT );
/* calculate Mc */
for( int j = 0; j < src_gray.rows; j++ )
{ for( int i = 0; i < src_gray.cols; i++ )
{
float lambda_1 = myHarris_dst.at<float>( j, i, 0 );
float lambda_2 = myHarris_dst.at<float>( j, i, 1 );
Mc.at<float>(j,i) = lambda_1*lambda_2 - 0.04*pow( ( lambda_1 + lambda_2 ), 2 );
}
}
minMaxLoc( Mc, &myHarris_minVal, &myHarris_maxVal, 0, 0, Mat() );
/* Create Window and Trackbar */
namedWindow( myHarris_window, CV_WINDOW_AUTOSIZE );
createTrackbar( " Quality Level:", myHarris_window, &myHarris_qualityLevel, max_qualityLevel,
myHarris_function );
myHarris_function( 0, 0 );
/// My Shi-Tomasi -- Using cornerMinEigenVal
myShiTomasi_dst = Mat::zeros( src_gray.size(), CV_32FC1 );
cornerMinEigenVal( src_gray, myShiTomasi_dst, blockSize, apertureSize, BORDER_DEFAULT );
minMaxLoc( myShiTomasi_dst, &myShiTomasi_minVal, &myShiTomasi_maxVal, 0, 0, Mat() );
/* Create Window and Trackbar */
namedWindow( myShiTomasi_window, CV_WINDOW_AUTOSIZE );
createTrackbar( " Quality Level:", myShiTomasi_window, &myShiTomasi_qualityLevel, max_qualityLevel,
myShiTomasi_function );
myShiTomasi_function( 0, 0 );
waitKey(0);
return(0);
}
/** @function myShiTomasi_function */
void myShiTomasi_function( int, void* )
{
myShiTomasi_copy = src.clone();
if( myShiTomasi_qualityLevel < 1 ) { myShiTomasi_qualityLevel = 1; }
for( int j = 0; j < src_gray.rows; j++ )
{ for( int i = 0; i < src_gray.cols; i++ )
{
if( myShiTomasi_dst.at<float>(j,i) > myShiTomasi_minVal + ( myShiTomasi_maxVal -
myShiTomasi_minVal )*myShiTomasi_qualityLevel/max_qualityLevel )
{ circle( myShiTomasi_copy, Point(i,j), 4, Scalar( rng.uniform(0,255),
rng.uniform(0,255), rng.uniform(0,255) ), -1, 8, 0 ); }
}
}
imshow( myShiTomasi_window, myShiTomasi_copy );
}
/** @function myHarris_function */
void myHarris_function( int, void* )
{
myHarris_copy = src.clone();
if( myHarris_qualityLevel < 1 ) { myHarris_qualityLevel = 1; }
for( int j = 0; j < src_gray.rows; j++ )
{ for( int i = 0; i < src_gray.cols; i++ )
{
if( Mc.at<float>(j,i) > myHarris_minVal + ( myHarris_maxVal - myHarris_minVal )
*myHarris_qualityLevel/max_qualityLevel )
{ circle( myHarris_copy, Point(i,j), 4, Scalar( rng.uniform(0,255), rng.uniform(0,255),
rng.uniform(0,255) ), -1, 8, 0 ); }
}
}
imshow( myHarris_window, myHarris_copy );
}
.. literalinclude:: ../../../../../samples/cpp/tutorial_code/TrackingMotion/cornerDetector_Demo.cpp
:language: cpp
Explanation
============

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais