gocv

Go package for computer vision using OpenCV 4 and beyond. Includes support for DNN, CUDA, OpenCV Contrib, and OpenVINO.

OTHER License

Stars
6.6K
Committers
166

Bot releases are visible (Hide)

gocv - 0.38.0

Published by deadprogram about 1 month ago

  • 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
gocv - 0.37.0 Latest Release

Published by deadprogram 4 months ago

  • all
    • Add support for OpenCV 4.10.0
gocv - 0.36.1

Published by deadprogram 7 months ago

  • bugfix
    • Correct error in CUDA function signature
  • test
    • correct CUDA tests
  • docker
    • add test image for CUDA 12
gocv - 0.36.0

Published by deadprogram 7 months ago

  • 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
  • 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)
gocv - 0.35.0

Published by deadprogram about 1 year ago

  • 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)
gocv - 0.34.0

Published by deadprogram about 1 year ago

  • 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
gocv - 0.33.0

Published by deadprogram over 1 year ago

  • 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.
gocv - 0.32.1

Published by deadprogram almost 2 years ago

  • 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
gocv - 0.32.0

Published by deadprogram almost 2 years ago

  • 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
gocv - 0.31.0

Published by deadprogram over 2 years ago

  • 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
gocv - 0.30.0

Published by deadprogram over 2 years ago

  • 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
gocv - 0.29.0

Published by deadprogram almost 3 years ago

  • 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
gocv - 0.28.0

Published by deadprogram about 3 years ago

  • 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)
gocv - v0.27.0

Published by deadprogram over 3 years ago

  • 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
gocv - v0.26.0

Published by deadprogram almost 4 years ago

  • 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)
gocv - v0.25.0

Published by deadprogram almost 4 years ago

  • 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
gocv - v0.24.0

Published by deadprogram about 4 years ago

  • all
    • update Makefile and README
    • change 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
gocv - v0.23.0

Published by deadprogram over 4 years ago

  • 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
gocv - v0.22.0

Published by deadprogram almost 5 years ago

  • 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
gocv - v0.21.0

Published by deadprogram about 5 years ago

  • 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)
Package Rankings
Top 0.63% on Proxy.golang.org
Badges
Extracted from project README
GoCV Go Reference Linux macOS Windows Go Report Card License