- bugfix
- Fixed MinGW link typo in README.md.
- Fixed function name typo (#1236).
- core
- Added
FaceDetectorYN
example. - Query I/O API backends registry (#1237).
- Face detector YN face recognizer SF (#1232).
- Added
- cuda
- Added
createLookUpTable
andsplit
functions. - Added missing CUDA
imgproc
standalone functions. - Added
XXXWithStream
standalone functions.
- Added
- docker
- Added Dockerfile for container that can perform static builds of your own GoCV project (HighGUI not supported by static builds).
- Added Dockerfile example showing how to build using static linking.
- Added static build examples.
- Updated version for
gocv-static-builder
image.
- build
- Updated workflow for Docker builds to latest versions.
- Used most recent NVIDIA CUDA base image.
- Used static FFmpeg build for static OpenCV build.
- Downgraded static build to Go 1.22 to avoid Go issue #68976.
- Modified Dockerfile used for static builds to build own versions for static linking.
- Corrected build options for OpenCV on arm64 for static builds.
- Separated build tags and linker flags for arm64 and amd64 targets.
- Modified LDFLAGS for correct static compilation.
- Removed extra file to clear space for static build/standard dev build images.
- Added options for Linux arm64 and separate Darwin builds.
- cgo
- Changed tags for static OpenCV to
opencvstatic
. - Added options for Linux arm64 and separate Darwin builds.
- Removed unneeded lib from link for Linux/arm64.
- Modified LDFLAGS for correct static compilation.
- Changed tags for static OpenCV to
- docs
- Added missing
videoio
functions to ROADMAP. - Updated ROADMAP with missing
objdetect
functions for DNN faces, and movedaruco
underobjdetect
module. - Simplified the YOLO example.
- Added missing
- bugfix
- aruco: correct test from latest OpenCV update
- exclude freetype.cpp file from being included in windows build
- feat(demosaicing): release mat when conversion to bayer encounters invalid pattern
- imgproc HomographyMethod const values typo fixed
- build
- add macOS build for GH actions CI
- adjust make and docker build files to build freetype support
- correct ONNX DNN tests on Linux/macOS
- move download for GOTURN models into testdata subdirectory
- remove Caffe tests
- run DNN tests on Windows
- make: add task to run all cuda tests
- make: build non-free modules when building opencv with cuda support
- skip tests on macOS that are not passing due to OpenCV different results on macOS. See https://forum.opencv.org/t/match-template-different-results-on-mac-m1/10026 and other similar issues.
- update all generated docker images to Go 1.23.1
- examples
- add asciicam video to ascii in your terminal
- add object detection example using YOLOv8
- core
- add Closed() function to Mat
- add OpenCV types for half-float values
- add TransposeND() function
- persistance implement Filestorage roadmap (#1208)
- RotatedRect type constructors
- dnn
- add BlobFromImageWithParams() and BlobFromImagesWithParams() functions
- add BlobRectToImageRect() and BlobRectsToImageRects() functions
- allow ReadNet() function to only pass model file, and remove tests for Caffe
- features2d
- SIFT with params (#1186)
- highgui
- added window pollkey function (#1198)
- added window WaitKeyEx support (#1195)
- Window set mouse callback (#1220)
- imgcodecs
- added immultiread support
- imgproc
- feat(imgproc): demosaicing wrapper
- add HomographyMethodRHO HomographyMethod added
- objdetect
- change QRCodeDetector signature to avoid pointer to slice
- video
- added TrackerGOTURN (see roadmap)
- videoio
- Capture from device and file with HW acceleration
- cuda
- add Closed() function to Mat/GpuMat
- add DeviceSupports function
- add implementations for AddWeighted and CopyMakeBorder functions
- add Merge and Transpose functions
- add support for convertFp16 function
- add tests for demosaicing
- feat(imgproc): demosaicing wrapper
- correct go fmt error
- contrib/face
- added face recognizer interface (#1211)
- BasicFaceRecognizer + EigenFaceRecognizer + FisherFaceRecognizer (#1213)
- extra setters and getters for LBPHFaceRecognizer (#1194)
- contrib/freetype
- imported freetype code by lz1998 from PR 873
- all
- Add support for OpenCV 4.10.0
- bugfix
- Correct error in CUDA function signature
- test
- correct CUDA tests
- docker
- add test image for CUDA 12
- all
- Add support for OpenCV 4.9.0
- update Go to version 1.22
- update minimum go version to 1.21
- bugfix
- aruco: correct test from latest OpenCV update
- build
- add GH action for Windows
- remove appveyor
- adjusted Makefile to build for debian bookworm
- core
- Add additional signature for MinMaxLoc.
- add color conversion alias
- add Mahalanobis(), Inv(), Row(), amd Col() functions
- add MulTransposed() function
- add PCABackProject() and PCAProject() functions
- add PSNR() function
- add SVBackSubst() and SVDecomp() functions
- calib3d
- add FisheyeCalibrate, FisheyeDistortPoints, and CheckChessboard functions
- Add func comments and update readme
- add Rodrigues function
- add SolvePnP function
- Add more smoke tests
- Initial commit of more stereo bindings
- feature2d
- Add interface for
Feature2D
algorithms - Asserting some algorithms conform to
Feature2D
- Prepend "Feature2D" prefix to component interfaces of Feature2D
- Add interface for
- imgproc
- add CreateHanningWindow()
- add EMD()
- Add float version of BoxPoints and MinAreaRect
- Add new binding for cv::Erode.
- videoio
- add Retrieve function
- contrib/xfeatures2d
- Add BriefDescriptorExtractor to xfeatures2d (#1114)
- add NewSURFWithParams func
- Add separate "Compute" bindings for detection algorithms (#1117)
- cuda/core
- ADD Cuda MultiplyWithStream (#1142)
- all
- Add support for OpenCV 4.8.1
- correct Go formatting
- features2d
- Add Match method for BFMatcher
- build
- remove extra files from GH actions runner so GPU images builds have enough temp file space to run correctly
- make
- for build_raspi added conditional cmake build for 64 and 32bit platforms
- remove ENABLE_VFPV3=ON and add WITH_TBB=ON from 64bit build.
- added sudo_pre_install_clean to raspberry pi and jetson installs
- change sudo_pre_install_clean to support cleanup on 64bit architechtures (arm and x86)
- all
- Add support for OpenCV 4.8.0
- Add support for Go 1.21
- build
- update all builds to use OpenCV 4.8.0
- core
- Adds support for PCACompute
- docker
- add dockerfile for OpenCV static build
- make
- Leave one processor free instead of using all of them when building
- bugfix
- Remove opencv2/aruco.hpp include
- all
- build performance tests with all OpenCV builds
- build
- build and push Ubuntu 22.04 base image with OpenCV 4.7.0
- docker images with opencv
- docker production images with opencv 4.7.0
- Docker push to GHCR
- core
- Add ReduceArgMax and ReduceArgMin
- dnn
- improved NMSBoxes code
- docker
- add dockerfile for Ubuntu 22.04 OpenCV base image
- updates to migrate to GHCR
- examples
- Deallocate Mats in feature-matching example.
- Fix G108 (CWE-200) and G114 (CWE-676)
- Fix G304 (CWE-22) and G307 (CWE-703)
- Fix G304 (CWE-22) and G307 (CWE-703)
- Missed #nosec tag
- make
- Ubuntu Jammy (22) opencv build support.
- all
- update to OpenCV 4.7.0
- core
- Add the number of thread setter and getter
- calib3d
- add EstimateAffinePartial2DWithParams()
- imgcodecs
- Add IMDecodeIntoMat to reduce heap allocations (#1035)
- imgproc
- add matchShapes function support
- objdetect
- move aruco from contrib and also refactor/update to match current OpenCV API
- photo
- add inpaint function
- video
- cv::KalmanFilter bindings.
- cuda
- add support for cuda::TemplateMatching
- docker
- update all dockerfiles for OpenCV 4.7.0/GoCV 0.32.0
- multiplatform for both amd64 and arm64
- install libjpeg-turbo into docker image
- add Ubunutu 18.04 and 20.04 prebuilt OpenCV images
- add dockerfile for older version of CUDA for those who cannot upgrade
- ci
- remove circleci
- correct actions that trigger build
- make
- change download path for OpenCV release tag
- windows
- Update win_build_opencv.cmd
- docs
- correct docs on building docker
- update ROADMAP
- typo in comment
- update comments style with gofmt
- openvino
- Add openvino Dockerfile
- Fix OpenvinoVersion dangling pointer
- Update env.sh and README.md for 2022.1
- all
- update to OpenCV 4.6.0
- build
- Switch to Github Actions for Linux CI build
- Use go -tags static when verifying static build
- core
- Add Mat.ElemSize (#964)
- avoid index out of range panic in NewPointsVectorFromPoints
- video
- add findTransformECC function
- contrib/ximgproc
- add PeiLinNormalization() function
- add anisotropicDiffusion() function
- implement edgePreservingFilter()
- implement niBlackThreshold and thinning filters
- all
- update to OpenCV 4.5.5
- build
- add install_nonfree make task to build all opencv_contrib modules
- correct download location for onnx test file
- Update Makefile for missing version changes
- core
- correct how memory is being allocated for Eye(), Zeros(), and Ones() to address issue #930
- calib3d
- Adding support for estimateAffine2DWithParams (#924)
- imgproc
- Add DrawContoursWithParams function
- photo
- Add bindings for fastNlMeansDenoising and fastNlMeansDenoisingColored
- add detailEnhance function
- add EdgePreservingFilter function
- add PencilSketch function
- add stylization function
- docs
- add godoc comments for FastNlMeansDenoising functions
- update README with info on latest mingw-w64 t use for Windows builds
- dnn pose detect examples correct the order of the argument variable name
- examples
- Fixed memory leaks in the motion detection example
- openvino
- Update env.sh and README.md
- windows
- use mingw-w64 8.1.0 for protobuf compile
- contrib
- add cv::wechat_qrcode::WeChatQRCode (#949)
- Update cgo_static.go
- all
- update to OpenCV 4.5.4
- build
- add static build ability on windows
- use tbb for all builds for CPU accelerated operations
- cuda
- implement a bunch of per-element operations
- add get/set/reset device functions
- add NewGpuMatWithSize() to preallocate device memory
- Reshape() returns a new GpuMat with the changed data
- correct use of Stream by adding WaitForCompletion() and passing pre-allocated GpuMats
- docs
- update ROADMAP from recent contributions
- videoio
- Fix open video capture with api test (#895)
- calib3d
- added EstimateAffine2D
- findChessboardCornersSB
- aruco
- added many functions as part of initial implementation
- all
- update to OpenCV 4.5.3
- make task and build tag for static build of OpenCV/GoCV on Linux
- add Makefile tasks for OpenCV install on Nvidia Jetson
- add gotest for more colorful test output running tests from containers
- build
- correcting output format for code coverage report
- enforce rule that all Go code is correctly formatted
- remove codecov
- core
- add NewPointVectorFromMat() and NewPoint2fVectorFromMat() functions
- Fix possible MatProfile race by ordering remove before free.
- cuda
- add core functions for GpuMat like Cols(), Rows(), and Type()
- initial implementation for the Flip function
- docs
- update ROADMAP from recent contributions
- examples
- correct list of examples and fix comment
- features2d
- Add NewORBWithParams
- tracking
- change MOSSE to KCF
- highgui
- Add function CreateTrackbarWithValue to Window type.
- imgcodec
- optimize IMEncode avoiding multiple data copies.
- imgproc
- Add CircleWithParams function
- Add DilateWithParams() function (#827)
- Add EllipseWithParams function
- Add FillPolyWithParams function
- Add PointPolygonTest function
- Add RectangleWithParams function
- photo
- add MergeMertens, AlignMTB and Denoising function (#848)
- xphoto
- Add Xphoto contrib (#844)
- all
- update to OpenCV 4.5.2
- core
- add Append() to PointsVector/PointVector
- add cv::RNG
- add implementation for Point2fVector
- add rand functions
- add test coverage for PointsVector
- create new PointsVector/PointVector wrappers to avoid repetitive memory copying for seeming innocent operations involving slices of image.Point
- test coverage for Point2f
- use PointVector for everything that we can to speed up pipeline when passing around Point vectors
- use enum instead of int for Invert Method
- cuda
- adding HoughLinesDetector and HoughSegmentDetector
- adding tests for the CannyEdgeDetector
- some refactoring of the API
- adding dockerfiles for OpenCV 4.5.2 with CUDA 11.2
- add GaussianFilter
- correct signature and test for Threshold
- implement SobelFilter
- move arithm module functions into correct location
- rename files to get rid of so many cudas
- add abs function implementation
- dnn
- increase test coverage
- docker
- make all Dockerfiles names/tags more consistent
- docs
- add CUDA functions that need implementation to ROADMAP
- remove invalid sections and add some missing functions from ROADMAP
- imgproc
- Add FindContoursWithParams function
- Add ToImageYUV and ToImageYUVWithParams
- make
- add make task to show changelog for next release
- wechat_qrcode
- disable module in Windows due to linker error
- all
- update to OpenCV 4.5.1
- core
- add Matrix initializers: eye, ones, zeros (#758)
- add multidimensional mat creation
- add ndim mat constructor
- added accumulators
- added norm call with two mats (#600)
- keep a reference to a []byte that backs a Mat. (#755)
- remove guard for DataPtrUint8 since any Mat can be treated an Uint8
- add Mat IsContinuous() function, and ensure that any Mat data pointers used to create Go slices only apply to continuous Mats
- fix buffer size for Go strings for 32-bit operating systems
- build
- bring back codecov.io
- calib3d
- correctly close mat after test
- dnn
- add ReadNetFromONNX and ReadNetFromONNXBytes (#760)
- increase test coverage
- docker
- dockerfiles for opencv gpu builds
- docs
- corrected links to CUDA and OpenVINO
- list all unimplemented functions in photo module
- replace GoDocs with pkg docs
- update ROADMAP from recent contributions
- imgproc
- add test coverage for GetTextSizeWithBaseline()
- close all Mats even those based on memory slices
- close Mat to avoid memory leak in ToImage()
- refactoring of ToImage and ImageToMatXX functions
- openvino
- fix dldt repo in makefile for openvino
- os
- adding gcc-c++ package to rpm deps
- photo
- add SeamlessClone function
- profile
- add created mats in Split and ForwardLayers to profile (#780)
- all
- update to opencv release 4.5.0
- build
- add file dependencies needed for DNN tests
- add verbose output for tests on CircleCI
- also run unit tests on non-free algorithms. YMMV.
- fix build with cuda
- remove Travis and switch to CircleCI using Docker based builds
- update CI builds to Go 1.15
- core
- add mixChannels() method to Mat (#746)
- Add toGoStrings helper
- support ConvertToWithParams method
- dnn
- Add NMSBoxes function (#736)
- Added ability to load Torch file. Tested features for extracting 128d vectors
- fix using wrong type for unconnectedlayertype
- use default ddepth for conversions to blob from image as recommended by @berak
- docker
- use separate dockerfile for opencv to avoid massive rebuild
- docs
- add recent contributions to ROADMAP and also add cuda functions still in need of implementation
- display CircleCI badge in README
- minor improvements to CUDA docs in READMEs
- features2d
- add FlannBasedMatcher
- add drawmatches (#720)
- fix memory leak in SIFT
- highgui
- refactored ROI methods
- imgproc
- Add option to return baseline with GetTextSizeWithBaseline
- objdetect
- Add QRCode DetectAndDecodeMulti
- videoio
- Add video capture properties and set preferred api backend (#739)
- fix needed as discussed in golang/go issue #32479
- all
- update Makefile and READMEChange constants and corresponding function signatures to have the correct types (#689)
- replace master branch terminology with release
- update to OpenCV 4.4.0
- calib3d
- add FindHomography()
- add function EstimateAffinePartial2D()
- add GetAffineTransform() and GetAffineTransform2f()
- add UndistortPoints(), FisheyeUndistortPoints() and EstimateNewCameraMatrixForUndistortRectify()
- core
- add MultiplyWithParams
- docs
- add recent contributions to ROADMAP
- create CODE_OF_CONDUCT.md
- update copyright year
- features2d
- close returned Mat from SIFT algorithm
- fix issue 707 with DrawKeyPoints
- SIFT patent now expired so is part of main OpenCV modules
- imgproc
- change struct to remove GNU old-style field designator extension warning
- build
- update Makefile and README
- update to use go1.14
- calib3d
- add draw chessboard
- core
- fix memory leak in Mat.Size() and Mat.Split() (#580)
- cuda
- add build support
- add cuda backend/target
- add support for:
- cv::cuda::CannyEdgeDetector
- cv::cuda::CascadeClassifier Class
- cv::cuda::HOG Class
- remove breaking case statement
- dnn
- avoid parallel test runs
- remove attempt at providing grayscale image blog conversion that uses mean adjustment
- docker
- docker file last command change (#505)
- docs
- add recent contributions to ROADMAP
- imgproc
- add ErodeWithParams function
- add getGaussianKernel function
- add Go Point2f type and update GetPerspectiveTransform() (#589)
- add PhaseCorrelate binding (#626)
- added Polylines feature
- do not free contours data until after we have drawn the needed contours
- Threshold() should return a value (#620)
- make
- added raspberry pi zero support to the makefile
- opencv
- update to OpenCV 4.3.0
- openvino
- add build support
- windows
- add cmake flag for allocator stats counter type to avoid opencv issue #16398
- bgsegm
- Add BackgroundSubtractorCNT
- calib3d
- Added undistort function (#520)
- core
- add functions (singular value decomposition, multiply between matrices, transpose matrix) (#559)
- Add new funcs (#578)
- add setIdentity() method to Mat
- add String method (#552)
- MatType: add missing constants
- dnn
- Adding GetLayerNames()
- respect the bit depth of the input image to set the expected output when converting an image to a blob
- doc
- change opencv version 3.x to 4.x
- docker
- use Go1.13.5 for image
- imgcodecs
- Fix webp image decode error (#523) imgcodecs: optimize copy of data used for IMDecode method
- imgproc
- Add GetRectSubPix
- Added ClipLine
- Added InvertAffineTransform
- Added LinearPolar function (#524)
- correct ksize param used for MedianBlur unit test
- Feature/put text with line type (#527)
- FitEllipse
- In FillPoly and DrawContours functions, remove func() wrap to avoid memory freed before calling opencv functions. (#543)
- objdetect
- Add support QR codes
- opencv
- update to OpenCV 4.2.0 release
- openvino
- Add openvino async
- test
- Tolerate imprecise result in SolvePoly
- Tolerate imprecision in TestHoughLines
- build
- added go clean --cache to clean target, see issue 458
- core
- Add KMeans function
- added MeanWithMask function for Mats (#487)
- Fix possible resource leak
- cuda
- added cudaoptflow
- added NewGpuMatFromMat which creates a GpuMat from a Mat
- Support for CUDA Image Warping (#494)
- dnn
- add BlobFromImages (#467)
- add ImagesFromBlob (#468)
- docs
- update ROADMAP with all recent contributions. Thank you!
- examples
- face detection from image url by using IMDecode (#499)
- better format
- imgproc
- Add calcBackProject
- Add CompareHist
- Add DistanceTransform and Watershed
- Add GrabCut
- Add Integral
- Add MorphologyExWithParams
- opencv
- update to version 4.1.2
- openvino
- updates needed for 2019 R3
- videoio
- Added ToCodec to convert FOURCC string to numeric representation (#485)
- build
- Use Go 1.12.x for build
- Update to OpenCV 4.1.0
- cuda
- Initial cuda implementation
- docs
- Fix the command to install xquartz via brew/cask
- features2d
- Add support for SimpleBlobDetectorParams (#434)
- Added FastFeatureDetectorWithParams
- imgproc
- Added function call to cv::morphologyDefaultBorderValue
- test
- Increase test coverage for FP16BlobFromImage()
- video
- Added calcOpticalFlowPyrLKWithParams
- Addition of MOG2/KNN constructor with options
- build
- Adds Dockerfile. Updates Makefile and README.
- make maintainer tag same as dockerhub organization name
- make sure to run tests for non-free contrib algorithms
- update Appveyor build to use Go 1.12
- calib3d
- add func InitUndistortRectifyMap (#405)
- cmd
- correct formatting of code in example
- core
- Added Bitwise Operations With Masks
- update to OpenCV4.0.1
- dnn
- add new backend and target types for NVIDIA and FPGA
- Added blobFromImages in ROADMAP.md (#403)
- Implement dnn methods for loading in-memory models.
- docker
- update Dockerfile to use OpenCV 4.0.1
- docs
- update ROADMAP from recent contributions
- examples
- Fixing filename in caffe-classifier example
- imgproc
- Add 'MinEnclosingCircle' function
- added BoxPoints function and BorderIsolated const
- Added Connected Components
- Added the HoughLinesPointSet function.
- Implement CLAHE to imgproc
- openvino
- remove lib no longer included during non-FPGA installations
- test
- Add len(kp) == 232 to TestMSER, seems this is necessary for MacOS for some reason.
- build
- add OPENCV_GENERATE_PKGCONFIG flag to generate pkg-config file
- Add required curl package to the RPM and DEBS
- correct name for zip directory used for code download
- Removing linking against face contrib module
- update CI to use 4.0.0 release
- update Makefile and Windows build command file to OpenCV 4.0.0
- use opencv4 file for pkg-config
- core
- add ScaleAdd() method to Mat
- docs
- replace OpenCV 3.4.3 references with OpenCV 4
- update macOS installation info to refer to new OpenCV 4.0 brew
- Updated function documentation with information about errors.
- examples
- Improve accuracy in hand gesture sample
- features2d
- update drawKeypoints() to use new stricter enum
- openvino
- changes to accommodate release 2018R4
- profile
- add build tag matprofile to allow for conditional inclusion of custom profile
- Add Mat profile wrapper in other areas of the library.
- Add MatProfile.
- Add MatProfileTest.
- move MatProfile tests into separate test file so they only run when custom profiler active
- test
- Close images in tests.
- More Closes in tests.
- test that we are using 4.0.x version now
- videoio
- Return the right type and error when opening VideoCapture fails
- build
- Update Makefile
- update version of OpenCV used to 3.4.3
- use link to OpenCV 3.4.3 for Windows builds
- core
- add mulSpectrums wrapper
- add PolarToCart() method to Mat
- add Reduce() method to Mat
- add Repeat() method to Mat
- add Solve() method to Mat
- add SolveCubic() method to Mat
- add SolvePoly() method to Mat
- add Sort() method to Mat
- add SortIdx() method to Mat
- add Trace() method to Mat
- Added new MatType
- Added Phase function
- dnn
- update test to match OpenCV 3.4.3 behavior
- docs
- Add example of how to run individual test
- adding instructions for installing pkgconfig for macOS
- fixed GOPATH bug.
- update ROADMAP from recent contributions
- examples
- add condition to handle no circle found in circle detection example
- imgcodecs
- Added IMEncodeWithParams function
- imgproc
- Added Filter2D function
- Added fitLine function
- Added logPolar function
- Added Remap function
- Added SepFilter2D function
- Added Sobel function
- Added SpatialGradient function
- xfeatures2d
- do not run SIFT test unless OpenCV was built using OPENCV_ENABLE_NONFREE
- do not run SURF test unless OpenCV was built using OPENCV_ENABLE_NONFREE
- build
- add make task for Raspbian install with ARM hardware optimizations
- use all available cores to compile OpenCV on Windows as discussed in issue #275
- download performance improvements for OpenCV installs on Windows
- correct various errors and issues with OpenCV installs on Fedora and CentOS
- core
- correct spelling error in constant to fix issue #269
- implemented & added test for Mat.SetTo
- improve Multiply() GoDoc and test showing Scalar() multiplication
- mutator functions for Mat add, subtract, multiply, and divide for uint8 and float32 values.
- dnn
- add FP16BlobFromImage() function to convert an image Mat to a half-float aka FP16 slice of bytes
- docs
- fix a varible error in example code in README
- build
- add max to make -j
- improve path for Windows to use currently configured GOPATH
- core
- Add Mat.DataPtr methods for direct access to OpenCV data
- Avoid extra copy in Mat.ToBytes + code review feedback
- dnn
- add test coverage for ParseNetBackend and ParseNetTarget
- complete test coverage
- docs
- minor cleanup of language for install
- use chdir instead of cd in Windows instructions
- examples
- add 'hello, video' example to repo
- add HoughLinesP example
- correct message on device close to match actual event
- small change in display message for when file is input source
- use DrawContours in motion detect example
- imgproc
- Add MinAreaRect() function
- test
- filling test coverage gaps
- videoio
- add test coverage for OpenVideoCapture
- build
- Add -lopencv_calib3d341 to the linker
- auto-confirm on package installs from make deps command
- display PowerShell download status for OpenCV files
- obtain caffe test config file from new location in Travis build
- remove VS only dependencies from OpenCV build, copy caffe test config file from new location
- return back to GoCV directory after OpenCV install
- update for release of OpenCV v3.4.2
- use PowerShell for scripted OpenCV install for Windows
- win32 version number has not changed yet
- calib3d
- Add Calibrate for Fisheye model(WIP)
- core
- add GetTickCount function
- add GetTickFrequency function
- add Size() and FromPtr() methods to Mat
- add Total method to Mat
- Added RotateFlag type
- correct CopyTo to use pointer to Mat as destination
- functions converting Image to Mat
- rename implementation to avoid conflicts with Windows
- stricter use of reflect.SliceHeader
- dnn
- add backend/device options to caffe and tensorflow DNN examples
- add Close to Layer
- add first version of dnn-pose-detection example
- add further comments to object detection/tracking DNN example
- add GetPerfProfile function to Net
- add initial Layer implementation alongside enhancements to Net
- add InputNameToIndex to Layer
- add new functions allowing DNN backends such as OpenVINO
- additional refactoring and comments in dnn-pose-detection example
- cleanup DNN face detection example
- correct const for device targets to be called Target
- correct test that expected init slice with blank entries
- do not init slice with blank entries, since added via append
- further cleanup of DNN face detection example
- make dnn-pose-detection example use Go channels for async operation
- refactoring and additional comments for object detection/tracking DNN example
- refine comment in header for style transfer example
- working style transfer example
- added ForwardLayers() to accomodate models with multiple output layers
- docs
- add scripted Windows install info to README
- Added a sample gocv workflow contributing guideline
- mention docker image in README.
- mention work in progress on Android
- simplify and add missing step in Linux installation in README
- update contributing instructions to match latest version
- update ROADMAP from recent calib3d module contribution
- update ROADMAP from recent imgproc histogram contribution
- examples
- cleanup header for caffe dnn classifier
- show how to use either Caffe or Tensorflow for DNN object detection
- further improve dnn samples
- rearrange and add comments to dnn style transfer example
- remove old copy of pose detector
- remove unused example
- features2d
- free memory allocation bug for C.KeyPoints as pointed out by @tzununbekov
- Adding opencv::drawKeypoints() support
- imgproc
- add equalizeHist function
- Added opencv::calcHist implementation
- openvino
- add needed environment config to execute examples
- further details in README explaining how to use
- remove opencv contrib references as they are not included in OpenVINO
- videoio
- Add OpenVideoCapture
- Use gocv.VideoCaptureFile if string is specified for device.
- build
- Add cgo directives to contrib
- contrib subpackage also needs cpp 11 or greater for a warning free build on Linux
- Deprecate env scripts and update README
- Don't set --std=c++1z on non-macOS
- Remove CGO vars from CI and correct Windows cgo directives
- Support pkg-config via cgo directives
- we actually do need cpp 11 or greater for a warning free build on Linux
- docs
- add a Github issue template to project
- provide specific examples of using custom environment
- imgproc
- add HoughLinesPWithParams() function
- openvino
- add build tag specific to openvino
- add roadmap info
- add smoke test for ie
- build
- convert to CRLF
- Enable verbosity for travisCI
- Further improvements to Makefile
- core
- Add Rotate, VConcat
- Adding InScalarRange and NewMatFromScalarWithSize functions
- Changed NewMatFromScalarWithSize to NewMatWithSizeFromScalar
- implement CheckRange(), Determinant(), EigenNonSymmetric(), Min(), and MinMaxIdx() functions
- implement PerspectiveTransform() and Sqrt() functions
- implement Transform() and Transpose() functions
- Make toByteArray safe for empty byte slices
- Renamed InScalarRange to InRangeWithScalar
- docs
- nicer error if we can't read haarcascade_frontalface_default
- correct some ROADMAP links
- Fix example command.
- Fix executable name in help text.
- update ROADMAP from recent contributions
- imgproc
- add BoxFilter and SqBoxFilter functions
- Fix the hack to convert C arrays to Go slices.
- videoio
- Add isColor to VideoWriterFile
- Check numerical parameters for gocv.VideoWriterFile
- CodecString()
- features2d
- add BFMatcher
- img_hash
- Add contrib/img_hash module
- add GoDocs for new img_hash module
- Add img-similarity as an example for img_hash
- openvino
- adds support for Intel OpenVINO toolkit PVL
- starting experimental work on OpenVINO IE
- update README files for Intel OpenVINO toolkit support
- WIP on IE can load an IR network
- build
- Add astyle config
- Astyle cpp/h files
- remove duplication in Makefile for astyle
- core
- Add GetVecfAt() function to Mat
- Add GetVeciAt() function to Mat
- Add Mat.ToImage()
- add MeanStdDev() method to Mat
- add more functions
- Compare Mat Type directly
- further cleanup for GoDocs and enforce type for convariance operations
- Make borderType in CopyMakeBorder be type BorderType
- Mat Type() should return MatType
- remove unused convenience functions
- use Mat* to indicate when a Mat is mutable aka an output parameter
- dnn
- add a ssd sample and a GetBlobChannel helper
- added another helper func and a pose detection demo
- docs
- add some additional detail about adding OpenCV functions to GoCV
- updates to contribution guidelines
- fill out complete list of needed imgproc functions for sections that have work started
- indicate that missing imgproc functions need implementation
- mention the WithParams patterns to be used for functions with default params
- update README for the Mat* based API changes
- update ROADMAP for recent changes especially awesome recent core contributions from @berak
- examples
- Fix tf-classifier example
- move new DNN advanced examples into separate folders
- Update doc for the face contrib package
- Update links in caffe-classifier demo
- WIP on hand gestures tracking example
- highgui
- fix constant in NewWindow
- imgproc
- Add Ellipse() and FillPoly() functions
- Add HoughCirclesWithParams() func
- correct output Mat to for ConvexHull()
- rename param being used for Mat image to be modified
- tracking
- add support for TrackerMIL, TrackerBoosting, TrackerMedianFlow, TrackerTLD, TrackerKCF, TrackerMOSSE, TrackerCSRT trackers
- removed mutitracker, added Csrt, rebased
- update GoDocs and minor renaming based on gometalint output
- build
- install unzip before build
- overwrite when unzipping file to install Tensorflow test model
- use -DCPU_DISPATCH= flag for build to avoid problem with disabled AVX on Windows
- update unzipped file when installing Tensorflow test model
- core
- add Compare() and CountNonZero() functions
- add getter/setter using optional params for multi-dimensional Mat using row/col/channel
- Add mat subtract function
- add new toRectangle function to DRY up conversion from CRects to []image.Rectangle
- add split subtract sum wrappers
- Add toCPoints() helper function
- Added Mat.CopyToWithMask() per #47
- added Pow() method
- BatchDistance BorderInterpolate CalcCovarMatrix CartToPolar
- CompleteSymm ConvertScaleAbs CopyMakeBorder Dct
- divide, multiply
- Eigen Exp ExtractChannels
- operations on a 3d Mat are not same as a 2d multichannel Mat
- resolve merge conflict with duplicate Subtract() function
- run gofmt on core tests
- Updated type for Mat.GetUCharAt() and Mat.SetUCharAt() to reflect uint8 instead of int8
- docs
- update ROADMAP of completed functions in core from recent contributions
- env
- check loading resources
- Add distribution detection to deps rule
- Add needed environment variables for Linux
- highgui
- add some missing test coverage on WaitKey()
- imgproc
- Add adaptive threshold function
- Add pyrDown and pyrUp functions
- Expose DrawContours()
- Expose WarpPerspective and GetPerspectiveTransform
- implement ConvexHull() and ConvexityDefects() functions
- opencv
- update to OpenCV version 3.4.1
- bugfix
- correct several errors in size parameter ordering
- build
- add missing opencv_face lib reference to env.sh
- Support for non-brew installs of opencv on Darwin
- core
- add Channels() method to Mat
- add ConvertTo() and NewMatFromBytes() functions
- add Type() method to Mat
- implement ConvertFp16() function
- dnn
- use correct size for blob used for Caffe/Tensorflow tests
- docs
- Update copyright date and Apache 2.0 license to include full text
- examples
- cleanup mjpeg streamer code
- cleanup motion detector comments
- correct use of defer in loop
- use correct size for blob used for Caffe/Tensorflow examples
- imgproc
- Add cv::approxPolyDP() bindings.
- Add cv::arcLength() bindings.
- Add cv::matchTemplate() bindings.
- correct comment and link for Blur function
- correct docs for BilateralFilter()
- core
- add ColorMapFunctions and their test
- add Mat ToBytes
- add Reshape and MinMaxLoc functions
- also delete points
- fix mistake in the norm function by taking NormType instead of int as parameter
- SetDoubleAt func and his test
- SetFloatAt func and his test
- SetIntAt func and his test
- SetSCharAt func and his test
- SetShortAt func and his test
- SetUCharAt fun and his test
- use correct delete operator for array of new, eliminates a bunch of memory leaks
- dnn
- add support for loading Tensorflow models
- adjust test for Caffe now that we are auto-cropping blob
- first pass at adding Caffe support
- go back to older function signature to avoid version conflicts with Intel CV SDK
- properly close DNN Net class
- use approx. value from test result to account forr windows precision differences
- features2d
- implement GFTTDetector, KAZE, and MSER algorithms
- modify MSER test for Windows results
- highgui
- un-deprecate WaitKey function needed for CLI apps
- imgcodec
- add fileExt type
- imgproc
- add the norm wrapper and use it in test for WarpAffine and WarpAffineWithParams
- GetRotationMatrix2D, WarpAffine and WarpAffineWithParams
- use NormL2 in wrap affine
- pvl
- add support for FaceRecognizer
- complete wrappers for all missing FaceDetector functions
- update instructions to match R3 of Intel CV SDK
- docs
- add more detail about exactly which functions are not yet implememented in the modules that are marked as 'Work Started'
- add refernece to Tensorflow example, and also suggest brew upgrade for MacOS
- improve ROADMAP to help would-be contributors know where to get started
- in the readme, explain compiling to a static library
- remove many godoc warnings by improving function descriptions
- update all OpenCV 3.3.1 references to v3.4.0
- update CGO_LDFLAGS references to match latest requirements
- update contribution guidelines to try to make it more inviting
- examples
- add Caffe classifier example
- add Tensorflow classifier example
- fixed closing window in examples in infinite loop
- fixed format of the examples with gofmt
- test
- add helper function for test : floatEquals
- add some attiribution from test function
- display OpenCV version in case that test fails
- add round function to allow for floating point accuracy differences due to GPU usage.
- build
- improve search for already installed OpenCV on MacOS
- update Appveyor build to Opencv 3.4.0
- update to Opencv 3.4.0
- core
- correct Merge implementation
- docs
- change wording and formatting for roadmap
- update roadmap for a more complete list of OpenCV functionality
- sequence docs in README in same way as the web site, aka by OS
- show in README that some work was done on contrib face module
- face
- LBPH facerecognizer bindings
- highgui
- complete implementation for remaining API functions
- imgcodecs
- add IMDecode function
- imgproc
- elaborate on HoughLines & HoughLinesP tests to fetch a few individual results
- objdetect
- add GroupRectangles function
- xfeatures2d
- add SIFT and SURF algorithms from OpenCV contrib
- improve description for OpenCV contrib
- run tests from OpenCV contrib
- core
- Add cv::LUT binding
- examples
- do not try to go fullscreen, since does not work on OSX
- features2d
- add AKAZE algorithm
- add BRISK algorithm
- add FastFeatureDetector algorithm
- implement AgastFeatureDetector algorithm
- implement ORB algorithm
- implement SimpleBlobDetector algorithm
- osx
- Fix to get the OpenCV path with "brew info".
- highgui
- use new Window with thread lock, and deprecate WaitKey() in favor of Window.WaitKey()
- use Window.WaitKey() in tests
- imgproc
- add tests for HoughCircles
- pvl
- use correct Ptr referencing
- video
- use smart Ptr for Algorithms thanks to @alalek
- use unsafe.Pointer for Algorithm
- move tests to single file now that they all pass
- core
- add TermCriteria for iterative algorithms
- imgproc
- add CornerSubPix() and GoodFeaturesToTrack() for corner detection
- objdetect
- add DetectMultiScaleWithParams() for HOGDescriptor
- add DetectMultiScaleWithParams() to allow override of defaults for CascadeClassifier
- video
- add CalcOpticalFlowFarneback() for Farneback optical flow calculations
- add CalcOpticalFlowPyrLK() for Lucas-Kanade optical flow calculations
- videoio
- use temp directory for Windows test compat.
- build
- enable Appveyor build w/cache
- osx
- update env path to always match installed OpenCV from Homebrew
- core
- Added cv::mean binding with single argument
- fix the write-strings warning
- return temp pointer fix
- examples
- add counter example
- add motion-detect command
- correct counter
- remove redundant cast and other small cleanup
- set motion detect example to fullscreen
- use MOG2 for continous motion detection, instead of simplistic first frame only
- highgui
- ability to better control the fullscreen window
- imgproc
- add BorderType param type for GaussianBlur
- add BoundingRect() function
- add ContourArea() function
- add FindContours() function along with associated data types
- add Laplacian and Scharr functions
- add Moments() function
- add Threshold function
- pvl
- add needed lib for linker missing in README
- test
- slightly more permissive version test
- videoio
- Add image compression flags for gocv.IMWrite
- Fixed possible looping out of compression parameters length
- Make dedicated function to run cv::imwrite with compression parameters
- overall
- Update to use OpenCV 3.3.1
- docs
- Correct Windows build location from same @jpfarias fix to gocv-site
- core
- Add Resize
- Add Mat merge and Discrete Fourier Transform
- Add CopyTo() and Normalize()
- Implement various important Mat logical operations
- video
- BackgroundSubtractorMOG2 algorithm now working
- Add BackgroundSubtractorKNN algorithm from video module
- videoio
- Add VideoCapture::get
- imgproc
- Add BilateralFilter and MedianBlur
- Additional drawing functions implemented
- Add HoughCircles filter
- Implement various morphological operations
- highgui
- Add Trackbar support
- objdetect
- Add HOGDescriptor
- build
- Remove race from test on Travis, since it causes CGo segfault in MOG2
- Switchover to custom domain for package import
- Yes, we have Windows
Initial release!
- Video capture
- GUI Window to display video
- Image load/save
- CascadeClassifier for object detection/face tracking/etc.
- Installation instructions for Ubuntu
- Installation instructions for OS X
- Code example to use VideoWriter
- Intel CV SDK PVL FaceTracker support
- imgproc Image processing
- Travis CI build
- At least minimal test coverage for each OpenCV class
- Implement more of imgproc Image processing