All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Fixed call to copy in drawBoxesOnRGB (issue22)
- Type hints for function parameters for most functions
- functions uses/returns list of detected hits as a list of tuple : 1 tuple per hit in the form (label, (x,y,width,height), score) it does not return pandas.DataFrame anymore
- dependency on pandas
- Changed licence to MIT
- Throw a clearer error message in place of OpenCV error message when template and/or image has 0-width or height
- Add
pip install matplotlib
in example notebooks since not an actualy dependency of MTM
- Improve speed by adding concurrency in the findMatches method, using half the number of cpu cores available.
- Mention installation in editable mode in README
- Updated internal NMS code to work with latest OpenCV, and set min OpenCV version to 4.5.4.
- Fix issue with latest OpenCV version, by limiting OpenCV version to 4.3.0.
- Checking if all templates fit in the search region/image as suggested by @insertscode
- Corresponding tests
- Renamed requirements.txt to old_requirements.txt, and removed MTM from requirements. Binder uses setup.py anyway.
- support mask for matchTemplates and findMatches as in cv2.matchTemplates with method 0 or 3
- notebook tutorial with mask
- CHANGELOG.MD
- better docstrings
- issue when no detection found (see Changed of version 1.5.3.post2)
- NMS is now using the opencv
cv2.dnn.NMSBoxes
function - use timeit for benchmark in example notebook
MTM.NMS.Point_in_Rectangle
andMTM.NMS.computeIoU
as they are not used anymore for the NMS
- issue when no detection found (see Changed)
MTM.findMatches
return a dataframe with proper column names (not just empty)- better handle the different opencv matchTemplate methods
- remove the hardcoded version requirement for opencv-python-headless in setup.py
- MTM version is now defined in a dedicated version.py file
MTM.computeScoreMap
which is likecv2.matchTemplate
but checking for image types
MTM.findMatches
automatically cast 16-bit images and/or template to 32-bit
- use pandas dataframe to return list of hits for
MTM.matchTemplates
andMTM.findMatches