Stitching Detailed Tutorial Improvements
* Add Vertical Wave Correction
The user has the possibility to pass "vert" as wave_correct parameter. However, in the code "cv.detail.WAVE_CORRECT_HORIZ" ist fixed. This change proposes changes so that the wave correction is done vertically if the user passes "vert" as wave_correct parameter. The variable "do_wave_correct" is replaced by None which is passed to the variable "wave_correct" if the user chooses "no" for wave correction.
* Correct fixed conf_thresh
According to the documentation, [cv.detail.leaveBiggestComponent](https://docs.opencv.org/4.5.1/d7/d74/group__stitching__rotation.html#ga855d2fccbcfc3b3477b34d415be5e786) takes features, the pairwise_matches and the conf_threshold as input.
In the tutorial, however, conf_threshold is fixed at 0.3 even though the user can pass conf_thresh as parameter which is 1 by default. Fixing this parameter at 0.3 causes the script to include images into the panorama which are not part of it.
* Error Message for SURF if not implemented
In OpenCV 4.5.1
import cv2 as cv
cv.xfeatures2d_SURF.create
will not create an AttributeError, even if the function is excluded (no nonfree option)
In Line 305 (now 306) however ´finder = FEATURES_FIND_CHOICES[args.features]()´ will raise an
error: OpenCV(4.5.1) ..\opencv_contrib\modules\xfeatures2d\src\surf.cpp:1029: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'cv::xfeatures2d::SURF::create'
So we should check with cv.xfeatures2d_SURF.create() correctly if SURF is available
videoio: HW decode/encode in FFMPEG backend; new properties with support in FFMPEG/GST/MSMF
* HW acceleration in FFMPEG backend
* fixes on Windows, remove D3D9
* HW acceleration in FFMPEG backend
* fixes on Windows, remove D3D9
* improve va test
* Copyright
* check LIBAVUTIL_BUILD >= AV_VERSION_INT(55, 78, 100) // FFMPEG 3.4+
* CAP_MSMF test on .mp4
* .mp4 in test
* improve va test
* Copyright
* check LIBAVUTIL_BUILD >= AV_VERSION_INT(55, 78, 100) // FFMPEG 3.4+
* CAP_MSMF test on .mp4
* .mp4 in test
* .avi for GStreamer test
* revert changes around seek()
* cv_writer_open_with_params
* params.warnUnusedParameters
* VideoCaptureParameters in GStreamer
* open_with_params
* params->getUnused
* Reduce PSNR threshold 33->32 (other tests use 30)
* require FFMPEG 4.0+; PSNR 30 as in other tests
* GStreamer AVI-demux plugin not installed in Ubuntu test environment?
* fix build on very old ffmpeg
* fix build on very old ffmpeg
* fix build issues
* fix build issues (static_cast)
* FFMPEG built on Windows without H264 encoder?
* fix for write_nothing test on VAAPI
* fix warnings
* fix cv_writer_get_prop in plugins
* use avcodec_get_hw_frames_parameters; more robust fallback to SW codecs
* internal function hw_check_device() for device check/logging
* two separate tests for HW read and write
* image size 640x480 in encode test
* WITH_VA=ON (only .h headers used in OpenCV, no linkage dependency)
* exception on VP9 SW encoder?
* rebase master; refine info message
* videoio: fix FFmpeg standalone plugin build
* videoio(ffmpeg): eliminate MSVC build warnings
* address review comments
* videoio(hw): update videocapture_acceleration.read test
- remove parallel decoding by SW code path
- check PSNR against the original generated image
* videoio: minor fixes
* videoio(test): disable unsupported MSMF cases (SW and HW)
* videoio(test): update PSNR thresholds for HW acceleration read
* videoio(test): update debug messages
* "hw_acceleration" whitelisting parameter
* little optimization in test
* D3D11VA supports decoders, doesn't support encoders
* videoio(test): adjust PSNR threshold in write_read_position tests
* videoio(ffmpeg): fix rejecting on acceleration device name mismatch
* videoio(ffmpeg): fix compilation USE_AV_HW_CODECS=0, add more debug logging
* videoio: rework VideoAccelerationType behavior
- enum is not a bitset
- default value is backend specific
- only '_NONE' and '_ANY' may fallback on software processing
- specific H/W acceleration doesn't fallback on software processing. It fails if there is no support for specified H/W acceleration.
* videoio(test): fix for current FFmpeg wrapper
Co-authored-by: Alexander Alekhin <alexander.a.alekhin@gmail.com>
Instead of being a copy of line 76, line 79 instead correctly indicates that it will show a histogram for a gray image in curve mode, as given by the code block at line 103 referencing image "gray" instead of image "im".
Add DaSiamRPN tracker sample of c++ version
* add sample dasiamrpn_tracker of c++ version.
* samples(dasiamrpn_tracker.cpp): apply clang-format
- exclude "keys" variable
* samples(dasiamrpn_tracker.cpp): coding style and UX fixes
Scripts for downloading models in DNN samples
* Initial commit. Utility classes and functions for downloading files
* updated download script
* Support YAML parsing, update download script and configs
* Fix problem with archived files
* fix models.yml
* Move download utilities to more appropriate place
* Fix script description
* Update README
* update utilities for broader range of files
* fix loading with no hashsum provided
* remove unnecessary import
* fix for Python2
* Add usage examples for downloadFile function
* Add more secure cache folder selection
* Remove trailing whitespaces
* Fix indentation
* Update function interface
* Change function for temp dir, change entry name in models.yml
* Update getCacheDirectory function call
* Return python implementation for cache directory selection, use more specific env variable
* Fix whitespace
[GSoC] High Level API and Samples for Scene Text Detection and Recognition
* APIs and samples for scene text detection and recognition
* update APIs and tutorial for Text Detection and Recognition
* API updates:
(1) put decodeType into struct Voc
(2) optimize the post-processing of DB
* sample update:
(1) add transformation into scene_text_spotting.cpp
(2) modify text_detection.cpp with API update
* update tutorial
* simplify text recognition API
update tutorial
* update impl usage in recognize() and detect()
* dnn: refactoring public API of TextRecognitionModel/TextDetectionModel
* update provided models
update opencv.bib
* dnn: adjust text rectangle angle
* remove points ordering operation in model.cpp
* update gts of DB test in test_model.cpp
* dnn: ensure to keep text rectangle angle
- avoid 90/180 degree turns
* dnn(text): use quadrangle result in TextDetectionModel API
* dnn: update Text Detection API
(1) keep points' order consistent with (bl, tl, tr, br) in unclip
(2) update contourScore with boundingRect
Intrudeced in commit 397ba2d9aa:
add OpenCV sample for digit and text recongnition, and provide multiple OCR models.
397ba2d9aa
Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
[GSoC] Add siamrpnpp.py
* Updated base branch with siamrpnpp.py
* Addition of Parsers
* Merged to using few ONNX files, Changes to Parsers, Links to Repo
* Deleted whitespace
* Adjusting flake8 error
* Fixes according to review
* Fix according to review
* Addition of OpenVINO backends and Computation target devices
* Fix on backend after review
* Fixes after review
* Remove extra white space
* Removed Repeated Varaibles
* add the HH4 mode
* option to display disparity with a color map
* display current settings in the title bar
* don't close app when wanting to take screenshots
changed OpenCV license from BSD to Apache 2 license
* as discussed and announced earlier, changed OpenCV license from BSD to Apache 2. Many files still contain old-style copyrights though
* changed wording a bit; preserve the original OpenCV BSD license
revise default proto to match the filename in documentations
fix a bug
beautify python codes
fix bug
beautify codes
add test samples with larger/smaller size
remove unless code
using bytearray without creating tmp file
remove useless codes
Improving DaSiamRPN tracker sample
* changed layerBlobs in dnn.cpp and added DaSiamRPN tracker
* Improving DaSiamRPN tracker sample
* Docs fix
* Removed outdated changes
* Trying to reinitialize tracker without reloading models. Worked with LaSOT-based benchmark with reinit rate=250 frames
* Trying to reverse changes
* Moving the model in the constructor
* Fixing some issues with names
* Variable name changed
* Reverse parser arguments changes
* Add a FLANN example showing how to search a query image in a dataset
* Clean: remove warning
* Replace dependency to boost::filesystem by calls to core/utils/filesystem
* Wait for escape key to exit
* Add an example of binary descriptors support
* Add program options for saving and loading the flann structure
* Fix warnings on Win64
* Fix warnings on 3.4 branch still relying on C++03
* Add ctor to img_info structure
* Comments modification
* * Demo file of FLANN moved and renamed
* Fix distances type when using binary vectors in the FLANN example
* Rename FLANN example file
* Remove dependency of the flann example to opencv_contrib's SURF.
* Remove mention of FLANN and other descriptors that aimed at giving hint on the other options
* Cleaner program options management
* Make waitKey usage minimal in FLANN example
* Fix the conditions order
* Use cv::Ptr
* Implement ASIFT in C++
* '>>' should be '> >' within a nested template
* add a sample for asift usage
* bugfix empty keypoints cause crash
* simpler initialization for mask
* suppress the number of lines
* correct tex document
* type casting
* add descriptorsize for asift
* smaller testdata for asift
* more smaller test data
* add OpenCV short license header
* add text recognition sample
* fix pylint warning
* made changes according to the c++ example
* fix errors
* add text recognition sample
* update text detection sample
Objc binding
* Initial work on Objective-C wrapper
* Objective-C generator script; update manually generated wrappers
* Add Mat tests
* Core Tests
* Imgproc wrapper generation and tests
* Fixes for Imgcodecs wrapper
* Miscellaneous fixes. Swift build support
* Objective-C wrapper build/install
* Add Swift wrappers for videoio/objdetect/feature2d
* Framework build;iOS support
* Fix toArray functions;Use enum types whenever possible
* Use enum types where possible;prepare test build
* Update test
* Add test runner scripts for iOS and macOS
* Add test scripts and samples
* Build fixes
* Fix build (cmake 3.17.x compatibility)
* Fix warnings
* Fix enum name conflicting handling
* Add support for document generation with Jazzy
* Swift/Native fast accessor functions
* Add Objective-C wrapper for calib3d, dnn, ml, photo and video modules
* Remove IntOut/FloatOut/DoubleOut classes
* Fix iOS default test platform value
* Fix samples
* Revert default framework name to opencv2
* Add converter util functions
* Fix failing test
* Fix whitespace
* Add handling for deprecated methods;fix warnings;define __OPENCV_BUILD
* Suppress cmake warnings
* Reduce severity of "jazzy not found" log message
* Fix incorrect #include of compatibility header in ios.h
* Use explicit returns in subscript/get implementation
* Reduce minimum required cmake version to 3.15 for Objective-C/Swift binding
Fixes the help for `--features`, previously listed all possible values as default value.
Also adds the default value to the help for two other arguments
* fixed#17044
1. fixed Python part of the tutorial about using OpenCV XML-YAML-JSON I/O functionality from C++ and Python.
2. added startWriteStruct() and endWriteStruct() methods to FileStorage
3. modifed FileStorage::write() methods to make them work well inside sequences, not only mappings.
* try to fix the doc builder
* added Python regression test for FileStorage I/O API ([TODO] iterating through long sequences can be very slow)
* fixed yaml testing
I believe you are using the wrong version of open() on line 28 - adding deviceID + appId together. It's better to use the new version of .open() taking two integers as parameter.
Added a sample file for qrcode detection in python
* sample python file for qrcode detection added in samples/python
* input taken using argparse and the indents were removed
* Removed unused variables
* updated the format and removed unused variables
Removed the use of global variables and used parameterised contructor instead
=set multi detection true by default
* added detection from camera
* samples(python): coding style in qrcode.py