chore: upgrade dependencies
This commit is contained in:
1
vendor/gocv.io/x/gocv/.gitignore
generated
vendored
1
vendor/gocv.io/x/gocv/.gitignore
generated
vendored
@@ -9,3 +9,4 @@ count.out
|
||||
/build
|
||||
.idea/
|
||||
contrib/data.yaml
|
||||
contrib/testOilPainting.png
|
||||
|
||||
75
vendor/gocv.io/x/gocv/CHANGELOG.md
generated
vendored
75
vendor/gocv.io/x/gocv/CHANGELOG.md
generated
vendored
@@ -1,3 +1,78 @@
|
||||
0.31.0
|
||||
---
|
||||
* **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
|
||||
|
||||
0.30.0
|
||||
---
|
||||
* **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
|
||||
|
||||
0.29.0
|
||||
---
|
||||
* **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
|
||||
|
||||
0.28.0
|
||||
---
|
||||
* **all**
|
||||
|
||||
2
vendor/gocv.io/x/gocv/CONTRIBUTING.md
generated
vendored
2
vendor/gocv.io/x/gocv/CONTRIBUTING.md
generated
vendored
@@ -81,7 +81,7 @@ go test ./openvino/...
|
||||
|
||||
## Contributing workflow
|
||||
|
||||
This section provides a short description of one of many possible workflows you can follow to contribute to `CoCV`. This workflow is based on multiple [git remotes](https://git-scm.com/docs/git-remote) and it's by no means the only workflow you can use to contribute to `GoCV`. However, it's an option that might help you get started quickly without too much hassle as this workflow lets you work off the `gocv` repo directory path!
|
||||
This section provides a short description of one of many possible workflows you can follow to contribute to `GoCV`. This workflow is based on multiple [git remotes](https://git-scm.com/docs/git-remote) and it's by no means the only workflow you can use to contribute to `GoCV`. However, it's an option that might help you get started quickly without too much hassle as this workflow lets you work off the `gocv` repo directory path!
|
||||
|
||||
Assuming you have already forked the `gocv` repo, you need to add a new `git remote` which will point to your GitHub fork. Notice below that you **must** `cd` to `gocv` repo directory before you add the new `git remote`:
|
||||
|
||||
|
||||
2
vendor/gocv.io/x/gocv/Dockerfile
generated
vendored
2
vendor/gocv.io/x/gocv/Dockerfile
generated
vendored
@@ -1,6 +1,6 @@
|
||||
# to build this docker image:
|
||||
# docker build .
|
||||
FROM gocv/opencv:4.5.3
|
||||
FROM gocv/opencv:4.6.0
|
||||
|
||||
ENV GOPATH /go
|
||||
|
||||
|
||||
2
vendor/gocv.io/x/gocv/Dockerfile-test
generated
vendored
2
vendor/gocv.io/x/gocv/Dockerfile-test
generated
vendored
@@ -6,7 +6,7 @@
|
||||
# docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix gocv-test
|
||||
# xhost -
|
||||
#
|
||||
FROM gocv/opencv:4.5.3 AS gocv-test
|
||||
FROM gocv/opencv:4.6.0 AS gocv-test
|
||||
|
||||
ENV GOPATH /go
|
||||
|
||||
|
||||
2
vendor/gocv.io/x/gocv/Dockerfile-test.gpu-cuda-10
generated
vendored
2
vendor/gocv.io/x/gocv/Dockerfile-test.gpu-cuda-10
generated
vendored
@@ -4,7 +4,7 @@
|
||||
# To run tests:
|
||||
# docker run -it --rm --gpus all gocv-test-gpu-cuda-10
|
||||
#
|
||||
FROM gocv/opencv:4.5.3-gpu-cuda-10 AS gocv-gpu-test-cuda-10
|
||||
FROM gocv/opencv:4.6.0-gpu-cuda-10 AS gocv-gpu-test-cuda-10
|
||||
|
||||
ENV GOPATH /go
|
||||
ENV PATH="${PATH}:/go/bin"
|
||||
|
||||
2
vendor/gocv.io/x/gocv/Dockerfile-test.gpu-cuda-11
generated
vendored
2
vendor/gocv.io/x/gocv/Dockerfile-test.gpu-cuda-11
generated
vendored
@@ -4,7 +4,7 @@
|
||||
# To run tests:
|
||||
# docker run -it --rm --gpus all gocv-test-gpu-cuda-11
|
||||
#
|
||||
FROM gocv/opencv:4.5.3-gpu-cuda-11 AS gocv-gpu-test-cuda-11
|
||||
FROM gocv/opencv:4.6.0-gpu-cuda-11 AS gocv-gpu-test-cuda-11
|
||||
|
||||
ENV GOPATH /go
|
||||
ENV PATH="${PATH}:/go/bin"
|
||||
|
||||
4
vendor/gocv.io/x/gocv/Dockerfile.gpu
generated
vendored
4
vendor/gocv.io/x/gocv/Dockerfile.gpu
generated
vendored
@@ -1,12 +1,12 @@
|
||||
# to build this docker image:
|
||||
# docker build -f Dockerfile.gpu .
|
||||
FROM gocv/opencv:4.5.3-gpu AS gocv-gpu
|
||||
FROM gocv/opencv:4.6.0-gpu-cuda-11 AS gocv-gpu
|
||||
|
||||
ENV GOPATH /go
|
||||
|
||||
COPY . /go/src/gocv.io/x/gocv/
|
||||
|
||||
WORKDIR /go/src/gocv.io/x/gocv
|
||||
RUN go build -tags example -o /build/gocv_cuda_version ./cmd/cuda/
|
||||
RUN go build -tags cuda -o /build/gocv_cuda_version ./cmd/cuda/
|
||||
|
||||
CMD ["/build/gocv_cuda_version"]
|
||||
|
||||
7
vendor/gocv.io/x/gocv/Dockerfile.opencv
generated
vendored
7
vendor/gocv.io/x/gocv/Dockerfile.opencv
generated
vendored
@@ -1,6 +1,6 @@
|
||||
# to build this docker image:
|
||||
# docker build -f Dockerfile.opencv -t gocv/opencv:4.5.3 .
|
||||
FROM golang:1.16-buster AS opencv
|
||||
# docker build -f Dockerfile.opencv -t gocv/opencv:4.6.0 .
|
||||
FROM golang:1.18-buster AS opencv
|
||||
LABEL maintainer="hybridgroup"
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
@@ -10,7 +10,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ARG OPENCV_VERSION="4.5.3"
|
||||
ARG OPENCV_VERSION="4.6.0"
|
||||
ENV OPENCV_VERSION $OPENCV_VERSION
|
||||
|
||||
RUN curl -Lo opencv.zip https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip && \
|
||||
@@ -28,6 +28,7 @@ RUN curl -Lo opencv.zip https://github.com/opencv/opencv/archive/${OPENCV_VERSIO
|
||||
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-${OPENCV_VERSION}/modules \
|
||||
-D OPENCV_ENABLE_NONFREE=ON \
|
||||
-D WITH_JASPER=OFF \
|
||||
-D WITH_TBB=ON \
|
||||
-D BUILD_DOCS=OFF \
|
||||
-D BUILD_EXAMPLES=OFF \
|
||||
-D BUILD_TESTS=OFF \
|
||||
|
||||
14
vendor/gocv.io/x/gocv/Dockerfile.opencv-gpu-cuda-10
generated
vendored
14
vendor/gocv.io/x/gocv/Dockerfile.opencv-gpu-cuda-10
generated
vendored
@@ -1,8 +1,13 @@
|
||||
# to build this docker image:
|
||||
# docker build -f Dockerfile.opencv-gpu-cuda-10 -t gocv/opencv:4.5.3-gpu-cuda-10 .
|
||||
FROM nvidia/cuda:10.2-cudnn7-devel AS opencv-gpu-base
|
||||
# docker build -f Dockerfile.opencv-gpu-cuda-10 -t gocv/opencv:4.6.0-gpu-cuda-10 .
|
||||
FROM nvidia/cuda:10.2-cudnn8-devel AS opencv-gpu-base
|
||||
LABEL maintainer="hybridgroup"
|
||||
|
||||
# needed for cuda repo key rotation. see:
|
||||
# https://forums.developer.nvidia.com/t/notice-cuda-linux-repository-key-rotation/212771
|
||||
#
|
||||
RUN apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
git build-essential cmake pkg-config unzip libgtk2.0-dev \
|
||||
wget curl ca-certificates libcurl4-openssl-dev libssl-dev \
|
||||
@@ -10,7 +15,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ARG OPENCV_VERSION="4.5.3"
|
||||
ARG OPENCV_VERSION="4.6.0"
|
||||
ENV OPENCV_VERSION $OPENCV_VERSION
|
||||
|
||||
RUN curl -Lo opencv.zip https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip && \
|
||||
@@ -36,6 +41,7 @@ RUN curl -Lo opencv.zip https://github.com/opencv/opencv/archive/${OPENCV_VERSIO
|
||||
-D BUILD_opencv_python=NO \
|
||||
-D BUILD_opencv_python2=NO \
|
||||
-D BUILD_opencv_python3=NO \
|
||||
-D WITH_TBB=ON \
|
||||
-D WITH_CUDA=ON \
|
||||
-D ENABLE_FAST_MATH=1 \
|
||||
-D CUDA_FAST_MATH=1 \
|
||||
@@ -53,7 +59,7 @@ RUN curl -Lo opencv.zip https://github.com/opencv/opencv/archive/${OPENCV_VERSIO
|
||||
# install golang here
|
||||
FROM opencv-gpu-base AS opencv-gpu-golang
|
||||
|
||||
ENV GO_RELEASE=1.16.5
|
||||
ENV GO_RELEASE=1.18.3
|
||||
RUN wget https://dl.google.com/go/go${GO_RELEASE}.linux-amd64.tar.gz && \
|
||||
tar xfv go${GO_RELEASE}.linux-amd64.tar.gz -C /usr/local && \
|
||||
rm go${GO_RELEASE}.linux-amd64.tar.gz
|
||||
|
||||
9
vendor/gocv.io/x/gocv/Dockerfile.opencv-gpu-cuda-11
generated
vendored
9
vendor/gocv.io/x/gocv/Dockerfile.opencv-gpu-cuda-11
generated
vendored
@@ -1,6 +1,6 @@
|
||||
# to build this docker image:
|
||||
# docker build -f Dockerfile.opencv-gpu-cuda-11 -t gocv/opencv:4.5.3-gpu-cuda-11 .
|
||||
FROM nvidia/cuda:11.2.2-cudnn8-devel AS opencv-gpu-cuda-11-base
|
||||
# docker build -f Dockerfile.opencv-gpu-cuda-11 -t gocv/opencv:4.6.0-gpu-cuda-11 .
|
||||
FROM nvidia/cuda:11.5.2-cudnn8-devel-ubuntu20.04 AS opencv-gpu-cuda-11-base
|
||||
LABEL maintainer="hybridgroup"
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
@@ -11,7 +11,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ARG OPENCV_VERSION="4.5.3"
|
||||
ARG OPENCV_VERSION="4.6.0"
|
||||
ENV OPENCV_VERSION $OPENCV_VERSION
|
||||
|
||||
RUN curl -Lo opencv.zip https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip && \
|
||||
@@ -37,6 +37,7 @@ RUN curl -Lo opencv.zip https://github.com/opencv/opencv/archive/${OPENCV_VERSIO
|
||||
-D BUILD_opencv_python=NO \
|
||||
-D BUILD_opencv_python2=NO \
|
||||
-D BUILD_opencv_python3=NO \
|
||||
-D WITH_TBB=ON \
|
||||
-D WITH_CUDA=ON \
|
||||
-D ENABLE_FAST_MATH=1 \
|
||||
-D CUDA_FAST_MATH=1 \
|
||||
@@ -54,7 +55,7 @@ RUN curl -Lo opencv.zip https://github.com/opencv/opencv/archive/${OPENCV_VERSIO
|
||||
# install golang here
|
||||
FROM opencv-gpu-cuda-11-base AS opencv-gpu-cuda-11-golang
|
||||
|
||||
ENV GO_RELEASE=1.16.5
|
||||
ENV GO_RELEASE=1.18.3
|
||||
RUN wget https://dl.google.com/go/go${GO_RELEASE}.linux-amd64.tar.gz && \
|
||||
tar xfv go${GO_RELEASE}.linux-amd64.tar.gz -C /usr/local && \
|
||||
rm go${GO_RELEASE}.linux-amd64.tar.gz
|
||||
|
||||
2
vendor/gocv.io/x/gocv/LICENSE.txt
generated
vendored
2
vendor/gocv.io/x/gocv/LICENSE.txt
generated
vendored
@@ -1,4 +1,4 @@
|
||||
Copyright (c) 2017-2021 The Hybrid Group
|
||||
Copyright (c) 2017-2022 The Hybrid Group and friends
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
||||
23
vendor/gocv.io/x/gocv/Makefile
generated
vendored
23
vendor/gocv.io/x/gocv/Makefile
generated
vendored
@@ -2,10 +2,10 @@
|
||||
.PHONY: test deps download build clean astyle cmds docker
|
||||
|
||||
# GoCV version to use.
|
||||
GOCV_VERSION?="v0.26.0"
|
||||
GOCV_VERSION?="v0.31.0"
|
||||
|
||||
# OpenCV version to use.
|
||||
OPENCV_VERSION?=4.5.3
|
||||
OPENCV_VERSION?=4.6.0
|
||||
|
||||
# Go version to use when building Docker image
|
||||
GOVERSION?=1.16.2
|
||||
@@ -98,7 +98,7 @@ build:
|
||||
mkdir build
|
||||
cd build
|
||||
rm -rf *
|
||||
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -DOPENCV_GENERATE_PKGCONFIG=ON ..
|
||||
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -D WITH_TBB=ON -DOPENCV_GENERATE_PKGCONFIG=ON ..
|
||||
$(MAKE) -j $(shell nproc --all)
|
||||
$(MAKE) preinstall
|
||||
cd -
|
||||
@@ -170,7 +170,7 @@ build_nonfree:
|
||||
mkdir build
|
||||
cd build
|
||||
rm -rf *
|
||||
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -DOPENCV_GENERATE_PKGCONFIG=ON -DOPENCV_ENABLE_NONFREE=ON ..
|
||||
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -D WITH_TBB=ON -DOPENCV_GENERATE_PKGCONFIG=ON -DOPENCV_ENABLE_NONFREE=ON ..
|
||||
$(MAKE) -j $(shell nproc --all)
|
||||
$(MAKE) preinstall
|
||||
cd -
|
||||
@@ -181,7 +181,7 @@ build_openvino:
|
||||
mkdir build
|
||||
cd build
|
||||
rm -rf *
|
||||
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D ENABLE_CXX11=ON -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D WITH_INF_ENGINE=ON -D InferenceEngine_DIR=/usr/local/dldt/inference-engine/build -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -DOPENCV_GENERATE_PKGCONFIG=ON -DOPENCV_ENABLE_NONFREE=ON ..
|
||||
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D ENABLE_CXX11=ON -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D WITH_INF_ENGINE=ON -D InferenceEngine_DIR=/usr/local/dldt/inference-engine/build -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -D WITH_TBB=ON -DOPENCV_GENERATE_PKGCONFIG=ON -DOPENCV_ENABLE_NONFREE=ON ..
|
||||
$(MAKE) -j $(shell nproc --all)
|
||||
$(MAKE) preinstall
|
||||
cd -
|
||||
@@ -192,7 +192,7 @@ build_cuda:
|
||||
mkdir build
|
||||
cd build
|
||||
rm -rf *
|
||||
cmake -j $(shell nproc --all) -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_CUDA=ON -DENABLE_FAST_MATH=1 -DCUDA_FAST_MATH=1 -DWITH_CUBLAS=1 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/ -DBUILD_opencv_cudacodec=OFF -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D CUDA_GENERATION=Auto ..
|
||||
cmake -j $(shell nproc --all) -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -D WITH_TBB=ON -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_CUDA=ON -DENABLE_FAST_MATH=1 -DCUDA_FAST_MATH=1 -DWITH_CUBLAS=1 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/ -DBUILD_opencv_cudacodec=OFF -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D CUDA_GENERATION=Auto ..
|
||||
$(MAKE) -j $(shell nproc --all)
|
||||
$(MAKE) preinstall
|
||||
cd -
|
||||
@@ -214,7 +214,7 @@ build_all:
|
||||
mkdir build
|
||||
cd build
|
||||
rm -rf *
|
||||
cmake -j $(shell nproc --all) -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D ENABLE_CXX11=ON -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D WITH_INF_ENGINE=ON -D InferenceEngine_DIR=/usr/local/dldt/inference-engine/build -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_CUDA=ON -DENABLE_FAST_MATH=1 -DCUDA_FAST_MATH=1 -DWITH_CUBLAS=1 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/ -DBUILD_opencv_cudacodec=OFF -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D CUDA_GENERATION=Auto ..
|
||||
cmake -j $(shell nproc --all) -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D ENABLE_CXX11=ON -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D WITH_INF_ENGINE=ON -D InferenceEngine_DIR=/usr/local/dldt/inference-engine/build -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -D WITH_TBB=ON -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_CUDA=ON -DENABLE_FAST_MATH=1 -DCUDA_FAST_MATH=1 -DWITH_CUBLAS=1 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/ -DBUILD_opencv_cudacodec=OFF -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D CUDA_GENERATION=Auto ..
|
||||
$(MAKE) -j $(shell nproc --all)
|
||||
$(MAKE) preinstall
|
||||
cd -
|
||||
@@ -250,7 +250,10 @@ install_cuda: deps download sudo_pre_install_clean build_cuda sudo_install clean
|
||||
install_openvino: deps download download_openvino sudo_pre_install_clean build_openvino_package sudo_install_openvino build_openvino sudo_install clean verify_openvino
|
||||
|
||||
# Do everything statically.
|
||||
install_static: deps download sudo_pre_install_clean build_static sudo_install clean verify
|
||||
install_static: deps download sudo_pre_install_clean build_static sudo_install clean verify_static
|
||||
|
||||
# Do everything with non-free modules from cpencv_contrib.
|
||||
install_nonfree: deps download sudo_pre_install_clean build_nonfree sudo_install clean verify
|
||||
|
||||
# Do everything with openvino and cuda.
|
||||
install_all: deps download download_openvino sudo_pre_install_clean build_openvino_package sudo_install_openvino build_all sudo_install clean verify_openvino verify_cuda
|
||||
@@ -273,6 +276,10 @@ sudo_install_openvino:
|
||||
verify:
|
||||
go run ./cmd/version/main.go
|
||||
|
||||
# Build a minimal Go app to confirm gocv works with statically built OpenCV.
|
||||
verify_static:
|
||||
go run -tags static ./cmd/version/main.go
|
||||
|
||||
# Build a minimal Go app to confirm gocv cuda works.
|
||||
verify_cuda:
|
||||
go run ./cmd/cuda/main.go
|
||||
|
||||
68
vendor/gocv.io/x/gocv/README.md
generated
vendored
68
vendor/gocv.io/x/gocv/README.md
generated
vendored
@@ -3,14 +3,14 @@
|
||||
[](http://gocv.io/)
|
||||
|
||||
[](https://pkg.go.dev/gocv.io/x/gocv)
|
||||
[](https://circleci.com/gh/hybridgroup/gocv/tree/dev)
|
||||
[](https://ci.appveyor.com/project/deadprogram/gocv/branch/dev)
|
||||
[](https://github.com/hybridgroup/gocv/actions/workflows/linux.yml)
|
||||
[](https://ci.appveyor.com/project/deadprogram/gocv/branch/dev)
|
||||
[](https://goreportcard.com/report/github.com/hybridgroup/gocv)
|
||||
[](https://github.com/hybridgroup/gocv/blob/release/LICENSE.txt)
|
||||
|
||||
The GoCV package provides Go language bindings for the [OpenCV 4](http://opencv.org/) computer vision library.
|
||||
|
||||
The GoCV package supports the latest releases of Go and OpenCV (v4.5.3) on Linux, macOS, and Windows. We intend to make the Go language a "first-class" client compatible with the latest developments in the OpenCV ecosystem.
|
||||
The GoCV package supports the latest releases of Go and OpenCV (v4.6.0) on Linux, macOS, and Windows. We intend to make the Go language a "first-class" client compatible with the latest developments in the OpenCV ecosystem.
|
||||
|
||||
GoCV supports [CUDA](https://en.wikipedia.org/wiki/CUDA) for hardware acceleration using Nvidia GPUs. Check out the [CUDA README](./cuda/README.md) for more info on how to use GoCV with OpenCV/CUDA.
|
||||
|
||||
@@ -122,7 +122,7 @@ There are examples in the [cmd directory](./cmd) of this repo in the form of var
|
||||
|
||||
## How to install
|
||||
|
||||
To install GoCV, you must first have the matching version of OpenCV installed on your system. The current release of GoCV requires OpenCV 4.5.3.
|
||||
To install GoCV, you must first have the matching version of OpenCV installed on your system. The current release of GoCV requires OpenCV 4.6.0.
|
||||
|
||||
Here are instructions for Ubuntu, Raspian, macOS, and Windows.
|
||||
|
||||
@@ -130,7 +130,7 @@ Here are instructions for Ubuntu, Raspian, macOS, and Windows.
|
||||
|
||||
### Installation
|
||||
|
||||
You can use `make` to install OpenCV 4.5.3 with the handy `Makefile` included with this repo. If you already have installed OpenCV, you do not need to do so again. The installation performed by the `Makefile` is minimal, so it may remove OpenCV options such as Python or Java wrappers if you have already installed OpenCV some other way.
|
||||
You can use `make` to install OpenCV 4.6.0 with the handy `Makefile` included with this repo. If you already have installed OpenCV, you do not need to do so again. The installation performed by the `Makefile` is minimal, so it may remove OpenCV options such as Python or Java wrappers if you have already installed OpenCV some other way.
|
||||
|
||||
#### Quick Install
|
||||
|
||||
@@ -141,7 +141,7 @@ First, change directories to where you want to install GoCV, and then use git to
|
||||
|
||||
Make sure to change `$HOME/folder/with/your/src/` to where you actually want to save the code.
|
||||
|
||||
Once you have cloned the repo, the following commands should do everything to download and install OpenCV 4.5.3 on Linux:
|
||||
Once you have cloned the repo, the following commands should do everything to download and install OpenCV 4.6.0 on Linux:
|
||||
|
||||
cd gocv
|
||||
make install
|
||||
@@ -152,8 +152,8 @@ If you need static opencv libraries
|
||||
|
||||
If it works correctly, at the end of the entire process, the following message should be displayed:
|
||||
|
||||
gocv version: 0.28.0
|
||||
opencv lib version: 4.5.3
|
||||
gocv version: 0.31.0
|
||||
opencv lib version: 4.6.0
|
||||
|
||||
That's it, now you are ready to use GoCV.
|
||||
|
||||
@@ -167,7 +167,7 @@ See the [openvino directory](./openvino) for information.
|
||||
|
||||
#### Make Install for OpenVINO and Cuda
|
||||
|
||||
The following commands should do everything to download and install OpenCV 4.5.3 with CUDA and OpenVINO on Linux. Make sure to change `$HOME/folder/with/your/src/` to the directory you used to clone GoCV:
|
||||
The following commands should do everything to download and install OpenCV 4.6.0 with CUDA and OpenVINO on Linux. Make sure to change `$HOME/folder/with/your/src/` to the directory you used to clone GoCV:
|
||||
|
||||
cd $HOME/folder/with/gocv/
|
||||
make install_all
|
||||
@@ -178,8 +178,8 @@ If you need static opencv libraries
|
||||
|
||||
If it works correctly, at the end of the entire process, the following message should be displayed:
|
||||
|
||||
gocv version: 0.28.0
|
||||
opencv lib version: 4.5.3-openvino
|
||||
gocv version: 0.31.0
|
||||
opencv lib version: 4.6.0-openvino
|
||||
cuda information:
|
||||
Device 0: "GeForce MX150" 2003Mb, sm_61, Driver/Runtime ver.10.0/10.0
|
||||
|
||||
@@ -206,7 +206,7 @@ Next, you need to update the system, and install any required packages:
|
||||
|
||||
#### Download source
|
||||
|
||||
Now, download the OpenCV 4.5.3 and OpenCV Contrib source code:
|
||||
Now, download the OpenCV 4.6.0 and OpenCV Contrib source code:
|
||||
|
||||
make download
|
||||
|
||||
@@ -240,8 +240,8 @@ Now you should be able to build or run any of the examples:
|
||||
|
||||
The version program should output the following:
|
||||
|
||||
gocv version: 0.28.0
|
||||
opencv lib version: 4.5.3
|
||||
gocv version: 0.31.0
|
||||
opencv lib version: 4.6.0
|
||||
|
||||
#### Cleanup extra files
|
||||
|
||||
@@ -320,7 +320,7 @@ There is a Docker image with Alpine 3.7 that has been created by project contrib
|
||||
|
||||
### Installation
|
||||
|
||||
We have a special installation for the Raspberry Pi that includes some hardware optimizations. You use `make` to install OpenCV 4.5.3 with the handy `Makefile` included with this repo. If you already have installed OpenCV, you do not need to do so again. The installation performed by the `Makefile` is minimal, so it may remove OpenCV options such as Python or Java wrappers if you have already installed OpenCV some other way.
|
||||
We have a special installation for the Raspberry Pi that includes some hardware optimizations. You use `make` to install OpenCV 4.6.0 with the handy `Makefile` included with this repo. If you already have installed OpenCV, you do not need to do so again. The installation performed by the `Makefile` is minimal, so it may remove OpenCV options such as Python or Java wrappers if you have already installed OpenCV some other way.
|
||||
|
||||
#### Quick Install
|
||||
|
||||
@@ -331,15 +331,15 @@ First, change directories to where you want to install GoCV, and then use git to
|
||||
|
||||
Make sure to change `$HOME/folder/with/your/src/` to where you actually want to save the code.
|
||||
|
||||
The following make command should do everything to download and install OpenCV 4.5.3 on Raspbian:
|
||||
The following make command should do everything to download and install OpenCV 4.6.0 on Raspbian:
|
||||
|
||||
cd $HOME/folder/with/your/src/gocv
|
||||
make install_raspi
|
||||
|
||||
If it works correctly, at the end of the entire process, the following message should be displayed:
|
||||
|
||||
gocv version: 0.28.0
|
||||
opencv lib version: 4.5.3
|
||||
gocv version: 0.31.0
|
||||
opencv lib version: 4.6.0
|
||||
|
||||
That's it, now you are ready to use GoCV.
|
||||
|
||||
@@ -347,13 +347,13 @@ That's it, now you are ready to use GoCV.
|
||||
|
||||
### Installation
|
||||
|
||||
You can install OpenCV 4.5.3 using Homebrew.
|
||||
You can install OpenCV 4.6.0 using Homebrew.
|
||||
|
||||
If you already have an earlier version of OpenCV (3.4.x) installed, you should probably remove it before installing the new version:
|
||||
|
||||
brew uninstall opencv
|
||||
|
||||
You can then install OpenCV 4.5.3:
|
||||
You can then install OpenCV 4.6.0:
|
||||
|
||||
brew install opencv
|
||||
|
||||
@@ -377,8 +377,8 @@ Now you should be able to build or run any of the examples:
|
||||
|
||||
The version program should output the following:
|
||||
|
||||
gocv version: 0.28.0
|
||||
opencv lib version: 4.5.3
|
||||
gocv version: 0.31.0
|
||||
opencv lib version: 4.6.0
|
||||
|
||||
### Custom Environment
|
||||
|
||||
@@ -387,8 +387,8 @@ By default, pkg-config is used to determine the correct flags for compiling and
|
||||
For example:
|
||||
|
||||
export CGO_CXXFLAGS="--std=c++11"
|
||||
export CGO_CPPFLAGS="-I/usr/local/Cellar/opencv/4.5.3/include"
|
||||
export CGO_LDFLAGS="-L/usr/local/Cellar/opencv/4.5.3/lib -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_photo -lopencv_fuzzy -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_optflow -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_dnn -lopencv_plot -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ml -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_flann -lopencv_xobjdetect -lopencv_imgcodecs -lopencv_objdetect -lopencv_xphoto -lopencv_imgproc -lopencv_core"
|
||||
export CGO_CPPFLAGS="-I/usr/local/Cellar/opencv/4.6.0/include"
|
||||
export CGO_LDFLAGS="-L/usr/local/Cellar/opencv/4.6.0/lib -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_photo -lopencv_fuzzy -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_optflow -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_dnn -lopencv_plot -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ml -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_flann -lopencv_xobjdetect -lopencv_imgcodecs -lopencv_objdetect -lopencv_xphoto -lopencv_imgproc -lopencv_core"
|
||||
|
||||
Please note that you will need to run these 3 lines of code one time in your current session in order to build or run the code, in order to setup the needed ENV variables. Once you have done so, you can execute code that uses GoCV with your custom environment like this:
|
||||
|
||||
@@ -400,25 +400,25 @@ Please note that you will need to run these 3 lines of code one time in your cur
|
||||
|
||||
The following assumes that you are running a 64-bit version of Windows 10.
|
||||
|
||||
In order to build and install OpenCV 4.5.3 on Windows, you must first download and install MinGW-W64 and CMake, as follows.
|
||||
In order to build and install OpenCV 4.6.0 on Windows, you must first download and install MinGW-W64 and CMake, as follows.
|
||||
|
||||
#### MinGW-W64
|
||||
|
||||
Download and run the MinGW-W64 compiler installer from [https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/7.3.0/](https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/7.3.0/).
|
||||
Download and run the MinGW-W64 compiler installer from [https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/8.1.0/](https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/8.1.0/).
|
||||
|
||||
The latest version of the MinGW-W64 toolchain is `7.3.0`, but any version from `7.X` on should work.
|
||||
The latest version of the MinGW-W64 toolchain is `8.1.0`, but any version from `8.X` on should work.
|
||||
|
||||
Choose the options for "posix" threads, and for "seh" exceptions handling, then install to the default location `c:\Program Files\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev2`.
|
||||
Choose the options for "posix" threads, and for "seh" exceptions handling, then install to the default location `c:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0`.
|
||||
|
||||
Add the `C:\Program Files\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev2\mingw64\bin` path to your System Path.
|
||||
Add the `C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin` path to your System Path.
|
||||
|
||||
#### CMake
|
||||
|
||||
Download and install CMake [https://cmake.org/download/](https://cmake.org/download/) to the default location. CMake installer will add CMake to your system path.
|
||||
|
||||
#### OpenCV 4.5.3 and OpenCV Contrib Modules
|
||||
#### OpenCV 4.6.0 and OpenCV Contrib Modules
|
||||
|
||||
The following commands should do everything to download and install OpenCV 4.5.3 on Windows:
|
||||
The following commands should do everything to download and install OpenCV 4.6.0 on Windows:
|
||||
|
||||
chdir %GOPATH%\src\gocv.io\x\gocv
|
||||
win_build_opencv.cmd
|
||||
@@ -439,8 +439,8 @@ Now you should be able to build or run any of the command examples:
|
||||
|
||||
The version program should output the following:
|
||||
|
||||
gocv version: 0.28.0
|
||||
opencv lib version: 4.5.3
|
||||
gocv version: 0.31.0
|
||||
opencv lib version: 4.6.0
|
||||
|
||||
That's it, now you are ready to use GoCV.
|
||||
|
||||
@@ -454,7 +454,7 @@ For example:
|
||||
|
||||
set CGO_CXXFLAGS="--std=c++11"
|
||||
set CGO_CPPFLAGS=-IC:\opencv\build\install\include
|
||||
set CGO_LDFLAGS=-LC:\opencv\build\install\x64\mingw\lib -lopencv_core453 -lopencv_face453 -lopencv_videoio453 -lopencv_imgproc453 -lopencv_highgui453 -lopencv_imgcodecs453 -lopencv_objdetect453 -lopencv_features2d453 -lopencv_video453 -lopencv_dnn453 -lopencv_xfeatures2d453 -lopencv_plot453 -lopencv_tracking453 -lopencv_img_hash453
|
||||
set CGO_LDFLAGS=-LC:\opencv\build\install\x64\mingw\lib -lopencv_core460 -lopencv_face460 -lopencv_videoio460 -lopencv_imgproc460 -lopencv_highgui460 -lopencv_imgcodecs460 -lopencv_objdetect460 -lopencv_features2d460 -lopencv_video460 -lopencv_dnn460 -lopencv_xfeatures2d460 -lopencv_plot460 -lopencv_tracking460 -lopencv_img_hash460
|
||||
|
||||
Please note that you will need to run these 3 lines of code one time in your current session in order to build or run the code, in order to setup the needed ENV variables. Once you have done so, you can execute code that uses GoCV with your custom environment like this:
|
||||
|
||||
|
||||
72
vendor/gocv.io/x/gocv/ROADMAP.md
generated
vendored
72
vendor/gocv.io/x/gocv/ROADMAP.md
generated
vendored
@@ -114,7 +114,7 @@ Your pull requests will be greatly appreciated!
|
||||
|
||||
- [ ] **calib3d. Camera Calibration and 3D Reconstruction - WORK STARTED**. The following functions still need implementation:
|
||||
- [ ] **Camera Calibration - WORK STARTED** The following functions still need implementation:
|
||||
- [ ] [calibrateCamera](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [X] [calibrateCamera](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [calibrateCameraRO](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [calibrateHandEye](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [calibrationMatrixValues](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
@@ -130,13 +130,13 @@ Your pull requests will be greatly appreciated!
|
||||
- [ ] [decomposeProjectionMatrix](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [drawChessboardCorners](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [drawFrameAxes](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [estimateAffine2D](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [X] [estimateAffine2D](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [estimateAffine3D](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [filterHomographyDecompByVisibleRefpoints](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [filterSpeckles](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [find4QuadCornerSubpix](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [findChessboardCorners](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [findChessboardCornersSB](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [X] [findChessboardCorners](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [X] [findChessboardCornersSB](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [findCirclesGrid](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [findEssentialMat](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
- [ ] [findFundamentalMat](https://docs.opencv.org/master/d9/d0c/group__calib3d.html)
|
||||
@@ -188,9 +188,9 @@ Your pull requests will be greatly appreciated!
|
||||
- [ ] **photo. Computational Photography - WORK STARTED** The following functions still need implementation:
|
||||
- [ ] [inpaint](https://docs.opencv.org/master/d7/d8b/group__photo__inpaint.html#gaedd30dfa0214fec4c88138b51d678085)
|
||||
- [ ] [denoise_TVL1](https://docs.opencv.org/master/d1/d79/group__photo__denoise.html#ga7602ed5ae17b7de40152b922227c4e4f)
|
||||
- [ ] [fastNlMeansDenoising](https://docs.opencv.org/master/d1/d79/group__photo__denoise.html#ga4c6b0031f56ea3f98f768881279ffe93)
|
||||
- [ ] [fastNlMeansDenoisingColored](https://docs.opencv.org/master/d1/d79/group__photo__denoise.html#ga03aa4189fc3e31dafd638d90de335617)
|
||||
- [ ] [fastNlMeansDenoisingMulti](https://docs.opencv.org/master/d1/d79/group__photo__denoise.html#gaf4421bf068c4d632ea7f0aa38e0bf172)
|
||||
- [X] [fastNlMeansDenoising](https://docs.opencv.org/master/d1/d79/group__photo__denoise.html#ga4c6b0031f56ea3f98f768881279ffe93)
|
||||
- [X] [fastNlMeansDenoisingColored](https://docs.opencv.org/master/d1/d79/group__photo__denoise.html#ga03aa4189fc3e31dafd638d90de335617)
|
||||
- [X] [fastNlMeansDenoisingMulti](https://docs.opencv.org/master/d1/d79/group__photo__denoise.html#gaf4421bf068c4d632ea7f0aa38e0bf172)
|
||||
- [ ] [createCalibrateDebevec](https://docs.opencv.org/master/d6/df5/group__photo__hdr.html#ga7fed9707ad5f2cc0e633888867109f90)
|
||||
- [ ] [createCalibrateRobertson](https://docs.opencv.org/master/d6/df5/group__photo__hdr.html#gae77813a21cd351a596619e5ff013be5d)
|
||||
- [ ] [createMergeDebevec](https://docs.opencv.org/master/d6/df5/group__photo__hdr.html#gaa8eab36bc764abb2a225db7c945f87f9)
|
||||
@@ -200,10 +200,10 @@ Your pull requests will be greatly appreciated!
|
||||
- [ ] [createTonemapMantiuk](https://docs.opencv.org/master/d6/df5/group__photo__hdr.html#ga3b3f3bf083b7515802f039a6a70f2d21)
|
||||
- [ ] [createTonemapReinhard](https://docs.opencv.org/master/d6/df5/group__photo__hdr.html#gadabe7f6bf1fa96ad0fd644df9182c2fb)
|
||||
- [ ] [decolor](https://docs.opencv.org/master/d4/d32/group__photo__decolor.html#ga4864d4c007bda5dacdc5e9d4ed7e222c)
|
||||
- [ ] [detailEnhance](https://docs.opencv.org/master/df/dac/group__photo__render.html#ga0de660cb6f371a464a74c7b651415975)
|
||||
- [ ] [edgePreservingFilter](https://docs.opencv.org/master/df/dac/group__photo__render.html#gafaee2977597029bc8e35da6e67bd31f7)
|
||||
- [ ] [pencilSketch](https://docs.opencv.org/master/df/dac/group__photo__render.html#gae5930dd822c713b36f8529b21ddebd0c)
|
||||
- [ ] [stylization](https://docs.opencv.org/master/df/dac/group__photo__render.html#gacb0f7324017df153d7b5d095aed53206)
|
||||
- [X] [detailEnhance](https://docs.opencv.org/master/df/dac/group__photo__render.html#ga0de660cb6f371a464a74c7b651415975)
|
||||
- [X] [edgePreservingFilter](https://docs.opencv.org/master/df/dac/group__photo__render.html#gafaee2977597029bc8e35da6e67bd31f7)
|
||||
- [X] [pencilSketch](https://docs.opencv.org/master/df/dac/group__photo__render.html#gae5930dd822c713b36f8529b21ddebd0c)
|
||||
- [X] [stylization](https://docs.opencv.org/master/df/dac/group__photo__render.html#gacb0f7324017df153d7b5d095aed53206)
|
||||
|
||||
- [ ] stitching. Images stitching
|
||||
|
||||
@@ -212,9 +212,9 @@ Your pull requests will be greatly appreciated!
|
||||
- [ ] **core. - WORK STARTED** The following functions still need implementation:
|
||||
- [ ] [cv::cuda::convertFp16](https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#gaa1c52258763197958eb9e6681917f723)
|
||||
- [ ] [cv::cuda::deviceSupports](https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#ga170b10cc9af4aa8cce8c0afdb4b1d08c)
|
||||
- [ ] [cv::cuda::getDevice](https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#ga6ded4ed8e4fc483a9863d31f34ec9c0e)
|
||||
- [ ] [cv::cuda::resetDevice](https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#ga6153b6f461101374e655a54fc77e725e)
|
||||
- [ ] [cv::cuda::setDevice](https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#gaefa34186b185de47851836dba537828b)
|
||||
- [X] [cv::cuda::getDevice](https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#ga6ded4ed8e4fc483a9863d31f34ec9c0e)
|
||||
- [X] [cv::cuda::resetDevice](https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#ga6153b6f461101374e655a54fc77e725e)
|
||||
- [X] [cv::cuda::setDevice](https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#gaefa34186b185de47851836dba537828b)
|
||||
|
||||
- [ ] **cudaarithm. Operations on Matrices - WORK STARTED** The following functions still need implementation:
|
||||
- [ ] **core** The following functions still need implementation:
|
||||
@@ -224,32 +224,33 @@ Your pull requests will be greatly appreciated!
|
||||
- [ ] [cv::cuda::split](https://docs.opencv.org/master/de/d09/group__cudaarithm__core.html#gabe5013d55d4ff586b20393913726179e)
|
||||
- [ ] [cv::cuda::transpose](https://docs.opencv.org/master/de/d09/group__cudaarithm__core.html#ga327b71c3cb811a904ccf5fba37fc29f2)
|
||||
|
||||
- [X] **per-element operations - WORK STARTED** The following functions still need implementation:
|
||||
- [ ] [cv::cuda::absdiff](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac062b283cf46ee90f74a773d3382ab54)
|
||||
- [ ] [cv::cuda::add](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga5d9794bde97ed23d1c1485249074a8b1)
|
||||
- [ ] **per-element operations - WORK STARTED** The following functions still need implementation:
|
||||
- [X] [cv::cuda::absdiff](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac062b283cf46ee90f74a773d3382ab54)
|
||||
- [X] [cv::cuda::add](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga5d9794bde97ed23d1c1485249074a8b1)
|
||||
- [ ] [cv::cuda::addWeighted](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga2cd14a684ea70c6ab2a63ee90ffe6201)
|
||||
- [ ] [cv::cuda::bitwise_and](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga78d7c1a013877abd4237fbfc4e13bd76)
|
||||
- [ ] [cv::cuda::bitwise_not](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gae58159a2259ae1acc76b531c171cf06a)
|
||||
- [ ] [cv::cuda::bitwise_or](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gafd098ee3e51c68daa793999c1da3dfb7)
|
||||
- [ ] [cv::cuda::bitwise_xor](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga3d95d4faafb099aacf18e8b915a4ad8d)
|
||||
- [X] [cv::cuda::bitwise_and](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga78d7c1a013877abd4237fbfc4e13bd76)
|
||||
- [X] [cv::cuda::bitwise_not](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gae58159a2259ae1acc76b531c171cf06a)
|
||||
- [X] [cv::cuda::bitwise_or](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gafd098ee3e51c68daa793999c1da3dfb7)
|
||||
- [X] [cv::cuda::bitwise_xor](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga3d95d4faafb099aacf18e8b915a4ad8d)
|
||||
- [ ] [cv::cuda::cartToPolar](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga82210c7d1c1d42e616e554bf75a53480)
|
||||
- [ ] [cv::cuda::compare](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga4d41cd679f4a83862a3de71a6057db54)
|
||||
- [ ] [cv::cuda::divide](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga124315aa226260841e25cc0b9ea99dc3)
|
||||
- [ ] [cv::cuda::exp](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac6e51541d3bb0a7a396128e4d5919b61)
|
||||
- [ ] [cv::cuda::log](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gaae9c60739e2d1a977b4d3250a0be42ca)
|
||||
- [X] [cv::cuda::divide](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga124315aa226260841e25cc0b9ea99dc3)
|
||||
- [X] [cv::cuda::exp](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac6e51541d3bb0a7a396128e4d5919b61)
|
||||
- [ ] [cv::cuda::inRange](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gaf611ab6b1d85e951feb6f485b1ed9672)
|
||||
- [X] [cv::cuda::log](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gaae9c60739e2d1a977b4d3250a0be42ca)
|
||||
- [ ] [cv::cuda::lshift](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gafd072accecb14c9adccdad45e3bf2300)
|
||||
- [ ] [cv::cuda::magnitude](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga3d17f4fcd79d7c01fadd217969009463)
|
||||
- [ ] [cv::cuda::magnitudeSqr](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga7613e382d257e150033d0ce4d6098f6a)
|
||||
- [ ] [cv::cuda::max](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gadb5dd3d870f10c0866035755b929b1e7)
|
||||
- [ ] [cv::cuda::min](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga74f0b05a65b3d949c237abb5e6c60867)
|
||||
- [ ] [cv::cuda::multiply](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga497cc0615bf717e1e615143b56f00591)
|
||||
- [X] [cv::cuda::max](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gadb5dd3d870f10c0866035755b929b1e7)
|
||||
- [X] [cv::cuda::min](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga74f0b05a65b3d949c237abb5e6c60867)
|
||||
- [X] [cv::cuda::multiply](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga497cc0615bf717e1e615143b56f00591)
|
||||
- [ ] [cv::cuda::phase](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga5b75ec01be06dcd6e27ada09a0d4656a)
|
||||
- [ ] [cv::cuda::polarToCart](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga01516a286a329c303c2db746513dd9df)
|
||||
- [ ] [cv::cuda::pow](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga82d04ef4bcc4dfa9bfbe76488007c6c4)
|
||||
- [ ] [cv::cuda::rshift](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga87af0b66358cc302676f35c1fd56c2ed)
|
||||
- [ ] [cv::cuda::sqr](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga8aae233da90ce0ffe309ab8004342acb)
|
||||
- [ ] [cv::cuda::sqrt](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga09303680cb1a5521a922b6d392028d8c)
|
||||
- [ ] [cv::cuda::subtract](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga6eab60fc250059e2fda79c5636bd067f)
|
||||
- [X] [cv::cuda::sqr](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga8aae233da90ce0ffe309ab8004342acb)
|
||||
- [X] [cv::cuda::sqrt](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga09303680cb1a5521a922b6d392028d8c)
|
||||
- [X] [cv::cuda::subtract](https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga6eab60fc250059e2fda79c5636bd067f)
|
||||
|
||||
- [ ] **matrix reductions** The following functions still need implementation:
|
||||
- [ ] [cv::cuda::absSum](https://docs.opencv.org/master/d5/de6/group__cudaarithm__reduce.html#ga690fa79ba4426c53f7d2bebf3d37a32a)
|
||||
@@ -352,7 +353,8 @@ Your pull requests will be greatly appreciated!
|
||||
## Contrib modules list
|
||||
|
||||
- [ ] alphamat. Alpha Matting
|
||||
- [ ] aruco. ArUco Marker Detection
|
||||
- [X] **aruco. ArUco Marker Detection - WORK STARTED**
|
||||
- [ ] barcode. Barcode detecting and decoding methods
|
||||
- [X] **bgsegm. Improved Background-Foreground Segmentation Methods - WORK STARTED**
|
||||
- [ ] bioinspired. Biologically inspired vision models and derivated tools
|
||||
- [ ] ccalib. Custom Calibration Pattern for 3D reconstruction
|
||||
@@ -372,11 +374,12 @@ Your pull requests will be greatly appreciated!
|
||||
- [ ] intensity_transform. The module brings implementations of intensity transformation algorithms to adjust image contrast.
|
||||
- [ ] line_descriptor. Binary descriptors for lines extracted from an image
|
||||
- [ ] mcc. Macbeth Chart module
|
||||
- [ ] matlab. MATLAB Bridge
|
||||
- [ ] optflow. Optical Flow Algorithms
|
||||
- [ ] ovis. OGRE 3D Visualiser
|
||||
- [ ] phase_unwrapping. Phase Unwrapping API
|
||||
- [ ] plot. Plot function for Mat data
|
||||
- [ ] quality. Image Quality Analysis (IQA) API
|
||||
- [ ] rapid. silhouette based 3D object tracking
|
||||
- [ ] reg. Image Registration
|
||||
- [ ] rgbd. RGB-Depth Processing
|
||||
- [ ] saliency. Saliency API
|
||||
@@ -390,7 +393,8 @@ Your pull requests will be greatly appreciated!
|
||||
- [ ] **tracking. Tracking API - WORK STARTED**
|
||||
- [ ] videostab. Video Stabilization
|
||||
- [ ] viz. 3D Visualizer
|
||||
- [X] **wechat_qrcode. WeChat QR code detector for detecting and parsing QR code**
|
||||
- [ ] **xfeatures2d. Extra 2D Features Framework - WORK STARTED**
|
||||
- [ ] ximgproc. Extended Image Processing
|
||||
- [ ] **ximgproc. Extended Image Processing - WORK STARTED**
|
||||
- [ ] xobjdetect. Extended object detection
|
||||
- [ ] **xphoto. Additional photo processing algorithms - WORK STARTED**
|
||||
- [X] **xphoto. Additional photo processing algorithms**
|
||||
|
||||
26
vendor/gocv.io/x/gocv/appveyor_build_opencv.cmd
generated
vendored
26
vendor/gocv.io/x/gocv/appveyor_build_opencv.cmd
generated
vendored
@@ -3,23 +3,27 @@ if not exist "C:\opencv" mkdir "C:\opencv"
|
||||
if not exist "C:\opencv\build" mkdir "C:\opencv\build"
|
||||
if not exist "C:\opencv\testdata" mkdir "C:\opencv\testdata"
|
||||
|
||||
appveyor DownloadFile https://github.com/opencv/opencv/archive/4.5.3.zip -FileName c:\opencv\opencv-4.5.3.zip
|
||||
7z x c:\opencv\opencv-4.5.3.zip -oc:\opencv -y
|
||||
del c:\opencv\opencv-4.5.3.zip /q
|
||||
appveyor DownloadFile https://github.com/opencv/opencv_contrib/archive/4.5.3.zip -FileName c:\opencv\opencv_contrib-4.5.3.zip
|
||||
7z x c:\opencv\opencv_contrib-4.5.3.zip -oc:\opencv -y
|
||||
del c:\opencv\opencv_contrib-4.5.3.zip /q
|
||||
appveyor DownloadFile https://github.com/opencv/opencv/archive/4.6.0.zip -FileName c:\opencv\opencv-4.6.0.zip
|
||||
7z x c:\opencv\opencv-4.6.0.zip -oc:\opencv -y
|
||||
del c:\opencv\opencv-4.6.0.zip /q
|
||||
appveyor DownloadFile https://github.com/opencv/opencv_contrib/archive/4.6.0.zip -FileName c:\opencv\opencv_contrib-4.6.0.zip
|
||||
7z x c:\opencv\opencv_contrib-4.6.0.zip -oc:\opencv -y
|
||||
del c:\opencv\opencv_contrib-4.6.0.zip /q
|
||||
cd C:\opencv\build
|
||||
set PATH=C:\Perl\site\bin;C:\Perl\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\7-Zip;C:\Program Files\Microsoft\Web Platform Installer\;C:\Tools\PsTools;C:\Program Files (x86)\CMake\bin;C:\go\bin;C:\Tools\NuGet;C:\Program Files\LLVM\bin;C:\Tools\curl\bin;C:\ProgramData\chocolatey\bin;C:\Program Files (x86)\Yarn\bin;C:\Users\appveyor\AppData\Local\Yarn\bin;C:\Program Files\AppVeyor\BuildAgent\
|
||||
set PATH=%PATH%;C:\mingw-w64\x86_64-7.3.0-posix-seh-rt_v5-rev0\mingw64\bin
|
||||
set PATH=%PATH%;C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
|
||||
dir C:\opencv
|
||||
cmake C:\opencv\opencv-4.5.3 -G "MinGW Makefiles" -BC:\opencv\build -DENABLE_CXX11=ON -DOPENCV_EXTRA_MODULES_PATH=C:\opencv\opencv_contrib-4.5.3\modules -DBUILD_SHARED_LIBS=ON -DWITH_IPP=OFF -DWITH_MSMF=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_opencv_java=OFF -DBUILD_opencv_python=OFF -DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=OFF -DBUILD_DOCS=OFF -DENABLE_PRECOMPILED_HEADERS=OFF -DBUILD_opencv_saliency=OFF -DBUILD_opencv_wechat_qrcode=OFF -DCPU_DISPATCH= -DBUILD_opencv_gapi=OFF -DOPENCV_GENERATE_PKGCONFIG=ON -DOPENCV_ENABLE_NONFREE=ON -DWITH_OPENCL_D3D11_NV=OFF -DOPENCV_ALLOCATOR_STATS_COUNTER_TYPE=int64_t -Wno-dev
|
||||
cmake C:\opencv\opencv-4.6.0 -G "MinGW Makefiles" -BC:\opencv\build -DENABLE_CXX11=ON -DOPENCV_EXTRA_MODULES_PATH=C:\opencv\opencv_contrib-4.6.0\modules -DBUILD_SHARED_LIBS=ON -DWITH_IPP=OFF -DWITH_MSMF=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_opencv_java=OFF -DBUILD_opencv_python=OFF -DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=OFF -DBUILD_DOCS=OFF -DENABLE_PRECOMPILED_HEADERS=OFF -DBUILD_opencv_saliency=OFF -DBUILD_opencv_wechat_qrcode=ON -DCPU_DISPATCH= -DBUILD_opencv_gapi=OFF -DOPENCV_GENERATE_PKGCONFIG=ON -DOPENCV_ENABLE_NONFREE=ON -DWITH_OPENCL_D3D11_NV=OFF -DOPENCV_ALLOCATOR_STATS_COUNTER_TYPE=int64_t -DWITH_TBB=ON -Wno-dev
|
||||
mingw32-make -j%NUMBER_OF_PROCESSORS%
|
||||
mingw32-make install
|
||||
appveyor DownloadFile https://raw.githubusercontent.com/opencv/opencv_extra/master/testdata/dnn/bvlc_googlenet.prototxt -FileName C:\opencv\testdata\bvlc_googlenet.prototxt
|
||||
appveyor DownloadFile https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/wechat_qrcode/detect.caffemodel -FileName C:\opencv\testdata\detect.caffemodel
|
||||
appveyor DownloadFile https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/wechat_qrcode/detect.prototxt -FileName C:\opencv\testdata\detect.prototxt
|
||||
appveyor DownloadFile https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/wechat_qrcode/sr.caffemodel -FileName C:\opencv\testdata\sr.caffemodel
|
||||
appveyor DownloadFile https://raw.githubusercontent.com/WeChatCV/opencv_3rdparty/wechat_qrcode/sr.prototxt -FileName C:\opencv\testdata\sr.prototxt
|
||||
appveyor DownloadFile http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel -FileName C:\opencv\testdata\bvlc_googlenet.caffemodel
|
||||
appveyor DownloadFile https://storage.googleapis.com/download.tensorflow.org/models/inception5h.zip -FileName C:\opencv\testdata\inception5h.zip
|
||||
appveyor DownloadFile https://github.com/onnx/models/raw/master/vision/classification/inception_and_googlenet/googlenet/model/googlenet-9.onnx -FileName C:\opencv\testdata\googlenet-9.onnx
|
||||
appveyor DownloadFile https://github.com/onnx/models/raw/main/vision/classification/inception_and_googlenet/googlenet/model/googlenet-9.onnx -FileName C:\opencv\testdata\googlenet-9.onnx
|
||||
7z x C:\opencv\testdata\inception5h.zip -oC:\opencv\testdata tensorflow_inception_graph.pb -y
|
||||
rmdir c:\opencv\opencv-4.5.3 /s /q
|
||||
rmdir c:\opencv\opencv_contrib-4.5.3 /s /q
|
||||
rmdir c:\opencv\opencv-4.6.0 /s /q
|
||||
rmdir c:\opencv\opencv_contrib-4.6.0 /s /q
|
||||
|
||||
22
vendor/gocv.io/x/gocv/calib3d.cpp
generated
vendored
22
vendor/gocv.io/x/gocv/calib3d.cpp
generated
vendored
@@ -37,6 +37,10 @@ Mat GetOptimalNewCameraMatrixWithParams(Mat cameraMatrix,Mat distCoeffs,Size siz
|
||||
return mat;
|
||||
}
|
||||
|
||||
double CalibrateCamera(Points3fVector objectPoints, Points2fVector imagePoints, Size imageSize, Mat cameraMatrix, Mat distCoeffs, Mat rvecs, Mat tvecs, int flag) {
|
||||
return cv::calibrateCamera(*objectPoints, *imagePoints, cv::Size(imageSize.width, imageSize.height), *cameraMatrix, *distCoeffs, *rvecs, *tvecs, flag);
|
||||
}
|
||||
|
||||
void Undistort(Mat src, Mat dst, Mat cameraMatrix, Mat distCoeffs, Mat newCameraMatrix) {
|
||||
cv::undistort(*src, *dst, *cameraMatrix, *distCoeffs, *newCameraMatrix);
|
||||
}
|
||||
@@ -50,6 +54,16 @@ bool FindChessboardCorners(Mat image, Size patternSize, Mat corners, int flags)
|
||||
return cv::findChessboardCorners(*image, sz, *corners, flags);
|
||||
}
|
||||
|
||||
bool FindChessboardCornersSB(Mat image, Size patternSize, Mat corners, int flags) {
|
||||
cv::Size sz(patternSize.width, patternSize.height);
|
||||
return cv::findChessboardCornersSB(*image, sz, *corners, flags);
|
||||
}
|
||||
|
||||
bool FindChessboardCornersSBWithMeta(Mat image, Size patternSize, Mat corners, int flags, Mat meta) {
|
||||
cv::Size sz(patternSize.width, patternSize.height);
|
||||
return cv::findChessboardCornersSB(*image, sz, *corners, flags, *meta);
|
||||
}
|
||||
|
||||
void DrawChessboardCorners(Mat image, Size patternSize, Mat corners, bool patternWasFound) {
|
||||
cv::Size sz(patternSize.width, patternSize.height);
|
||||
cv::drawChessboardCorners(*image, sz, *corners, patternWasFound);
|
||||
@@ -58,3 +72,11 @@ void DrawChessboardCorners(Mat image, Size patternSize, Mat corners, bool patter
|
||||
Mat EstimateAffinePartial2D(Point2fVector from, Point2fVector to) {
|
||||
return new cv::Mat(cv::estimateAffinePartial2D(*from, *to));
|
||||
}
|
||||
|
||||
Mat EstimateAffine2D(Point2fVector from, Point2fVector to) {
|
||||
return new cv::Mat(cv::estimateAffine2D(*from, *to));
|
||||
}
|
||||
|
||||
Mat EstimateAffine2DWithParams(Point2fVector from, Point2fVector to, Mat inliers, int method, double ransacReprojThreshold, size_t maxIters, double confidence, size_t refineIters) {
|
||||
return new cv::Mat(cv::estimateAffine2D(*from, *to, *inliers, method, ransacReprojThreshold, maxIters, confidence, refineIters));
|
||||
}
|
||||
|
||||
67
vendor/gocv.io/x/gocv/calib3d.go
generated
vendored
67
vendor/gocv.io/x/gocv/calib3d.go
generated
vendored
@@ -5,7 +5,9 @@ package gocv
|
||||
#include "calib3d.h"
|
||||
*/
|
||||
import "C"
|
||||
import "image"
|
||||
import (
|
||||
"image"
|
||||
)
|
||||
|
||||
// Calib is a wrapper around OpenCV's "Camera Calibration and 3D Reconstruction" of
|
||||
// Fisheye Camera model
|
||||
@@ -122,6 +124,22 @@ func GetOptimalNewCameraMatrixWithParams(cameraMatrix Mat, distCoeffs Mat, image
|
||||
return newMat(C.GetOptimalNewCameraMatrixWithParams(cameraMatrix.Ptr(), distCoeffs.Ptr(), sz, C.double(alpha), newSize, &rt, C.bool(centerPrincipalPoint))), toRect(rt)
|
||||
}
|
||||
|
||||
// CalibrateCamera finds the camera intrinsic and extrinsic parameters from several views of a calibration pattern.
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/master/d9/d0c/group__calib3d.html#ga3207604e4b1a1758aa66acb6ed5aa65d
|
||||
//
|
||||
func CalibrateCamera(objectPoints Points3fVector, imagePoints Points2fVector, imageSize image.Point,
|
||||
cameraMatrix *Mat, distCoeffs *Mat, rvecs *Mat, tvecs *Mat, calibFlag CalibFlag) float64 {
|
||||
sz := C.struct_Size{
|
||||
width: C.int(imageSize.X),
|
||||
height: C.int(imageSize.Y),
|
||||
}
|
||||
|
||||
res := C.CalibrateCamera(objectPoints.p, imagePoints.p, sz, cameraMatrix.p, distCoeffs.p, rvecs.p, tvecs.p, C.int(calibFlag))
|
||||
return float64(res)
|
||||
}
|
||||
|
||||
func Undistort(src Mat, dst *Mat, cameraMatrix Mat, distCoeffs Mat, newCameraMatrix Mat) {
|
||||
C.Undistort(src.Ptr(), dst.Ptr(), cameraMatrix.Ptr(), distCoeffs.Ptr(), newCameraMatrix.Ptr())
|
||||
}
|
||||
@@ -149,9 +167,13 @@ const (
|
||||
CalibCBFilterQuads
|
||||
// Run a fast check on the image that looks for chessboard corners, and shortcut the call if none is found. This can drastically speed up the call in the degenerate condition when no chessboard is observed.
|
||||
CalibCBFastCheck
|
||||
// Run an exhaustive search to improve detection rate.
|
||||
CalibCBExhaustive
|
||||
// Up sample input image to improve sub-pixel accuracy due to aliasing effects.
|
||||
CalibCBAccuracy
|
||||
// The detected pattern is allowed to be larger than patternSize (see description).
|
||||
CalibCBLarger
|
||||
// The detected pattern must have a marker (see description). This should be used if an accurate camera calibration is required.
|
||||
CalibCBMarker
|
||||
)
|
||||
|
||||
@@ -168,6 +190,32 @@ func FindChessboardCorners(image Mat, patternSize image.Point, corners *Mat, fla
|
||||
return bool(C.FindChessboardCorners(image.Ptr(), sz, corners.Ptr(), C.int(flags)))
|
||||
}
|
||||
|
||||
// FindChessboardCorners finds the positions of internal corners of the chessboard using a sector based approach.
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/master/d9/d0c/group__calib3d.html#gadc5bcb05cb21cf1e50963df26986d7c9
|
||||
//
|
||||
func FindChessboardCornersSB(image Mat, patternSize image.Point, corners *Mat, flags CalibCBFlag) bool {
|
||||
sz := C.struct_Size{
|
||||
width: C.int(patternSize.X),
|
||||
height: C.int(patternSize.Y),
|
||||
}
|
||||
return bool(C.FindChessboardCornersSB(image.Ptr(), sz, corners.Ptr(), C.int(flags)))
|
||||
}
|
||||
|
||||
// FindChessboardCornersSBWithMeta finds the positions of internal corners of the chessboard using a sector based approach.
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/master/d9/d0c/group__calib3d.html#ga93efa9b0aa890de240ca32b11253dd4a
|
||||
//
|
||||
func FindChessboardCornersSBWithMeta(image Mat, patternSize image.Point, corners *Mat, flags CalibCBFlag, meta *Mat) bool {
|
||||
sz := C.struct_Size{
|
||||
width: C.int(patternSize.X),
|
||||
height: C.int(patternSize.Y),
|
||||
}
|
||||
return bool(C.FindChessboardCornersSBWithMeta(image.Ptr(), sz, corners.Ptr(), C.int(flags), meta.Ptr()))
|
||||
}
|
||||
|
||||
// DrawChessboardCorners renders the detected chessboard corners.
|
||||
//
|
||||
// For further details, please see:
|
||||
@@ -189,3 +237,20 @@ func DrawChessboardCorners(image *Mat, patternSize image.Point, corners Mat, pat
|
||||
func EstimateAffinePartial2D(from, to Point2fVector) Mat {
|
||||
return newMat(C.EstimateAffinePartial2D(from.p, to.p))
|
||||
}
|
||||
|
||||
// EstimateAffine2D Computes an optimal affine transformation between two 2D point sets.
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/4.0.0/d9/d0c/group__calib3d.html#ga27865b1d26bac9ce91efaee83e94d4dd
|
||||
func EstimateAffine2D(from, to Point2fVector) Mat {
|
||||
return newMat(C.EstimateAffine2D(from.p, to.p))
|
||||
}
|
||||
|
||||
// EstimateAffine2DWithParams Computes an optimal affine transformation between two 2D point sets
|
||||
// with additional optional parameters.
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/4.0.0/d9/d0c/group__calib3d.html#ga27865b1d26bac9ce91efaee83e94d4dd
|
||||
func EstimateAffine2DWithParams(from Point2fVector, to Point2fVector, inliers Mat, method int, ransacReprojThreshold float64, maxIters uint, confidence float64, refineIters uint) Mat {
|
||||
return newMat(C.EstimateAffine2DWithParams(from.p, to.p, inliers.p, C.int(method), C.double(ransacReprojThreshold), C.size_t(maxIters), C.double(confidence), C.size_t(refineIters)))
|
||||
}
|
||||
|
||||
7
vendor/gocv.io/x/gocv/calib3d.h
generated
vendored
7
vendor/gocv.io/x/gocv/calib3d.h
generated
vendored
@@ -19,13 +19,18 @@ void Fisheye_EstimateNewCameraMatrixForUndistortRectify(Mat k, Mat d, Size imgSi
|
||||
|
||||
void InitUndistortRectifyMap(Mat cameraMatrix,Mat distCoeffs,Mat r,Mat newCameraMatrix,Size size,int m1type,Mat map1,Mat map2);
|
||||
Mat GetOptimalNewCameraMatrixWithParams(Mat cameraMatrix,Mat distCoeffs,Size size,double alpha,Size newImgSize,Rect* validPixROI,bool centerPrincipalPoint);
|
||||
double CalibrateCamera(Points3fVector objectPoints, Points2fVector imagePoints, Size imageSize, Mat cameraMatrix, Mat distCoeffs, Mat rvecs, Mat tvecs, int flag);
|
||||
void Undistort(Mat src, Mat dst, Mat cameraMatrix, Mat distCoeffs, Mat newCameraMatrix);
|
||||
void UndistortPoints(Mat distorted, Mat undistorted, Mat k, Mat d, Mat r, Mat p);
|
||||
bool FindChessboardCorners(Mat image, Size patternSize, Mat corners, int flags);
|
||||
bool FindChessboardCornersSB(Mat image, Size patternSize, Mat corners, int flags);
|
||||
bool FindChessboardCornersSBWithMeta(Mat image, Size patternSize, Mat corners, int flags, Mat meta);
|
||||
void DrawChessboardCorners(Mat image, Size patternSize, Mat corners, bool patternWasFound);
|
||||
Mat EstimateAffinePartial2D(Point2fVector from, Point2fVector to);
|
||||
Mat EstimateAffine2D(Point2fVector from, Point2fVector to);
|
||||
Mat EstimateAffine2DWithParams(Point2fVector from, Point2fVector to, Mat inliers, int method, double ransacReprojThreshold, size_t maxIters, double confidence, size_t refineIters);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif //_OPENCV3_CALIB_H
|
||||
#endif //_OPENCV3_CALIB_H
|
||||
|
||||
3
vendor/gocv.io/x/gocv/cgo.go
generated
vendored
3
vendor/gocv.io/x/gocv/cgo.go
generated
vendored
@@ -1,3 +1,4 @@
|
||||
//go:build !customenv && !static
|
||||
// +build !customenv,!static
|
||||
|
||||
package gocv
|
||||
@@ -8,6 +9,6 @@ package gocv
|
||||
#cgo !windows pkg-config: opencv4
|
||||
#cgo CXXFLAGS: --std=c++11
|
||||
#cgo windows CPPFLAGS: -IC:/opencv/build/install/include
|
||||
#cgo windows LDFLAGS: -LC:/opencv/build/install/x64/mingw/lib -lopencv_core453 -lopencv_face453 -lopencv_videoio453 -lopencv_imgproc453 -lopencv_highgui453 -lopencv_imgcodecs453 -lopencv_objdetect453 -lopencv_features2d453 -lopencv_video453 -lopencv_dnn453 -lopencv_xfeatures2d453 -lopencv_plot453 -lopencv_tracking453 -lopencv_img_hash453 -lopencv_calib3d453 -lopencv_bgsegm453 -lopencv_photo453
|
||||
#cgo windows LDFLAGS: -LC:/opencv/build/install/x64/mingw/lib -lopencv_core460 -lopencv_face460 -lopencv_videoio460 -lopencv_imgproc460 -lopencv_highgui460 -lopencv_imgcodecs460 -lopencv_objdetect460 -lopencv_features2d460 -lopencv_video460 -lopencv_dnn460 -lopencv_xfeatures2d460 -lopencv_plot460 -lopencv_tracking460 -lopencv_img_hash460 -lopencv_calib3d460 -lopencv_bgsegm460 -lopencv_photo460 -lopencv_aruco460 -lopencv_wechat_qrcode460 -lopencv_ximgproc460
|
||||
*/
|
||||
import "C"
|
||||
|
||||
11
vendor/gocv.io/x/gocv/cgo_static.go
generated
vendored
11
vendor/gocv.io/x/gocv/cgo_static.go
generated
vendored
@@ -1,12 +1,15 @@
|
||||
// +build !customenv,static,!windows
|
||||
//go:build !customenv && static
|
||||
// +build !customenv,static
|
||||
|
||||
package gocv
|
||||
|
||||
// Changes here should be mirrored in contrib/cgo.go and cuda/cgo.go.
|
||||
// Changes here should be mirrored in contrib/cgo_static.go and cuda/cgo_static.go.
|
||||
|
||||
/*
|
||||
#cgo CXXFLAGS: --std=c++11
|
||||
#cgo CPPFLAGS: -I/usr/local/include -I/usr/local/include/opencv4
|
||||
#cgo LDFLAGS: -L/usr/local/lib -L/usr/local/lib/opencv4/3rdparty -lopencv_gapi -lopencv_stitching -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_fuzzy -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_quality -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_highgui -lopencv_dnn -lopencv_plot -lopencv_videostab -lopencv_video -lopencv_videoio -lopencv_xfeatures2d -lopencv_shape -lopencv_ml -lopencv_ximgproc -lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d -lopencv_imgcodecs -lopencv_features2d -lopencv_flann -lopencv_xphoto -lopencv_photo -lopencv_imgproc -lopencv_core -littnotify -llibprotobuf -lIlmImf -lquirc -lippiw -lippicv -lade -lz -ljpeg -ldl -lm -lpthread -lrt -lquadmath
|
||||
#cgo !windows CPPFLAGS: -I/usr/local/include -I/usr/local/include/opencv4
|
||||
#cgo !windows LDFLAGS: -L/usr/local/lib -L/usr/local/lib/opencv4/3rdparty -lopencv_gapi -lopencv_stitching -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_fuzzy -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_quality -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_highgui -lopencv_dnn -lopencv_plot -lopencv_videostab -lopencv_video -lopencv_videoio -lopencv_xfeatures2d -lopencv_shape -lopencv_ml -lopencv_ximgproc -lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d -lopencv_imgcodecs -lopencv_features2d -lopencv_flann -lopencv_xphoto -lopencv_wechat_qrcode -lopencv_photo -lopencv_imgproc -lopencv_core -littnotify -llibprotobuf -lIlmImf -lquirc -lippiw -lippicv -lade -lz -ljpeg -ldl -lm -lpthread -lrt -lquadmath
|
||||
#cgo windows CPPFLAGS: -IC:/opencv/build/install/include
|
||||
#cgo windows LDFLAGS: -LC:/opencv/build/install/x64/mingw/staticlib -lopencv_stereo460 -lopencv_tracking460 -lopencv_superres460 -lopencv_stitching460 -lopencv_optflow460 -lopencv_gapi460 -lopencv_face460 -lopencv_dpm460 -lopencv_dnn_objdetect460 -lopencv_ccalib460 -lopencv_bioinspired460 -lopencv_bgsegm460 -lopencv_aruco460 -lopencv_xobjdetect460 -lopencv_ximgproc460 -lopencv_xfeatures2d460 -lopencv_videostab460 -lopencv_video460 -lopencv_structured_light460 -lopencv_shape460 -lopencv_rgbd460 -lopencv_rapid460 -lopencv_objdetect460 -lopencv_mcc460 -lopencv_highgui460 -lopencv_datasets460 -lopencv_calib3d460 -lopencv_videoio460 -lopencv_text460 -lopencv_line_descriptor460 -lopencv_imgcodecs460 -lopencv_img_hash460 -lopencv_hfs460 -lopencv_fuzzy460 -lopencv_features2d460 -lopencv_dnn_superres460 -lopencv_dnn460 -lopencv_xphoto460 -lopencv_wechat_qrcode460 -lopencv_surface_matching460 -lopencv_reg460 -lopencv_quality460 -lopencv_plot460 -lopencv_photo460 -lopencv_phase_unwrapping460 -lopencv_ml460 -lopencv_intensity_transform460 -lopencv_imgproc460 -lopencv_flann460 -lopencv_core460 -lade -lquirc -llibprotobuf -lIlmImf -llibpng -llibopenjp2 -llibwebp -llibtiff -llibjpeg-turbo -lzlib -lkernel32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 -luser32
|
||||
*/
|
||||
import "C"
|
||||
|
||||
131
vendor/gocv.io/x/gocv/core.cpp
generated
vendored
131
vendor/gocv.io/x/gocv/core.cpp
generated
vendored
@@ -59,18 +59,21 @@ Mat Mat_NewWithSizesFromBytes(IntVector sizes, int type, struct ByteArray buf) {
|
||||
}
|
||||
|
||||
Mat Eye(int rows, int cols, int type) {
|
||||
cv::Mat temp = cv::Mat::eye(rows, cols, type);
|
||||
return new cv::Mat(rows, cols, type, temp.data);
|
||||
cv::Mat* mat = new cv::Mat(rows, cols, type);
|
||||
*mat = cv::Mat::eye(rows, cols, type);
|
||||
return mat;
|
||||
}
|
||||
|
||||
Mat Zeros(int rows, int cols, int type) {
|
||||
cv::Mat temp = cv::Mat::zeros(rows, cols, type);
|
||||
return new cv::Mat(rows, cols, type, temp.data);
|
||||
cv::Mat* mat = new cv::Mat(rows, cols, type);
|
||||
*mat = cv::Mat::zeros(rows, cols, type);
|
||||
return mat;
|
||||
}
|
||||
|
||||
Mat Ones(int rows, int cols, int type) {
|
||||
cv::Mat temp = cv::Mat::ones(rows, cols, type);
|
||||
return new cv::Mat(rows, cols, type, temp.data);
|
||||
cv::Mat* mat = new cv::Mat(rows, cols, type);
|
||||
*mat = cv::Mat::ones(rows, cols, type);
|
||||
return mat;
|
||||
}
|
||||
|
||||
Mat Mat_FromPtr(Mat m, int rows, int cols, int type, int prow, int pcol) {
|
||||
@@ -207,6 +210,10 @@ int Mat_Total(Mat m) {
|
||||
return m->total();
|
||||
}
|
||||
|
||||
int Mat_ElemSize(Mat m){
|
||||
return m->elemSize();
|
||||
}
|
||||
|
||||
void Mat_Size(Mat m, IntVector* res) {
|
||||
cv::MatSize ms(m->size);
|
||||
int* ids = new int[ms.dims()];
|
||||
@@ -961,6 +968,7 @@ void Point2fVector_Close(Point2fVector pv) {
|
||||
delete pv;
|
||||
}
|
||||
|
||||
|
||||
void IntVector_Close(struct IntVector ivec) {
|
||||
delete[] ivec.val;
|
||||
}
|
||||
@@ -1026,3 +1034,114 @@ size_t StdByteVectorLen(void *data) {
|
||||
uint8_t* StdByteVectorData(void *data) {
|
||||
return reinterpret_cast<std::vector<uchar> *>(data)->data();
|
||||
}
|
||||
|
||||
Points2fVector Points2fVector_New(){
|
||||
return new std::vector< std::vector< cv::Point2f > >;
|
||||
}
|
||||
|
||||
Points2fVector Points2fVector_NewFromPoints(Contours2f points) {
|
||||
Points2fVector pv = Points2fVector_New();
|
||||
for(size_t i = 0;i<points.length;i++){
|
||||
Contour2f contour2f = points.contours[i];
|
||||
Point2fVector cntr = Point2fVector_NewFromPoints(contour2f);
|
||||
Points2fVector_Append(pv, cntr);
|
||||
}
|
||||
|
||||
return pv;
|
||||
}
|
||||
|
||||
int Points2fVector_Size(Points2fVector ps) {
|
||||
return ps->size();
|
||||
}
|
||||
|
||||
Point2fVector Points2fVector_At(Points2fVector ps, int idx) {
|
||||
return &(ps->at(idx));
|
||||
}
|
||||
|
||||
void Points2fVector_Append(Points2fVector psv, Point2fVector pv) {
|
||||
psv->push_back(*pv);
|
||||
}
|
||||
|
||||
void Points2fVector_Close(Points2fVector ps) {
|
||||
ps->clear();
|
||||
delete ps;
|
||||
}
|
||||
|
||||
Point3fVector Point3fVector_New() {
|
||||
return new std::vector< cv::Point3f >;
|
||||
}
|
||||
|
||||
|
||||
Point3fVector Point3fVector_NewFromPoints(Contour3f points) {
|
||||
std::vector<cv::Point3f> *cntr = new std::vector<cv::Point3f>;
|
||||
for(size_t i = 0;i< points.length;i++) {
|
||||
cntr->push_back(cv::Point3f(
|
||||
points.points[i].x,
|
||||
points.points[i].y,
|
||||
points.points[i].z
|
||||
));
|
||||
}
|
||||
|
||||
return cntr;
|
||||
}
|
||||
|
||||
Point3fVector Point3fVector_NewFromMat(Mat mat) {
|
||||
std::vector<cv::Point3f> *pts = new std::vector<cv::Point3f>;
|
||||
*pts = (std::vector<cv::Point3f>) *mat;
|
||||
return pts;
|
||||
}
|
||||
|
||||
Point3f Point3fVector_At(Point3fVector pfv, int idx) {
|
||||
cv::Point3f p = pfv->at(idx);
|
||||
return Point3f{
|
||||
.x = p.x,
|
||||
.y = p.y,
|
||||
.z = p.z
|
||||
};
|
||||
}
|
||||
|
||||
void Point3fVector_Append(Point3fVector pfv, Point3f point) {
|
||||
pfv->push_back(cv::Point3f(point.x, point.y, point.z));
|
||||
}
|
||||
|
||||
int Point3fVector_Size(Point3fVector pfv) {
|
||||
return pfv->size();
|
||||
}
|
||||
|
||||
void Point3fVector_Close(Point3fVector pv) {
|
||||
pv->clear();
|
||||
delete pv;
|
||||
}
|
||||
|
||||
Points3fVector Points3fVector_New(){
|
||||
return new std::vector< std::vector< cv::Point3f > >;
|
||||
}
|
||||
|
||||
Points3fVector Points3fVector_NewFromPoints(Contours3f points) {
|
||||
Points3fVector pv = Points3fVector_New();
|
||||
for(size_t i = 0;i<points.length;i++){
|
||||
Contour3f contour3f = points.contours[i];
|
||||
Point3fVector cntr = Point3fVector_NewFromPoints(contour3f);
|
||||
Points3fVector_Append(pv, cntr);
|
||||
}
|
||||
|
||||
return pv;
|
||||
}
|
||||
|
||||
int Points3fVector_Size(Points3fVector ps) {
|
||||
return ps->size();
|
||||
}
|
||||
|
||||
Point3fVector Points3fVector_At(Points3fVector ps, int idx) {
|
||||
return &(ps->at(idx));
|
||||
}
|
||||
|
||||
void Points3fVector_Append(Points3fVector psv, Point3fVector pv) {
|
||||
psv->push_back(*pv);
|
||||
}
|
||||
|
||||
void Points3fVector_Close(Points3fVector ps) {
|
||||
ps->clear();
|
||||
delete ps;
|
||||
}
|
||||
|
||||
|
||||
241
vendor/gocv.io/x/gocv/core.go
generated
vendored
241
vendor/gocv.io/x/gocv/core.go
generated
vendored
@@ -166,6 +166,10 @@ type Point2f struct {
|
||||
Y float32
|
||||
}
|
||||
|
||||
func NewPoint2f(x, y float32) Point2f {
|
||||
return Point2f{x, y}
|
||||
}
|
||||
|
||||
var ErrEmptyByteSlice = errors.New("empty byte array")
|
||||
|
||||
// Mat represents an n-dimensional dense numerical single-channel
|
||||
@@ -664,6 +668,11 @@ func (m *Mat) Step() int {
|
||||
return int(C.Mat_Step(m.p))
|
||||
}
|
||||
|
||||
// ElemSize returns the matrix element size in bytes.
|
||||
func (m *Mat) ElemSize() int {
|
||||
return int(C.Mat_ElemSize(m.p))
|
||||
}
|
||||
|
||||
// GetUCharAt returns a value from a specific row/col
|
||||
// in this Mat expecting it to be of type uchar aka CV_8U.
|
||||
func (m *Mat) GetUCharAt(row int, col int) uint8 {
|
||||
@@ -2115,6 +2124,9 @@ func NewPointsVector() PointsVector {
|
||||
// NewPointsVectorFromPoints returns a new PointsVector that has been
|
||||
// initialized to a slice of slices of image.Point.
|
||||
func NewPointsVectorFromPoints(pts [][]image.Point) PointsVector {
|
||||
if len(pts) <= 0 {
|
||||
return NewPointsVector()
|
||||
}
|
||||
points := make([]C.struct_Points, len(pts))
|
||||
|
||||
for i, pt := range pts {
|
||||
@@ -2149,6 +2161,10 @@ func NewPointsVectorFromPoints(pts [][]image.Point) PointsVector {
|
||||
return PointsVector{p: C.PointsVector_NewFromPoints(cPoints)}
|
||||
}
|
||||
|
||||
func (pvs PointsVector) P() C.PointsVector {
|
||||
return pvs.p
|
||||
}
|
||||
|
||||
// ToPoints returns a slice of slices of image.Point for the data in this PointsVector.
|
||||
func (pvs PointsVector) ToPoints() [][]image.Point {
|
||||
ppoints := make([][]image.Point, pvs.Size())
|
||||
@@ -2574,3 +2590,228 @@ func (buffer *NativeByteBuffer) Len() int {
|
||||
func (buffer *NativeByteBuffer) Close() {
|
||||
C.StdByteVectorFree(buffer.nativePointer())
|
||||
}
|
||||
// Points2fVector is a wrapper around a std::vector< std::vector< cv::Point2f > >*
|
||||
type Points2fVector struct {
|
||||
p C.Points2fVector
|
||||
}
|
||||
|
||||
// NewPoints2fVector returns a new empty Points2fVector.
|
||||
func NewPoints2fVector() Points2fVector {
|
||||
return Points2fVector{p: C.Points2fVector_New()}
|
||||
}
|
||||
|
||||
// NewPoints2fVectorFromPoints returns a new Points2fVector that has been
|
||||
// initialized to a slice of slices of Point2f.
|
||||
func NewPoints2fVectorFromPoints(pts [][]Point2f) Points2fVector {
|
||||
pvf := NewPoints2fVector()
|
||||
for j := 0;j<len(pts);j++{
|
||||
pv := NewPoint2fVectorFromPoints(pts[j])
|
||||
pvf.Append(pv)
|
||||
pv.Close()
|
||||
}
|
||||
return pvf
|
||||
}
|
||||
|
||||
func (pvs Points2fVector) P() C.Points2fVector {
|
||||
return pvs.p
|
||||
}
|
||||
|
||||
// ToPoints returns a slice of slices of Point2f for the data in this Points2fVector.
|
||||
func (pvs Points2fVector) ToPoints() [][]Point2f {
|
||||
ppoints := make([][]Point2f, pvs.Size())
|
||||
for j := 0;j < pvs.Size();j++{
|
||||
pts := pvs.At(j)
|
||||
points := pts.ToPoints()
|
||||
ppoints[j] = points
|
||||
}
|
||||
return ppoints
|
||||
}
|
||||
|
||||
// IsNil checks the CGo pointer in the Points2fVector.
|
||||
func (pvs Points2fVector) IsNil() bool {
|
||||
return pvs.p == nil
|
||||
}
|
||||
|
||||
// Size returns how many vectors of Points are in the Points2fVector.
|
||||
func (pvs Points2fVector) Size() int {
|
||||
return int(C.Points2fVector_Size(pvs.p))
|
||||
}
|
||||
|
||||
// At returns the Point2fVector at that index of the Points2fVector.
|
||||
func (pvs Points2fVector) At(idx int) Point2fVector {
|
||||
if idx > pvs.Size() {
|
||||
return Point2fVector{}
|
||||
}
|
||||
return Point2fVector{p : C.Points2fVector_At(pvs.p, C.int(idx))}
|
||||
}
|
||||
|
||||
// Append appends a Point2fVector at end of the Points2fVector.
|
||||
func (pvs Points2fVector) Append(pv Point2fVector) {
|
||||
if !pv.IsNil() {
|
||||
C.Points2fVector_Append(pvs.p, pv.p)
|
||||
}
|
||||
}
|
||||
|
||||
// Close closes and frees memory for this Points2fVector.
|
||||
func (pvs Points2fVector) Close() {
|
||||
C.Points2fVector_Close(pvs.p)
|
||||
}
|
||||
|
||||
type Point3f struct {
|
||||
X float32
|
||||
Y float32
|
||||
Z float32
|
||||
}
|
||||
|
||||
func NewPoint3f(x, y, z float32) Point3f {
|
||||
return Point3f{x, y, z}
|
||||
}
|
||||
|
||||
// Point3fVector is a wrapper around a std::vector< cv::Point3f >*
|
||||
type Point3fVector struct {
|
||||
p C.Point3fVector
|
||||
}
|
||||
|
||||
// NewPoint3fVector returns a new empty Point3fVector.
|
||||
func NewPoint3fVector() Point3fVector {
|
||||
return Point3fVector{p: C.Point3fVector_New()}
|
||||
}
|
||||
|
||||
// NewPoint3fVectorFromPoints returns a new Point3fVector that has been
|
||||
// initialized to a slice of image.Point.
|
||||
func NewPoint3fVectorFromPoints(pts []Point3f) Point3fVector {
|
||||
p := (*C.struct_Point3f)(C.malloc(C.size_t(C.sizeof_struct_Point3f * len(pts))))
|
||||
defer C.free(unsafe.Pointer(p))
|
||||
|
||||
h := &reflect.SliceHeader{
|
||||
Data: uintptr(unsafe.Pointer(p)),
|
||||
Len: len(pts),
|
||||
Cap: len(pts),
|
||||
}
|
||||
pa := *(*[]C.Point3f)(unsafe.Pointer(h))
|
||||
|
||||
for j, point := range pts {
|
||||
pa[j] = C.struct_Point3f{
|
||||
x: C.float(point.X),
|
||||
y: C.float(point.Y),
|
||||
z: C.float(point.Z),
|
||||
}
|
||||
}
|
||||
|
||||
cPoints := C.struct_Points3f{
|
||||
points: (*C.Point3f)(p),
|
||||
length: C.int(len(pts)),
|
||||
}
|
||||
|
||||
return Point3fVector{p: C.Point3fVector_NewFromPoints(cPoints)}
|
||||
}
|
||||
|
||||
// NewPoint3fVectorFromMat returns a new Point3fVector that has been
|
||||
// wrapped around a Mat of type CV_32FC3 with a single columm.
|
||||
func NewPoint3fVectorFromMat(mat Mat) Point3fVector {
|
||||
return Point3fVector{p: C.Point3fVector_NewFromMat(mat.p)}
|
||||
}
|
||||
|
||||
// IsNil checks the CGo pointer in the Point3fVector.
|
||||
func (pfv Point3fVector) IsNil() bool {
|
||||
return pfv.p == nil
|
||||
}
|
||||
|
||||
// Size returns how many Point are in the Point3fVector.
|
||||
func (pfv Point3fVector) Size() int {
|
||||
return int(C.Point3fVector_Size(pfv.p))
|
||||
}
|
||||
|
||||
// At returns the Point3f
|
||||
func (pfv Point3fVector) At(idx int) Point3f {
|
||||
if idx > pfv.Size() {
|
||||
return Point3f{}
|
||||
}
|
||||
cp := C.Point3fVector_At(pfv.p, C.int(idx))
|
||||
return Point3f{X: float32(cp.x), Y: float32(cp.y), Z: float32(cp.z)}
|
||||
}
|
||||
|
||||
func (pfv Point3fVector) Append(point Point3f) {
|
||||
C.Point3fVector_Append(pfv.p, C.Point3f{
|
||||
x: C.float(point.X),
|
||||
y: C.float(point.Y),
|
||||
z: C.float(point.Z),
|
||||
});
|
||||
}
|
||||
|
||||
// ToPoints returns a slice of Point3f for the data in this Point3fVector.
|
||||
func (pfv Point3fVector) ToPoints() []Point3f {
|
||||
points := make([]Point3f, pfv.Size())
|
||||
for j := 0; j < pfv.Size(); j++ {
|
||||
points[j] = pfv.At(j)
|
||||
}
|
||||
return points
|
||||
}
|
||||
|
||||
// Close closes and frees memory for this Point3fVector.
|
||||
func (pfv Point3fVector) Close() {
|
||||
C.Point3fVector_Close(pfv.p)
|
||||
}
|
||||
|
||||
// Points3fVector is a wrapper around a std::vector< std::vector< cv::Point3f > >*
|
||||
type Points3fVector struct {
|
||||
p C.Points3fVector
|
||||
}
|
||||
|
||||
// NewPoints3fVector returns a new empty Points3fVector.
|
||||
func NewPoints3fVector() Points3fVector {
|
||||
return Points3fVector{p: C.Points3fVector_New()}
|
||||
}
|
||||
|
||||
// NewPoints3fVectorFromPoints returns a new Points3fVector that has been
|
||||
// initialized to a slice of slices of Point3f.
|
||||
func NewPoints3fVectorFromPoints(pts [][]Point3f) Points3fVector {
|
||||
pvf := NewPoints3fVector()
|
||||
for j := 0;j<len(pts);j++{
|
||||
pv := NewPoint3fVectorFromPoints(pts[j])
|
||||
pvf.Append(pv)
|
||||
pv.Close()
|
||||
}
|
||||
return pvf
|
||||
}
|
||||
|
||||
// ToPoints returns a slice of slices of Point3f for the data in this Points3fVector.
|
||||
func (pvs Points3fVector) ToPoints() [][]Point3f {
|
||||
ppoints := make([][]Point3f, pvs.Size())
|
||||
for j := 0;j < pvs.Size();j++{
|
||||
pts := pvs.At(j)
|
||||
points := pts.ToPoints()
|
||||
ppoints[j] = points
|
||||
}
|
||||
return ppoints
|
||||
}
|
||||
|
||||
// IsNil checks the CGo pointer in the Points3fVector.
|
||||
func (pvs Points3fVector) IsNil() bool {
|
||||
return pvs.p == nil
|
||||
}
|
||||
|
||||
// Size returns how many vectors of Points are in the Points3fVector.
|
||||
func (pvs Points3fVector) Size() int {
|
||||
return int(C.Points3fVector_Size(pvs.p))
|
||||
}
|
||||
|
||||
// At returns the Point3fVector at that index of the Points3fVector.
|
||||
func (pvs Points3fVector) At(idx int) Point3fVector {
|
||||
if idx > pvs.Size() {
|
||||
return Point3fVector{}
|
||||
}
|
||||
return Point3fVector{p : C.Points3fVector_At(pvs.p, C.int(idx))}
|
||||
}
|
||||
|
||||
// Append appends a Point3fVector at end of the Points3fVector.
|
||||
func (pvs Points3fVector) Append(pv Point3fVector) {
|
||||
if !pv.IsNil() {
|
||||
C.Points3fVector_Append(pvs.p, pv.p)
|
||||
}
|
||||
}
|
||||
|
||||
// Close closes and frees memory for this Points3fVector.
|
||||
func (pvs Points3fVector) Close() {
|
||||
C.Points3fVector_Close(pvs.p)
|
||||
}
|
||||
56
vendor/gocv.io/x/gocv/core.h
generated
vendored
56
vendor/gocv.io/x/gocv/core.h
generated
vendored
@@ -44,6 +44,12 @@ typedef struct Point2f {
|
||||
float y;
|
||||
} Point2f;
|
||||
|
||||
typedef struct Point3f {
|
||||
float x;
|
||||
float y;
|
||||
float z;
|
||||
} Point3f;
|
||||
|
||||
// Wrapper for an individual cv::cvPoint
|
||||
typedef struct Point {
|
||||
int x;
|
||||
@@ -62,12 +68,33 @@ typedef struct Points2f {
|
||||
int length;
|
||||
} Points2f;
|
||||
|
||||
typedef struct Points3f {
|
||||
Point3f *points;
|
||||
int length;
|
||||
} Points3f;
|
||||
|
||||
// Contour is alias for Points
|
||||
typedef Points Contour;
|
||||
|
||||
|
||||
// Contour2f is alias for Points2f
|
||||
typedef Points2f Contour2f;
|
||||
|
||||
typedef struct Contours2f {
|
||||
Contour2f *contours;
|
||||
int length;
|
||||
} Contours2f;
|
||||
|
||||
// Contour3f is alias for Points3f
|
||||
typedef Points3f Contour3f;
|
||||
|
||||
// Wrapper for the vector of Points3f vectors aka std::vector< std::vector<Point3f> >
|
||||
typedef struct Contours3f {
|
||||
Contour3f *contours;
|
||||
int length;
|
||||
} Contours3f;
|
||||
|
||||
|
||||
// Wrapper for the vector of Points vectors aka std::vector< std::vector<Point> >
|
||||
typedef struct Contours {
|
||||
Contour* contours;
|
||||
@@ -208,6 +235,9 @@ typedef cv::RNG* RNG;
|
||||
typedef std::vector< cv::Point >* PointVector;
|
||||
typedef std::vector< std::vector< cv::Point > >* PointsVector;
|
||||
typedef std::vector< cv::Point2f >* Point2fVector;
|
||||
typedef std::vector< std::vector< cv::Point2f> >* Points2fVector;
|
||||
typedef std::vector< cv::Point3f >* Point3fVector;
|
||||
typedef std::vector< std::vector< cv::Point3f > >* Points3fVector;
|
||||
#else
|
||||
typedef void* Mat;
|
||||
typedef void* TermCriteria;
|
||||
@@ -215,6 +245,9 @@ typedef void* RNG;
|
||||
typedef void* PointVector;
|
||||
typedef void* PointsVector;
|
||||
typedef void* Point2fVector;
|
||||
typedef void* Points2fVector;
|
||||
typedef void* Point3fVector;
|
||||
typedef void* Points3fVector;
|
||||
#endif
|
||||
|
||||
// Wrapper for the vector of Mat aka std::vector<Mat>
|
||||
@@ -271,6 +304,7 @@ int Mat_Cols(Mat m);
|
||||
int Mat_Channels(Mat m);
|
||||
int Mat_Type(Mat m);
|
||||
int Mat_Step(Mat m);
|
||||
int Mat_ElemSize(Mat m);
|
||||
Mat Eye(int rows, int cols, int type);
|
||||
Mat Zeros(int rows, int cols, int type);
|
||||
Mat Ones(int rows, int cols, int type);
|
||||
@@ -456,6 +490,28 @@ void StdByteVectorInitialize(void* data);
|
||||
void StdByteVectorFree(void *data);
|
||||
size_t StdByteVectorLen(void *data);
|
||||
uint8_t* StdByteVectorData(void *data);
|
||||
|
||||
Points2fVector Points2fVector_New();
|
||||
Points2fVector Points2fVector_NewFromPoints(Contours2f points);
|
||||
int Points2fVector_Size(Points2fVector ps);
|
||||
Point2fVector Points2fVector_At(Points2fVector ps, int idx);
|
||||
void Points2fVector_Append(Points2fVector psv, Point2fVector pv);
|
||||
void Points2fVector_Close(Points2fVector ps);
|
||||
|
||||
Point3fVector Point3fVector_New();
|
||||
Point3fVector Point3fVector_NewFromPoints(Contour3f points);
|
||||
Point3fVector Point3fVector_NewFromMat(Mat mat);
|
||||
void Point3fVector_Append(Point3fVector pfv, Point3f point);
|
||||
Point3f Point3fVector_At(Point3fVector pfv, int idx);
|
||||
int Point3fVector_Size(Point3fVector pfv);
|
||||
void Point3fVector_Close(Point3fVector pv);
|
||||
Points3fVector Points3fVector_New();
|
||||
Points3fVector Points3fVector_NewFromPoints(Contours3f points);
|
||||
int Points3fVector_Size(Points3fVector ps);
|
||||
Point3fVector Points3fVector_At(Points3fVector ps, int idx);
|
||||
void Points3fVector_Append(Points3fVector psv, Point3fVector pv);
|
||||
void Points3fVector_Close(Points3fVector ps);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
20
vendor/gocv.io/x/gocv/imgproc.cpp
generated
vendored
20
vendor/gocv.io/x/gocv/imgproc.cpp
generated
vendored
@@ -501,6 +501,13 @@ void WarpPerspective(Mat src, Mat dst, Mat m, Size dsize) {
|
||||
cv::warpPerspective(*src, *dst, *m, sz);
|
||||
}
|
||||
|
||||
void WarpPerspectiveWithParams(Mat src, Mat dst, Mat rot_mat, Size dsize, int flags, int borderMode,
|
||||
Scalar borderValue) {
|
||||
cv::Size sz(dsize.width, dsize.height);
|
||||
cv::Scalar c = cv::Scalar(borderValue.val1, borderValue.val2, borderValue.val3, borderValue.val4);
|
||||
cv::warpPerspective(*src, *dst, *rot_mat, sz, flags, borderMode, c);
|
||||
}
|
||||
|
||||
void Watershed(Mat image, Mat markers) {
|
||||
cv::watershed(*image, *markers);
|
||||
}
|
||||
@@ -550,6 +557,19 @@ void DrawContours(Mat src, PointsVector contours, int contourIdx, Scalar color,
|
||||
cv::drawContours(*src, *contours, contourIdx, c, thickness);
|
||||
}
|
||||
|
||||
void DrawContoursWithParams(Mat src, PointsVector contours, int contourIdx, Scalar color, int thickness, int lineType, Mat hierarchy, int maxLevel, Point offset) {
|
||||
cv::Scalar c = cv::Scalar(color.val1, color.val2, color.val3, color.val4);
|
||||
cv::Point offsetPt(offset.x, offset.y);
|
||||
|
||||
std::vector<cv::Vec4i> vecHierarchy;
|
||||
if (hierarchy->empty() == 0) {
|
||||
for (int j = 0; j < hierarchy->cols; ++j) {
|
||||
vecHierarchy.push_back(hierarchy->at<cv::Vec4i>(0, j));
|
||||
}
|
||||
}
|
||||
cv::drawContours(*src, *contours, contourIdx, c, thickness, lineType, vecHierarchy, maxLevel, offsetPt);
|
||||
}
|
||||
|
||||
void Sobel(Mat src, Mat dst, int ddepth, int dx, int dy, int ksize, double scale, double delta, int borderType) {
|
||||
cv::Sobel(*src, *dst, ddepth, dx, dy, ksize, scale, delta, borderType);
|
||||
}
|
||||
|
||||
45
vendor/gocv.io/x/gocv/imgproc.go
generated
vendored
45
vendor/gocv.io/x/gocv/imgproc.go
generated
vendored
@@ -1568,6 +1568,12 @@ const (
|
||||
|
||||
// InterpolationMax indicates use maximum interpolation.
|
||||
InterpolationMax InterpolationFlags = 7
|
||||
|
||||
// WarpFillOutliers fills all of the destination image pixels. If some of them correspond to outliers in the source image, they are set to zero.
|
||||
WarpFillOutliers = 8
|
||||
|
||||
// WarpInverseMap, inverse transformation.
|
||||
WarpInverseMap = 16
|
||||
)
|
||||
|
||||
// Resize resizes an image.
|
||||
@@ -1649,6 +1655,7 @@ func WarpAffineWithParams(src Mat, dst *Mat, m Mat, sz image.Point, flags Interp
|
||||
}
|
||||
|
||||
// WarpPerspective applies a perspective transformation to an image.
|
||||
// For more parameters please check WarpPerspectiveWithParams.
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/master/da/d54/group__imgproc__transform.html#gaf73673a7e8e18ec6963e3774e6a94b87
|
||||
@@ -1661,6 +1668,24 @@ func WarpPerspective(src Mat, dst *Mat, m Mat, sz image.Point) {
|
||||
C.WarpPerspective(src.p, dst.p, m.p, pSize)
|
||||
}
|
||||
|
||||
// WarpPerspectiveWithParams applies a perspective transformation to an image.
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/master/da/d54/group__imgproc__transform.html#gaf73673a7e8e18ec6963e3774e6a94b87
|
||||
func WarpPerspectiveWithParams(src Mat, dst *Mat, m Mat, sz image.Point, flags InterpolationFlags, borderType BorderType, borderValue color.RGBA) {
|
||||
pSize := C.struct_Size{
|
||||
width: C.int(sz.X),
|
||||
height: C.int(sz.Y),
|
||||
}
|
||||
bv := C.struct_Scalar{
|
||||
val1: C.double(borderValue.B),
|
||||
val2: C.double(borderValue.G),
|
||||
val3: C.double(borderValue.R),
|
||||
val4: C.double(borderValue.A),
|
||||
}
|
||||
C.WarpPerspectiveWithParams(src.p, dst.p, m.p, pSize, C.int(flags), C.int(borderType), bv)
|
||||
}
|
||||
|
||||
// Watershed performs a marker-based image segmentation using the watershed algorithm.
|
||||
//
|
||||
// For further details, please see:
|
||||
@@ -1780,6 +1805,26 @@ func DrawContours(img *Mat, contours PointsVector, contourIdx int, c color.RGBA,
|
||||
C.DrawContours(img.p, contours.p, C.int(contourIdx), sColor, C.int(thickness))
|
||||
}
|
||||
|
||||
// DrawContoursWithParams draws contours outlines or filled contours.
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/master/d6/d6e/group__imgproc__draw.html#ga746c0625f1781f1ffc9056259103edbc
|
||||
//
|
||||
func DrawContoursWithParams(img *Mat, contours PointsVector, contourIdx int, c color.RGBA, thickness int, lineType LineType, hierarchy Mat, maxLevel int, offset image.Point) {
|
||||
sColor := C.struct_Scalar{
|
||||
val1: C.double(c.B),
|
||||
val2: C.double(c.G),
|
||||
val3: C.double(c.R),
|
||||
val4: C.double(c.A),
|
||||
}
|
||||
offsetP := C.struct_Point{
|
||||
x: C.int(offset.X),
|
||||
y: C.int(offset.Y),
|
||||
}
|
||||
|
||||
C.DrawContoursWithParams(img.p, contours.p, C.int(contourIdx), sColor, C.int(thickness), C.int(lineType), hierarchy.p, C.int(maxLevel), offsetP)
|
||||
}
|
||||
|
||||
// Remap applies a generic geometrical transformation to an image.
|
||||
//
|
||||
// For further details, please see:
|
||||
|
||||
3
vendor/gocv.io/x/gocv/imgproc.h
generated
vendored
3
vendor/gocv.io/x/gocv/imgproc.h
generated
vendored
@@ -104,6 +104,8 @@ void WarpAffine(Mat src, Mat dst, Mat rot_mat, Size dsize);
|
||||
void WarpAffineWithParams(Mat src, Mat dst, Mat rot_mat, Size dsize, int flags, int borderMode,
|
||||
Scalar borderValue);
|
||||
void WarpPerspective(Mat src, Mat dst, Mat m, Size dsize);
|
||||
void WarpPerspectiveWithParams(Mat src, Mat dst, Mat rot_mat, Size dsize, int flags, int borderMode,
|
||||
Scalar borderValue);
|
||||
void Watershed(Mat image, Mat markers);
|
||||
void ApplyColorMap(Mat src, Mat dst, int colormap);
|
||||
void ApplyCustomColorMap(Mat src, Mat dst, Mat colormap);
|
||||
@@ -113,6 +115,7 @@ Mat GetAffineTransform(PointVector src, PointVector dst);
|
||||
Mat GetAffineTransform2f(Point2fVector src, Point2fVector dst);
|
||||
Mat FindHomography(Mat src, Mat dst, int method, double ransacReprojThreshold, Mat mask, const int maxIters, const double confidence) ;
|
||||
void DrawContours(Mat src, PointsVector contours, int contourIdx, Scalar color, int thickness);
|
||||
void DrawContoursWithParams(Mat src, PointsVector contours, int contourIdx, Scalar color, int thickness, int lineType, Mat hierarchy, int maxLevel, Point offset);
|
||||
void Sobel(Mat src, Mat dst, int ddepth, int dx, int dy, int ksize, double scale, double delta, int borderType);
|
||||
void SpatialGradient(Mat src, Mat dx, Mat dy, int ksize, int borderType);
|
||||
void Remap(Mat src, Mat dst, Mat map1, Mat map2, int interpolation, int borderMode, Scalar borderValue);
|
||||
|
||||
32
vendor/gocv.io/x/gocv/photo.cpp
generated
vendored
32
vendor/gocv.io/x/gocv/photo.cpp
generated
vendored
@@ -84,3 +84,35 @@ void AlignMTB_Process(AlignMTB b, struct Mats src, struct Mats *dst) {
|
||||
}
|
||||
dst->length = (int)dstMats.size();
|
||||
}
|
||||
|
||||
void FastNlMeansDenoising(Mat src, Mat dst) {
|
||||
cv::fastNlMeansDenoising(*src, *dst);
|
||||
}
|
||||
|
||||
void FastNlMeansDenoisingWithParams(Mat src, Mat dst, float h, int templateWindowSize, int searchWindowSize) {
|
||||
cv::fastNlMeansDenoising(*src, *dst, h, templateWindowSize, searchWindowSize);
|
||||
}
|
||||
|
||||
void FastNlMeansDenoisingColored(Mat src, Mat dst) {
|
||||
cv::fastNlMeansDenoisingColored(*src, *dst);
|
||||
}
|
||||
|
||||
void FastNlMeansDenoisingColoredWithParams(Mat src, Mat dst, float h, float hColor, int templateWindowSize, int searchWindowSize) {
|
||||
cv::fastNlMeansDenoisingColored(*src, *dst, h, hColor, templateWindowSize, searchWindowSize);
|
||||
}
|
||||
|
||||
void EdgePreservingFilter(Mat src, Mat dst, int filter, float sigma_s, float sigma_r) {
|
||||
cv::edgePreservingFilter(*src, *dst, filter, sigma_s, sigma_r);
|
||||
}
|
||||
|
||||
void DetailEnhance(Mat src, Mat dst, float sigma_s, float sigma_r) {
|
||||
cv::detailEnhance(*src, *dst, sigma_s, sigma_r);
|
||||
}
|
||||
|
||||
void PencilSketch(Mat src, Mat dst1, Mat dst2, float sigma_s, float sigma_r, float shade_factor) {
|
||||
cv::pencilSketch(*src, *dst1, *dst2, sigma_s, sigma_r, shade_factor);
|
||||
}
|
||||
|
||||
void Stylization(Mat src, Mat dst, float sigma_s, float sigma_r) {
|
||||
cv::stylization(*src, *dst, sigma_s, sigma_r);
|
||||
}
|
||||
|
||||
89
vendor/gocv.io/x/gocv/photo.go
generated
vendored
89
vendor/gocv.io/x/gocv/photo.go
generated
vendored
@@ -5,6 +5,7 @@ package gocv
|
||||
#include "photo.h"
|
||||
*/
|
||||
import "C"
|
||||
|
||||
import (
|
||||
"image"
|
||||
"unsafe"
|
||||
@@ -225,3 +226,91 @@ func (b *AlignMTB) Process(src []Mat, dst *[]Mat) {
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// FastNlMeansDenoising performs image denoising using Non-local Means Denoising algorithm
|
||||
// http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/4.x/d1/d79/group__photo__denoise.html#ga4c6b0031f56ea3f98f768881279ffe93
|
||||
//
|
||||
func FastNlMeansDenoising(src Mat, dst *Mat) {
|
||||
C.FastNlMeansDenoising(src.p, dst.p)
|
||||
}
|
||||
|
||||
// FastNlMeansDenoisingWithParams performs image denoising using Non-local Means Denoising algorithm
|
||||
// http://www.ipol.im/pub/algo/bcm_non_local_means_denoising/
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/4.x/d1/d79/group__photo__denoise.html#ga4c6b0031f56ea3f98f768881279ffe93
|
||||
//
|
||||
func FastNlMeansDenoisingWithParams(src Mat, dst *Mat, h float32, templateWindowSize int, searchWindowSize int) {
|
||||
C.FastNlMeansDenoisingWithParams(src.p, dst.p, C.float(h), C.int(templateWindowSize), C.int(searchWindowSize))
|
||||
}
|
||||
|
||||
// FastNlMeansDenoisingColored is a modification of fastNlMeansDenoising function for colored images.
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/4.x/d1/d79/group__photo__denoise.html#ga21abc1c8b0e15f78cd3eff672cb6c476
|
||||
//
|
||||
func FastNlMeansDenoisingColored(src Mat, dst *Mat) {
|
||||
C.FastNlMeansDenoisingColored(src.p, dst.p)
|
||||
}
|
||||
|
||||
// FastNlMeansDenoisingColoredWithParams is a modification of fastNlMeansDenoising function for colored images.
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/4.x/d1/d79/group__photo__denoise.html#ga21abc1c8b0e15f78cd3eff672cb6c476
|
||||
//
|
||||
func FastNlMeansDenoisingColoredWithParams(src Mat, dst *Mat, h float32, hColor float32, templateWindowSize int, searchWindowSize int) {
|
||||
C.FastNlMeansDenoisingColoredWithParams(src.p, dst.p, C.float(h), C.float(hColor), C.int(templateWindowSize), C.int(searchWindowSize))
|
||||
}
|
||||
|
||||
// DetailEnhance filter enhances the details of a particular image
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/4.x/df/dac/group__photo__render.html#gae5930dd822c713b36f8529b21ddebd0c
|
||||
//
|
||||
func DetailEnhance(src Mat, dst *Mat, sigma_s, sigma_r float32) {
|
||||
C.DetailEnhance(src.p, dst.p, C.float(sigma_s), C.float(sigma_r))
|
||||
}
|
||||
|
||||
type EdgeFilter int
|
||||
|
||||
const (
|
||||
// RecursFilter Recursive Filtering.
|
||||
RecursFilter EdgeFilter = 1
|
||||
|
||||
// NormconvFilter Normalized Convolution Filtering.
|
||||
NormconvFilter = 2
|
||||
)
|
||||
|
||||
// EdgePreservingFilter filtering is the fundamental operation in image and video processing.
|
||||
// Edge-preserving smoothing filters are used in many different applications.
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/4.x/df/dac/group__photo__render.html#gafaee2977597029bc8e35da6e67bd31f7
|
||||
//
|
||||
func EdgePreservingFilter(src Mat, dst *Mat, filter EdgeFilter, sigma_s, sigma_r float32) {
|
||||
C.EdgePreservingFilter(src.p, dst.p, C.int(filter), C.float(sigma_s), C.float(sigma_r))
|
||||
}
|
||||
|
||||
// PencilSketch pencil-like non-photorealistic line drawing.
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/4.x/df/dac/group__photo__render.html#gae5930dd822c713b36f8529b21ddebd0c
|
||||
//
|
||||
func PencilSketch(src Mat, dst1, dst2 *Mat, sigma_s, sigma_r, shade_factor float32) {
|
||||
C.PencilSketch(src.p, dst1.p, dst2.p, C.float(sigma_s), C.float(sigma_r), C.float(shade_factor))
|
||||
}
|
||||
|
||||
// Stylization aims to produce digital imagery with a wide variety of effects
|
||||
// not focused on photorealism. Edge-aware filters are ideal for stylization,
|
||||
// as they can abstract regions of low contrast while preserving, or enhancing,
|
||||
// high-contrast features.
|
||||
//
|
||||
// For further details, please see:
|
||||
// https://docs.opencv.org/4.x/df/dac/group__photo__render.html#gacb0f7324017df153d7b5d095aed53206
|
||||
//
|
||||
func Stylization(src Mat, dst *Mat, sigma_s, sigma_r float32) {
|
||||
C.Stylization(src.p, dst.p, C.float(sigma_s), C.float(sigma_r))
|
||||
}
|
||||
|
||||
11
vendor/gocv.io/x/gocv/photo.h
generated
vendored
11
vendor/gocv.io/x/gocv/photo.h
generated
vendored
@@ -4,7 +4,6 @@
|
||||
#ifdef __cplusplus
|
||||
#include <opencv2/opencv.hpp>
|
||||
#include <opencv2/photo.hpp>
|
||||
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
@@ -29,8 +28,11 @@ void IlluminationChange(Mat src, Mat mask, Mat dst, float alpha, float beta);
|
||||
void TextureFlattening(Mat src, Mat mask, Mat dst, float low_threshold, float high_threshold, int kernel_size);
|
||||
|
||||
void FastNlMeansDenoisingColoredMulti(struct Mats src, Mat dst, int imgToDenoiseIndex, int temporalWindowSize);
|
||||
|
||||
void FastNlMeansDenoisingColoredMultiWithParams(struct Mats src, Mat dst, int imgToDenoiseIndex, int temporalWindowSize, float h, float hColor, int templateWindowSize, int searchWindowSize );
|
||||
void FastNlMeansDenoising(Mat src, Mat dst);
|
||||
void FastNlMeansDenoisingWithParams(Mat src, Mat dst, float h, int templateWindowSize, int searchWindowSize);
|
||||
void FastNlMeansDenoisingColored(Mat src, Mat dst);
|
||||
void FastNlMeansDenoisingColoredWithParams(Mat src, Mat dst, float h, float hColor, int templateWindowSize, int searchWindowSize);
|
||||
|
||||
MergeMertens MergeMertens_Create();
|
||||
MergeMertens MergeMertens_CreateWithParams(float contrast_weight, float saturation_weight, float exposure_weight);
|
||||
@@ -42,6 +44,11 @@ AlignMTB AlignMTB_CreateWithParams(int max_bits, int exclude_range, bool cut);
|
||||
void AlignMTB_Process(AlignMTB b, struct Mats src, struct Mats *dst);
|
||||
void AlignMTB_Close(AlignMTB b);
|
||||
|
||||
void DetailEnhance(Mat src, Mat dst, float sigma_s, float sigma_r);
|
||||
void EdgePreservingFilter(Mat src, Mat dst, int filter, float sigma_s, float sigma_r);
|
||||
void PencilSketch(Mat src, Mat dst1, Mat dst2, float sigma_s, float sigma_r, float shade_factor);
|
||||
void Stylization(Mat src, Mat dst, float sigma_s, float sigma_r);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
2
vendor/gocv.io/x/gocv/version.go
generated
vendored
2
vendor/gocv.io/x/gocv/version.go
generated
vendored
@@ -7,7 +7,7 @@ package gocv
|
||||
import "C"
|
||||
|
||||
// GoCVVersion of this package, for display purposes.
|
||||
const GoCVVersion = "0.28.0"
|
||||
const GoCVVersion = "0.31.0"
|
||||
|
||||
// Version returns the current golang package version
|
||||
func Version() string {
|
||||
|
||||
4
vendor/gocv.io/x/gocv/video.cpp
generated
vendored
4
vendor/gocv.io/x/gocv/video.cpp
generated
vendored
@@ -47,6 +47,10 @@ void CalcOpticalFlowPyrLKWithParams(Mat prevImg, Mat nextImg, Mat prevPts, Mat n
|
||||
cv::calcOpticalFlowPyrLK(*prevImg, *nextImg, *prevPts, *nextPts, *status, *err, sz, maxLevel, *criteria, flags, minEigThreshold);
|
||||
}
|
||||
|
||||
double FindTransformECC(Mat templateImage, Mat inputImage, Mat warpMatrix, int motionType, TermCriteria criteria, Mat inputMask, int gaussFiltSize){
|
||||
return cv::findTransformECC(*templateImage, *inputImage, *warpMatrix, motionType, *criteria, *inputMask, gaussFiltSize);
|
||||
}
|
||||
|
||||
bool Tracker_Init(Tracker self, Mat image, Rect boundingBox) {
|
||||
cv::Rect bb(boundingBox.x, boundingBox.y, boundingBox.width, boundingBox.height);
|
||||
|
||||
|
||||
23
vendor/gocv.io/x/gocv/video.go
generated
vendored
23
vendor/gocv.io/x/gocv/video.go
generated
vendored
@@ -22,6 +22,20 @@ const (
|
||||
OptflowFarnebackGaussian = 256
|
||||
)
|
||||
|
||||
/**
|
||||
cv::MOTION_TRANSLATION = 0,
|
||||
cv::MOTION_EUCLIDEAN = 1,
|
||||
cv::MOTION_AFFINE = 2,
|
||||
cv::MOTION_HOMOGRAPHY = 3
|
||||
For further details, please see: https://docs.opencv.org/4.x/dc/d6b/group__video__track.html#ggaaedb1f94e6b143cef163622c531afd88a01106d6d20122b782ff25eaeffe9a5be
|
||||
*/
|
||||
const (
|
||||
MotionTranslation = 0
|
||||
MotionEuclidean = 1
|
||||
MotionAffine = 2
|
||||
MotionHomography = 3
|
||||
)
|
||||
|
||||
// BackgroundSubtractorMOG2 is a wrapper around the cv::BackgroundSubtractorMOG2.
|
||||
type BackgroundSubtractorMOG2 struct {
|
||||
// C.BackgroundSubtractorMOG2
|
||||
@@ -156,6 +170,15 @@ func CalcOpticalFlowPyrLKWithParams(prevImg Mat, nextImg Mat, prevPts Mat, nextP
|
||||
return
|
||||
}
|
||||
|
||||
// FindTransformECC finds the geometric transform (warp) between two images in terms of the ECC criterion.
|
||||
//
|
||||
// For futther details, please see:
|
||||
// https://docs.opencv.org/4.x/dc/d6b/group__video__track.html#ga1aa357007eaec11e9ed03500ecbcbe47
|
||||
//
|
||||
func FindTransformECC(templateImage Mat, inputImage Mat, warpMatrix *Mat, motionType int, criteria TermCriteria, inputMask Mat, gaussFiltSize int) float64 {
|
||||
return float64(C.FindTransformECC(templateImage.p, inputImage.p, warpMatrix.p, C.int(motionType), criteria.p, inputMask.p, C.int(gaussFiltSize)))
|
||||
}
|
||||
|
||||
// Tracker is the base interface for object tracking.
|
||||
//
|
||||
// see: https://docs.opencv.org/master/d0/d0a/classcv_1_1Tracker.html
|
||||
|
||||
2
vendor/gocv.io/x/gocv/video.h
generated
vendored
2
vendor/gocv.io/x/gocv/video.h
generated
vendored
@@ -39,6 +39,8 @@ void CalcOpticalFlowPyrLKWithParams(Mat prevImg, Mat nextImg, Mat prevPts, Mat n
|
||||
void CalcOpticalFlowFarneback(Mat prevImg, Mat nextImg, Mat flow, double pyrScale, int levels,
|
||||
int winsize, int iterations, int polyN, double polySigma, int flags);
|
||||
|
||||
double FindTransformECC(Mat templateImage, Mat inputImage, Mat warpMatrix, int motionType, TermCriteria criteria, Mat inputMask, int gaussFiltSize);
|
||||
|
||||
bool Tracker_Init(Tracker self, Mat image, Rect boundingBox);
|
||||
bool Tracker_Update(Tracker self, Mat image, Rect* boundingBox);
|
||||
|
||||
|
||||
30
vendor/gocv.io/x/gocv/win_build_opencv.cmd
generated
vendored
30
vendor/gocv.io/x/gocv/win_build_opencv.cmd
generated
vendored
@@ -11,18 +11,18 @@ echo.
|
||||
REM This is why there is no progress bar:
|
||||
REM https://github.com/PowerShell/PowerShell/issues/2138
|
||||
|
||||
echo Downloading: opencv-4.5.3.zip [91MB]
|
||||
powershell -command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri https://github.com/opencv/opencv/archive/4.5.3.zip -OutFile c:\opencv\opencv-4.5.3.zip"
|
||||
echo Downloading: opencv-4.6.0.zip [91MB]
|
||||
powershell -command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri https://github.com/opencv/opencv/archive/4.6.0.zip -OutFile c:\opencv\opencv-4.6.0.zip"
|
||||
echo Extracting...
|
||||
powershell -command "$ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path c:\opencv\opencv-4.5.3.zip -DestinationPath c:\opencv"
|
||||
del c:\opencv\opencv-4.5.3.zip /q
|
||||
powershell -command "$ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path c:\opencv\opencv-4.6.0.zip -DestinationPath c:\opencv"
|
||||
del c:\opencv\opencv-4.6.0.zip /q
|
||||
echo.
|
||||
|
||||
echo Downloading: opencv_contrib-4.5.3.zip [58MB]
|
||||
powershell -command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri https://github.com/opencv/opencv_contrib/archive/4.5.3.zip -OutFile c:\opencv\opencv_contrib-4.5.3.zip"
|
||||
echo Downloading: opencv_contrib-4.6.0.zip [58MB]
|
||||
powershell -command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri https://github.com/opencv/opencv_contrib/archive/4.6.0.zip -OutFile c:\opencv\opencv_contrib-4.6.0.zip"
|
||||
echo Extracting...
|
||||
powershell -command "$ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path c:\opencv\opencv_contrib-4.5.3.zip -DestinationPath c:\opencv"
|
||||
del c:\opencv\opencv_contrib-4.5.3.zip /q
|
||||
powershell -command "$ProgressPreference = 'SilentlyContinue'; Expand-Archive -Path c:\opencv\opencv_contrib-4.6.0.zip -DestinationPath c:\opencv"
|
||||
del c:\opencv\opencv_contrib-4.6.0.zip /q
|
||||
echo.
|
||||
|
||||
echo Done with downloading and extracting sources.
|
||||
@@ -31,10 +31,16 @@ echo.
|
||||
echo on
|
||||
|
||||
cd /D C:\opencv\build
|
||||
set PATH=%PATH%;C:\Program Files (x86)\CMake\bin;C:\mingw-w64\x86_64-6.3.0-posix-seh-rt_v5-rev1\mingw64\bin
|
||||
cmake C:\opencv\opencv-4.5.3 -G "MinGW Makefiles" -BC:\opencv\build -DENABLE_CXX11=ON -DOPENCV_EXTRA_MODULES_PATH=C:\opencv\opencv_contrib-4.5.3\modules -DBUILD_SHARED_LIBS=ON -DWITH_IPP=OFF -DWITH_MSMF=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_opencv_java=OFF -DBUILD_opencv_python=OFF -DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=OFF -DBUILD_DOCS=OFF -DENABLE_PRECOMPILED_HEADERS=OFF -DBUILD_opencv_saliency=OFF -DBUILD_opencv_wechat_qrcode=OFF -DCPU_DISPATCH= -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_OPENCL_D3D11_NV=OFF -DOPENCV_ALLOCATOR_STATS_COUNTER_TYPE=int64_t -Wno-dev
|
||||
set PATH=%PATH%;C:\Program Files (x86)\CMake\bin;C:\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin
|
||||
if [%1]==[static] (
|
||||
echo Build static opencv
|
||||
set enable_shared=OFF
|
||||
) else (
|
||||
set enable_shared=ON
|
||||
)
|
||||
cmake C:\opencv\opencv-4.6.0 -G "MinGW Makefiles" -BC:\opencv\build -DENABLE_CXX11=ON -DOPENCV_EXTRA_MODULES_PATH=C:\opencv\opencv_contrib-4.6.0\modules -DBUILD_SHARED_LIBS=%enable_shared% -DWITH_IPP=OFF -DWITH_MSMF=OFF -DBUILD_EXAMPLES=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_opencv_java=OFF -DBUILD_opencv_python=OFF -DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=OFF -DBUILD_DOCS=OFF -DENABLE_PRECOMPILED_HEADERS=OFF -DBUILD_opencv_saliency=OFF -DBUILD_opencv_wechat_qrcode=ON -DCPU_DISPATCH= -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_OPENCL_D3D11_NV=OFF -DOPENCV_ALLOCATOR_STATS_COUNTER_TYPE=int64_t -Wno-dev
|
||||
mingw32-make -j%NUMBER_OF_PROCESSORS%
|
||||
mingw32-make install
|
||||
rmdir c:\opencv\opencv-4.5.3 /s /q
|
||||
rmdir c:\opencv\opencv_contrib-4.5.3 /s /q
|
||||
rmdir c:\opencv\opencv-4.6.0 /s /q
|
||||
rmdir c:\opencv\opencv_contrib-4.6.0 /s /q
|
||||
chdir /D %GOPATH%\src\gocv.io\x\gocv
|
||||
|
||||
Reference in New Issue
Block a user