cuda

package
v0.39.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2024 License: Apache-2.0 Imports: 6 Imported by: 3

README

CUDA

In order to use the GoCV cuda package, the CUDA toolkit from nvidia needs to be installed on the host system.

The CUDA backend for DNN module requires CC (Compute Capability) 5.3 or higher. Check your GPU https://developer.nvidia.com/cuda-gpus

Please see https://docs.nvidia.com/cuda/index.html for more information.

Furthermore opencv must be compiled with CUDA support.

GoCV also supports using CUDA as a backend for the OpenCV deep neural network (DNN) module.

How to use

Deep Neural Network (DNN) module

This code loads a Caffe model, and then uses CUDA to prepare it for execution on the GPU:

net := gocv.ReadNet("/path/to/your/model.caffemodel", "/path/to/your/config.proto")
if net.Empty() {
    fmt.Println("Error reading network model")
    return
}

net.SetPreferableBackend(gocv.NetBackendType(gocv.NetBackendCUDA))
net.SetPreferableTarget(gocv.NetTargetType(gocv.NetTargetCUDA))
OpenCV CUDA modules

You can use calls directly to the OpenCV CUDA wrappers, both the synchronous and asynchronous versions.

Here is an example that uses the synchronous CUDA calls:

    cimg, mimg, dimg := NewGpuMat(), NewGpuMat(), NewGpuMat()
    defer cimg.Close()
    defer mimg.Close()
    defer dimg.Close()

    canny := NewCannyEdgeDetector(50, 100)
    defer canny.Close()

    detector := NewHoughSegmentDetector(1, math.Pi/180, 150, 50)
    defer detector.Close()

    dest := gocv.NewMat()
    defer dest.Close()

    // after each call, CPU thread is blocked until GPU operation is completed.
    cimg.Upload(src)
    canny.Detect(cimg, &mimg)
    detector.Detect(mimg, &dimg)
    dimg.Download(&dest)

Here is an example that uses the Stream type for calling CUDA using the asynchronous interface:

    cimg, mimg, dimg := NewGpuMat(), NewGpuMat(), NewGpuMat()
    defer cimg.Close()
    defer mimg.Close()
    defer dimg.Close()

    stream := NewStream()
    defer stream.Close()

    canny := NewCannyEdgeDetector(50, 100)
    defer canny.Close()

    detector := NewHoughSegmentDetector(1, math.Pi/180, 150, 50)
    defer detector.Close()

    dest := gocv.NewMat()
    defer dest.Close()

    // all calls return immediately to CPU, work is scheduled to be done on GPU.
    cimg.UploadWithStream(src, stream)
    canny.DetectWithStream(cimg, &mimg, stream)
    detector.DetectWithStream(mimg, &dimg, stream)
    dimg.DownloadWithStream(&dest, stream)

    // CPU thread blocks until all GPU calls have completed.
    stream.WaitForCompletion()

Installing CUDA

Download and install packages from https://developer.nvidia.com/cuda-downloads

For example, download 'cuda_10.2.89_440.33.01_linux.run'

Download and install packages from https://developer.nvidia.com/rdp/cudnn-archive

For example the 'cuDNN Runtime Library for Ubuntu18.04 (Deb)' and 'cuDNN Developer Library for Ubuntu18.04 (Deb)'

Compiling OpenCV with CUDA

We have included the make target install_cuda that compiles OpenCV with CUDA support. (For more details on the compilation process please see the Makefile)

Run the command make install_cuda and you should be good to go.

If you need static opencv libraries

make install_cuda BUILD_SHARED_LIBS=OFF

Then finally verify that it is all working

cd $GOPATH/src/gocv.io/x/gocv
go run ./cmd/cuda/main.go

You should see something along the lines of:

gocv version: 0.25.0
cuda information:
  Device 0:  "GeForce MX150"  2003Mb, sm_61, Driver/Runtime ver.10.0/10.0

Documentation

Overview

Package cuda is the GoCV wrapper around OpenCV cuda.

For further details, please see: https://github.com/opencv/opencv

import "gocv.io/x/gocv/cuda"

Package cuda is the GoCV wrapper around OpenCV cuda.

For further details, please see: https://github.com/opencv/c

import "gocv.io/x/gocv/cuda"

Index

Constants

View Source
const (
	FeatureSetCompute10            FeatureSet = 10
	FeatureSetCompute11            FeatureSet = 11
	FeatureSetCompute12            FeatureSet = 12
	FeatureSetCompute13            FeatureSet = 13
	FeatureSetCompute20            FeatureSet = 20
	FeatureSetCompute21            FeatureSet = 21
	FeatureSetCompute30            FeatureSet = 30
	FeatureSetCompute32            FeatureSet = 32
	FeatureSetCompute35            FeatureSet = 35
	FeatureSetCompute50            FeatureSet = 50
	FeatureSetGlobalAtomics                   = FeatureSetCompute11
	FeatureSetSharedAtomics                   = FeatureSetCompute12
	FeatureSetNativeDouble                    = FeatureSetCompute13
	FeatureSetWarpShuffleFunctions            = FeatureSetCompute30
	FeatureSetDynamicParallelism              = FeatureSetCompute35
)

Variables

This section is empty.

Functions

func Abs added in v0.27.0

func Abs(src GpuMat, dst *GpuMat)

Abs computes an absolute value of each matrix element.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga54a72bd772494ab34d05406fd76df2b6

func AbsDiff added in v0.29.0

func AbsDiff(src1, src2 GpuMat, dst *GpuMat)

AbsDiff computes per-element absolute difference of two matrices (or of a matrix and scalar) using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac062b283cf46ee90f74a773d3382ab54

func AbsDiffWithStream added in v0.29.0

func AbsDiffWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

AbsDiffWithStream computes an absolute value of each matrix element using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac062b283cf46ee90f74a773d3382ab54

func AbsWithStream added in v0.29.0

func AbsWithStream(src GpuMat, dst *GpuMat, stream Stream)

AbsWithStream computes an absolute value of each matrix element using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga54a72bd772494ab34d05406fd76df2b6

func Add added in v0.29.0

func Add(src1, src2 GpuMat, dst *GpuMat)

Add computes a matrix-matrix or matrix-scalar sum.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga5d9794bde97ed23d1c1485249074a8b1

func AddWeighted added in v0.38.0

func AddWeighted(src1 GpuMat, alpha float64, src2 GpuMat, beta float64, gamma float64, dst *GpuMat, dType int)

AddWeighted computes a weighted sum of two matrices.

For further details, please see: https://docs.opencv.org/4.x/d8/d34/group__cudaarithm__elem.html#ga2cd14a684ea70c6ab2a63ee90ffe6201

func AddWeightedWithStream added in v0.38.0

func AddWeightedWithStream(src1 GpuMat, alpha float64, src2 GpuMat, beta float64, gamma float64, dst *GpuMat, dType int, s Stream)

AddWeightedWithStream computes a weighted sum of two matrices using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/4.x/d8/d34/group__cudaarithm__elem.html#ga2cd14a684ea70c6ab2a63ee90ffe6201

func AddWithStream added in v0.29.0

func AddWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

AddWithStream computes a matrix-matrix or matrix-scalar sum using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga5d9794bde97ed23d1c1485249074a8b1

func AlphaComp added in v0.39.0

func AlphaComp(img1 GpuMat, img2 GpuMat, dst *GpuMat, alphaOp AlphaCompTypes)

AlphaComp Composites two images using alpha opacity values contained in each image.

img1: First image. Supports CV_8UC4 , CV_16UC4 , CV_32SC4 and CV_32FC4 types.

img2: Second image. Must have the same size and the same type as img1.

dst: Destination image.

alpha_op: Flag specifying the alpha-blending operation

For further details, please see: https://docs.opencv.org/4.x/db/d8c/group__cudaimgproc__color.html#ga08a698700458d9311390997b57fbf8dc

func AlphaCompWithStream added in v0.39.0

func AlphaCompWithStream(img1 GpuMat, img2 GpuMat, dst *GpuMat, alphaOp AlphaCompTypes, s Stream)

AlphaCompWithStream Composites two images using alpha opacity values contained in each image.

img1: First image. Supports CV_8UC4 , CV_16UC4 , CV_32SC4 and CV_32FC4 types.

img2: Second image. Must have the same size and the same type as img1.

dst: Destination image.

alpha_op: Flag specifying the alpha-blending operation

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/db/d8c/group__cudaimgproc__color.html#ga08a698700458d9311390997b57fbf8dc

func BilateralFilter added in v0.39.0

func BilateralFilter(src GpuMat, dst *GpuMat, kernelSize int, sigmaColor float32, sigmaSpatial float32, borderMode BorderType)

BilateralFilter Performs bilateral filtering of passed image.

src: Source image. Supports only (channels != 2 && depth() != CV_8S && depth() != CV_32S && depth() != CV_64F).

dst: Destination imagwe.

kernelSize: Kernel window size.

sigmaColor: Filter sigma in the color space.

sigmaSpatial: Filter sigma in the coordinate space.

borderMode: Border type. See borderInterpolate for details. BorderReflect101 , BorderReplicate , BorderConstant , BorderReflect and BorderWrap are supported for now.

For further details, please see: https://docs.opencv.org/4.x/d0/d05/group__cudaimgproc.html#ga6abeaecdd4e7edc0bd1393a04f4f20bd

func BilateralFilterWithStream added in v0.39.0

func BilateralFilterWithStream(src GpuMat, dst *GpuMat, kernelSize int, sigmaColor float32, sigmaSpatial float32, borderMode BorderType, s Stream)

BilateralFilterWithStream Performs bilateral filtering of passed image.

src: Source image. Supports only (channels != 2 && depth() != CV_8S && depth() != CV_32S && depth() != CV_64F).

dst: Destination imagwe.

kernelSize: Kernel window size.

sigmaColor: Filter sigma in the color space.

sigmaSpatial: Filter sigma in the coordinate space.

borderMode: Border type. See borderInterpolate for details. BorderReflect101 , BorderReplicate , BorderConstant , BorderReflect and BorderWrap are supported for now.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/d0/d05/group__cudaimgproc.html#ga6abeaecdd4e7edc0bd1393a04f4f20bd

func BitwiseAnd added in v0.29.0

func BitwiseAnd(src1, src2 GpuMat, dst *GpuMat)

BitwiseAnd performs a per-element bitwise conjunction of two matrices (or of matrix and scalar).

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga78d7c1a013877abd4237fbfc4e13bd76

func BitwiseAndWithStream added in v0.29.0

func BitwiseAndWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

BitwiseAndWithStream performs a per-element bitwise conjunction of two matrices (or of matrix and scalar) using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga78d7c1a013877abd4237fbfc4e13bd76

func BitwiseNot added in v0.29.0

func BitwiseNot(src GpuMat, dst *GpuMat)

BitwiseNot performs a per-element bitwise inversion.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gae58159a2259ae1acc76b531c171cf06a

func BitwiseNotWithStream added in v0.29.0

func BitwiseNotWithStream(src GpuMat, dst *GpuMat, s Stream)

BitwiseNotWithStream performs a per-element bitwise inversion using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gae58159a2259ae1acc76b531c171cf06a

func BitwiseOr added in v0.29.0

func BitwiseOr(src1, src2 GpuMat, dst *GpuMat)

BitwiseOr performs a per-element bitwise disjunction of two matrices (or of matrix and scalar).

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gafd098ee3e51c68daa793999c1da3dfb7

func BitwiseOrWithStream added in v0.29.0

func BitwiseOrWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

BitwiseOrWithStream performs a per-element bitwise disjunction of two matrices (or of matrix and scalar) using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gafd098ee3e51c68daa793999c1da3dfb7

func BitwiseXor added in v0.29.0

func BitwiseXor(src1, src2 GpuMat, dst *GpuMat)

BitwiseXor performs a per-element exclusive or of two matrices (or of matrix and scalar).

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga3d95d4faafb099aacf18e8b915a4ad8d

func BitwiseXorWithStream added in v0.29.0

func BitwiseXorWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

BitwiseXorWithStream performs a per-element exclusive or of two matrices (or of matrix and scalar) using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga3d95d4faafb099aacf18e8b915a4ad8d

func BlendLinear added in v0.39.0

func BlendLinear(img1 GpuMat, img2 GpuMat, weights1 GpuMat, weights2 GpuMat, result *GpuMat)

BlendLinear Performs linear blending of two images.

img1: First image. Supports only CV_8U and CV_32F depth.

img2: Second image. Must have the same size and the same type as img1 .

weights1: Weights for first image. Must have tha same size as img1 . Supports only CV_32F type.

weights2: Weights for second image. Must have tha same size as img2 . Supports only CV_32F type.

result: Destination image.

For further details, please see: https://docs.opencv.org/4.x/d0/d05/group__cudaimgproc.html#ga4793607e5729bcc15b27ea33d9fe335e

func BlendLinearWithStream added in v0.39.0

func BlendLinearWithStream(img1 GpuMat, img2 GpuMat, weights1 GpuMat, weights2 GpuMat, result *GpuMat, s Stream)

BlendLinearWithStream Performs linear blending of two images.

img1: First image. Supports only CV_8U and CV_32F depth.

img2: Second image. Must have the same size and the same type as img1 .

weights1: Weights for first image. Must have tha same size as img1 . Supports only CV_32F type.

weights2: Weights for second image. Must have tha same size as img2 . Supports only CV_32F type.

result: Destination image.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/d0/d05/group__cudaimgproc.html#ga4793607e5729bcc15b27ea33d9fe335e

func BuildWarpAffineMaps added in v0.21.0

func BuildWarpAffineMaps(M GpuMat, inverse bool, sz image.Point, xmap, ymap *GpuMat)

BuildWarpAffineMaps builds transformation maps for affine transformation.

For further details. please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga63504590a96e4cc702d994281d17bc1c

func BuildWarpAffineMapsWithStream added in v0.29.0

func BuildWarpAffineMapsWithStream(M GpuMat, inverse bool, sz image.Point, xmap, ymap *GpuMat, s Stream)

BuildWarpAffineMapsWithStream builds transformation maps for affine transformation using a Stream for concurrency.

For further details. please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga63504590a96e4cc702d994281d17bc1c

func BuildWarpPerspectiveMaps added in v0.21.0

func BuildWarpPerspectiveMaps(M GpuMat, inverse bool, sz image.Point, xmap, ymap *GpuMat)

BuildWarpPerspectiveMaps builds transformation maps for perspective transformation.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga8d16e3003703bd3b89cca98c913ef864

func BuildWarpPerspectiveMapsWithStream added in v0.29.0

func BuildWarpPerspectiveMapsWithStream(M GpuMat, inverse bool, sz image.Point, xmap, ymap *GpuMat, s Stream)

BuildWarpPerspectiveMapsWithStream builds transformation maps for perspective transformation using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga8d16e3003703bd3b89cca98c913ef864

func CalcHist added in v0.39.0

func CalcHist(src GpuMat, dst *GpuMat)

CalcHist Calculates histogram for one channel 8-bit image.

src: Source image with CV_8UC1 type.

hist: Destination histogram with one row, 256 columns, and the CV_32SC1 type.

For further details, please see: https://docs.opencv.org/4.x/d8/d0e/group__cudaimgproc__hist.html#gaaf3944106890947020bb4522a7619c26

func CalcHistWithParams added in v0.39.0

func CalcHistWithParams(src GpuMat, mask GpuMat, dst *GpuMat, s Stream)

CalcHistWithParams Calculates histogram for one channel 8-bit image confined in given mask.

src: Source image with CV_8UC1 type.

mask: A mask image same size as src and of type CV_8UC1.

hist: Destination histogram with one row, 256 columns, and the CV_32SC1 type.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/d8/d0e/group__cudaimgproc__hist.html#ga2d55b444ce776c8bbd3087cc90c47f32

func CalcHistWithStream added in v0.39.0

func CalcHistWithStream(src GpuMat, dst *GpuMat, s Stream)

CalcHistWithStream Calculates histogram for one channel 8-bit image.

src: Source image with CV_8UC1 type.

hist: Destination histogram with one row, 256 columns, and the CV_32SC1 type.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/d8/d0e/group__cudaimgproc__hist.html#gaaf3944106890947020bb4522a7619c26

func CopyMakeBorder added in v0.38.0

func CopyMakeBorder(src GpuMat, dst *GpuMat, top, bottom, left, right int, borderType gocv.BorderType, value gocv.Scalar)

CopyMakeBorder forms a border around an image.

For further details, please see: https://docs.opencv.org/master/de/d09/group__cudaarithm__core.html#ga5368db7656eacf846b40089c98053a49

func CopyMakeBorderWithStream added in v0.38.0

func CopyMakeBorderWithStream(src GpuMat, dst *GpuMat, top, bottom, left, right int, borderType gocv.BorderType, value gocv.Scalar, s Stream)

CopyMakeBorderWithStream forms a border around an image using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/de/d09/group__cudaarithm__core.html#ga5368db7656eacf846b40089c98053a49

func CvtColor added in v0.23.0

func CvtColor(src GpuMat, dst *GpuMat, code gocv.ColorConversionCode)

CvtColor converts an image from one color space to another. It converts the src Mat image to the dst Mat using the code param containing the desired ColorConversionCode color space.

For further details, please see: https://docs.opencv.org/master/db/d8c/group__cudaimgproc__color.html#ga48d0f208181d5ca370d8ff6b62cbe826

func CvtColorWithStream added in v0.29.0

func CvtColorWithStream(src GpuMat, dst *GpuMat, code gocv.ColorConversionCode, s Stream)

CvtColorWithStream converts an image from one color space to another using a Stream for concurrency. It converts the src Mat image to the dst Mat using the code param containing the desired ColorConversionCode color space.

For further details, please see: https://docs.opencv.org/master/db/d8c/group__cudaimgproc__color.html#ga48d0f208181d5ca370d8ff6b62cbe826

func Demosaicing added in v0.38.0

func Demosaicing(src GpuMat, dst *GpuMat, code gocv.ColorConversionCode)

Demosaicing converts an image from Bayer pattern to RGB or grayscale. It converts the src Mat image to the dst Mat using the code param containing the desired ColorConversionCode color space.

For further details, please see: https://docs.opencv.org/master/db/d8c/group__cudaimgproc__color.html#ga7fb153572b573ebd2d7610fcbe64166e

func DemosaicingWithStream added in v0.38.0

func DemosaicingWithStream(src GpuMat, dst *GpuMat, code gocv.ColorConversionCode, s Stream)

DemosaicingWithStream converts an image from Bayer pattern to RGB or grayscale using a Stream for concurrency. It converts the src Mat image to the dst Mat using the code param containing the desired ColorConversionCode color space.

For further details, please see: https://docs.opencv.org/master/db/d8c/group__cudaimgproc__color.html#ga7fb153572b573ebd2d7610fcbe64166e

func DeviceSupports added in v0.38.0

func DeviceSupports(feature FeatureSet) bool

DeviceSupports checks whether current device supports the given feature.

For further details, please see: https://docs.opencv.org/4.x/d8/d40/group__cudacore__init.html#ga170b10cc9af4aa8cce8c0afdb4b1d08c

func Divide added in v0.29.0

func Divide(src1, src2 GpuMat, dst *GpuMat)

Divide computes a matrix-matrix or matrix-scalar division.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga124315aa226260841e25cc0b9ea99dc3

func DivideWithStream added in v0.29.0

func DivideWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

DivideWithStream computes a matrix-matrix or matrix-scalar division using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga124315aa226260841e25cc0b9ea99dc3

func EqualizeHist added in v0.39.0

func EqualizeHist(src GpuMat, dst *GpuMat)

EqualizeHist Equalizes the histogram of a grayscale image.

src: Source image with CV_8UC1 type.

dst: Destination image.

For further details, please see: https://docs.opencv.org/4.x/d8/d0e/group__cudaimgproc__hist.html#ga2384be74bd2feba7e6c46815513f0060

func EqualizeHistWithStream added in v0.39.0

func EqualizeHistWithStream(src GpuMat, dst *GpuMat, s Stream)

EqualizeHistWithStream Equalizes the histogram of a grayscale image.

src: Source image with CV_8UC1 type.

dst: Destination image.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/d8/d0e/group__cudaimgproc__hist.html#ga2384be74bd2feba7e6c46815513f0060

func EvenLevels added in v0.39.0

func EvenLevels(levels *GpuMat, nLevels int, lowerLevel int, upperLevel int)

EvenLevels Computes levels with even distribution.

levels: Destination array. levels has 1 row, nLevels columns, and the CV_32SC1 type.

nLevels: Number of computed levels. nLevels must be at least 2.

lowerLevel: Lower boundary value of the lowest level.

upperLevel: Upper boundary value of the greatest level.

For further details, please see: https://docs.opencv.org/4.x/d8/d0e/group__cudaimgproc__hist.html#ga2f2cbd21dc6d7367a7c4ee1a826f389dFor further details, please see:

func EvenLevelsWithStream added in v0.39.0

func EvenLevelsWithStream(levels *GpuMat, nLevels int, lowerLevel int, upperLevel int, s Stream)

EvenLevelsWithStream Computes levels with even distribution.

levels: Destination array. levels has 1 row, nLevels columns, and the CV_32SC1 type.

nLevels: Number of computed levels. nLevels must be at least 2.

lowerLevel: Lower boundary value of the lowest level.

upperLevel: Upper boundary value of the greatest level.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/d8/d0e/group__cudaimgproc__hist.html#ga2f2cbd21dc6d7367a7c4ee1a826f389dFor further details, please see:

func Exp added in v0.29.0

func Exp(src GpuMat, dst *GpuMat)

Exp computes an exponent of each matrix element.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac6e51541d3bb0a7a396128e4d5919b61

func ExpWithStream added in v0.29.0

func ExpWithStream(src GpuMat, dst *GpuMat, s Stream)

ExpWithStream computes an exponent of each matrix element using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac6e51541d3bb0a7a396128e4d5919b61

func Flip added in v0.28.0

func Flip(src GpuMat, dst *GpuMat, flipCode int)

Flip flips a 2D matrix around vertical, horizontal, or both axes.

For further details, please see: https://docs.opencv.org/master/de/d09/group__cudaarithm__core.html#ga4d0a3f2b46e8f0f1ec2b5ac178dcd871

func FlipWithStream added in v0.29.0

func FlipWithStream(src GpuMat, dst *GpuMat, flipCode int, stream Stream)

FlipWithStream flips a 2D matrix around vertical, horizontal, or both axes using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/de/d09/group__cudaarithm__core.html#ga4d0a3f2b46e8f0f1ec2b5ac178dcd871

func GammaCorrection added in v0.39.0

func GammaCorrection(src GpuMat, dst *GpuMat, forward bool)

GammaCorrection Routines for correcting image color gamma.

src: Source image (3- or 4-channel 8 bit).

dst: Destination image.

forward: true for forward gamma correction or false for inverse gamma correction.

For further details, please see: https://docs.opencv.org/4.x/db/d8c/group__cudaimgproc__color.html#gaf4195a8409c3b8fbfa37295c2b2c4729

func GammaCorrectionWithStream added in v0.39.0

func GammaCorrectionWithStream(src GpuMat, dst *GpuMat, forward bool, s Stream)

GammaCorrectionWithStream Routines for correcting image color gamma.

src: Source image (3- or 4-channel 8 bit).

dst: Destination image.

forward: true for forward gamma correction or false for inverse gamma correction.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/db/d8c/group__cudaimgproc__color.html#gaf4195a8409c3b8fbfa37295c2b2c4729

func GetCudaEnabledDeviceCount

func GetCudaEnabledDeviceCount() int

GetCudaEnabledDeviceCount returns the number of cuda enabled devices on the system

func GetDevice added in v0.29.0

func GetDevice() int

GetDevice returns the current device index.

For further details, please see: https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#ga6ded4ed8e4fc483a9863d31f34ec9c0e

func HistEven added in v0.39.0

func HistEven(src GpuMat, hist *GpuMat, histSize int, lowerLevel int, upperLevel int)

HistEven Calculates a histogram with evenly distributed bins.

src: Source image. CV_8U, CV_16U, or CV_16S depth and 1 or 4 channels are supported. For a four-channel image, all channels are processed separately.

hist: Destination histogram with one row, histSize columns, and the CV_32S type.

histSize: Size of the histogram.

lowerLevel: Lower boundary of lowest-level bin.

upperLevel: Upper boundary of highest-level bin.

For further details, please see: https://docs.opencv.org/4.x/d8/d0e/group__cudaimgproc__hist.html#gacd3b14279fb77a57a510cb8c89a1856f

func HistEvenWithStream added in v0.39.0

func HistEvenWithStream(src GpuMat, hist *GpuMat, histSize int, lowerLevel int, upperLevel int, s Stream)

HistEvenWithStream Calculates a histogram with evenly distributed bins.

src: Source image. CV_8U, CV_16U, or CV_16S depth and 1 or 4 channels are supported. For a four-channel image, all channels are processed separately.

hist: Destination histogram with one row, histSize columns, and the CV_32S type.

histSize: Size of the histogram.

lowerLevel: Lower boundary of lowest-level bin.

upperLevel: Upper boundary of highest-level bin.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/d8/d0e/group__cudaimgproc__hist.html#gacd3b14279fb77a57a510cb8c89a1856f

func HistRange added in v0.39.0

func HistRange(src GpuMat, hist *GpuMat, levels GpuMat)

HistRange Calculates a histogram with bins determined by the levels array.

src: Source image. CV_8U , CV_16U , or CV_16S depth and 1 or 4 channels are supported. For a four-channel image, all channels are processed separately.

hist: Destination histogram with one row, (levels.cols-1) columns, and the CV_32SC1 type.

levels: Number of levels in the histogram.

For further details, please see: https://docs.opencv.org/4.x/d8/d0e/group__cudaimgproc__hist.html#ga87819085c1059186d9cdeacd92cea783

func HistRangeWithStream added in v0.39.0

func HistRangeWithStream(src GpuMat, hist *GpuMat, levels GpuMat, s Stream)

HistRangeWithStream Calculates a histogram with bins determined by the levels array.

src: Source image. CV_8U , CV_16U , or CV_16S depth and 1 or 4 channels are supported. For a four-channel image, all channels are processed separately.

hist: Destination histogram with one row, (levels.cols-1) columns, and the CV_32SC1 type.

levels: Number of levels in the histogram.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/d8/d0e/group__cudaimgproc__hist.html#ga87819085c1059186d9cdeacd92cea783

func Log added in v0.29.0

func Log(src GpuMat, dst *GpuMat)

Log computes natural logarithm of absolute value of each matrix element.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac6e51541d3bb0a7a396128e4d5919b61

func LogWithStream added in v0.29.0

func LogWithStream(src GpuMat, dst *GpuMat, s Stream)

LogWithStream computes natural logarithm of absolute value of each matrix element using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gac6e51541d3bb0a7a396128e4d5919b61

func Max added in v0.29.0

func Max(src1, src2 GpuMat, dst *GpuMat)

Max computes the per-element maximum of two matrices (or a matrix and a scalar).

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gadb5dd3d870f10c0866035755b929b1e7

func MaxWithStream added in v0.29.0

func MaxWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

MaxWithStream computes the per-element maximum of two matrices (or a matrix and a scalar). using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#gadb5dd3d870f10c0866035755b929b1e7

func MeanShiftFiltering added in v0.39.0

func MeanShiftFiltering(src GpuMat, dst *GpuMat, sp int, sr int, criteria gocv.TermCriteria)

MeanShiftFiltering Performs mean-shift filtering for each point of the source image. It maps each point of the source image into another point. As a result, you have a new color and new position of each point.

src: Source image. Only CV_8UC4 images are supported for now.

dst: Destination image containing the color of mapped points. It has the same size and type as src .

sp: Spatial window radius.

sr: Color window radius.

criteria: Termination criteria. See TermCriteria.

For further details, please see: https://docs.opencv.org/4.x/d0/d05/group__cudaimgproc.html#gae13b3035bc6df0e512d876dbb8c00555

func MeanShiftFilteringWithStream added in v0.39.0

func MeanShiftFilteringWithStream(src GpuMat, dst *GpuMat, sp int, sr int, criteria gocv.TermCriteria, s Stream)

MeanShiftFilteringWithStream Performs mean-shift filtering for each point of the source image. It maps each point of the source image into another point. As a result, you have a new color and new position of each point.

src: Source image. Only CV_8UC4 images are supported for now.

dst: Destination image containing the color of mapped points. It has the same size and type as src .

sp: Spatial window radius.

sr: Color window radius.

criteria: Termination criteria. See TermCriteria.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/d0/d05/group__cudaimgproc.html#gae13b3035bc6df0e512d876dbb8c00555

func MeanShiftProc added in v0.39.0

func MeanShiftProc(src GpuMat, dstr *GpuMat, dstsp *GpuMat, sp int, sr int, criteria gocv.TermCriteria)

MeanShiftProc Performs a mean-shift procedure and stores information about processed points (their colors and positions) in two images.

src: Source image. Only CV_8UC4 images are supported for now.

dstr: Destination image containing the color of mapped points. The size and type is the same as src .

dstsp: Destination image containing the position of mapped points. The size is the same as src size. The type is CV_16SC2 .

sp: Spatial window radius.

sr: Color window radius.

criteria: Termination criteria. See TermCriteria.

For further details, please see: https://docs.opencv.org/4.x/d0/d05/group__cudaimgproc.html#ga6039dc8ecbe2f912bc83fcc9b3bcca39

func MeanShiftProcWithStream added in v0.39.0

func MeanShiftProcWithStream(src GpuMat, dstr *GpuMat, dstsp *GpuMat, sp int, sr int, criteria gocv.TermCriteria, s Stream)

MeanShiftProcWithStream Performs a mean-shift procedure and stores information about processed points (their colors and positions) in two images.

src: Source image. Only CV_8UC4 images are supported for now.

dstr: Destination image containing the color of mapped points. The size and type is the same as src .

dstsp: Destination image containing the position of mapped points. The size is the same as src size. The type is CV_16SC2 .

sp: Spatial window radius.

sr: Color window radius.

criteria: Termination criteria. See TermCriteria.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/d0/d05/group__cudaimgproc.html#ga6039dc8ecbe2f912bc83fcc9b3bcca39

func MeanShiftSegmentation added in v0.39.0

func MeanShiftSegmentation(src GpuMat, dst *GpuMat, sp int, sr int, minSize int, criteria gocv.TermCriteria)

MeanShiftSegmentation Performs a mean-shift segmentation of the source image and eliminates small segments.

src: Source image. Only CV_8UC4 images are supported for now.

dst: Segmented image with the same size and type as src.

sp: Spatial window radius.

sr: Color window radius.

minsize: Minimum segment size. Smaller segments are merged.

criteria: Termination criteria. See TermCriteria.

For further details, please see: https://docs.opencv.org/4.x/d0/d05/group__cudaimgproc.html#ga70ed80533a448829dc48cf22b1845c16

func MeanShiftSegmentationWithStream added in v0.39.0

func MeanShiftSegmentationWithStream(src GpuMat, dst *GpuMat, sp int, sr int, minSize int, criteria gocv.TermCriteria, s Stream)

MeanShiftSegmentationWithStream Performs a mean-shift segmentation of the source image and eliminates small segments.

src: Source image. Only CV_8UC4 images are supported for now.

dst: Segmented image with the same size and type as src.

sp: Spatial window radius.

sr: Color window radius.

minsize: Minimum segment size. Smaller segments are merged.

criteria: Termination criteria. See TermCriteria.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/d0/d05/group__cudaimgproc.html#ga70ed80533a448829dc48cf22b1845c16

func Merge added in v0.38.0

func Merge(mv []GpuMat, dst *GpuMat)

Merge makes a multi-channel matrix out of several single-channel matrices.

For further details, please see: https://docs.opencv.org/4.x/de/d09/group__cudaarithm__core.html#gafce19eb0fcad23f67ab45d544992436d

func MergeWithStream added in v0.38.0

func MergeWithStream(mv []GpuMat, dst *GpuMat, s Stream)

MergeWithStream makes a multi-channel matrix out of several single-channel matrices using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/4.x/de/d09/group__cudaarithm__core.html#gafce19eb0fcad23f67ab45d544992436d

func Min added in v0.29.0

func Min(src1, src2 GpuMat, dst *GpuMat)

Min computes the per-element minimum of two matrices (or a matrix and a scalar).

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga74f0b05a65b3d949c237abb5e6c60867

func MinWithStream added in v0.29.0

func MinWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

MinWithStream computes the per-element minimum of two matrices (or a matrix and a scalar). using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga74f0b05a65b3d949c237abb5e6c60867

func Multiply added in v0.29.0

func Multiply(src1, src2 GpuMat, dst *GpuMat)

Multiply computes a matrix-matrix or matrix-scalar multiplication.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga497cc0615bf717e1e615143b56f00591

func MultiplyWithStream added in v0.36.0

func MultiplyWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

MultiplyWithStream computes a matrix-matrix or matrix-scalar multiplication.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga497cc0615bf717e1e615143b56f00591

func PrintCudaDeviceInfo

func PrintCudaDeviceInfo(device int)

PrintCudaDeviceInfo prints extensive cuda device information

func PrintShortCudaDeviceInfo

func PrintShortCudaDeviceInfo(device int)

PrintShortCudaDeviceInfo prints a small amount of cuda device information

func PyrDown added in v0.21.0

func PyrDown(src GpuMat, dst *GpuMat)

PyrDown blurs an image and downsamples it.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga9c8456de9792d96431e065f407c7a91b

func PyrDownWithStream added in v0.29.0

func PyrDownWithStream(src GpuMat, dst *GpuMat, s Stream)

PyrDownWithStream blurs an image and downsamples it using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga9c8456de9792d96431e065f407c7a91b

func PyrUp added in v0.21.0

func PyrUp(src GpuMat, dst *GpuMat)

PyrUp upsamples an image and then blurs it.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga2048da0dfdb9e4a726232c5cef7e5747

func PyrUpWithStream added in v0.29.0

func PyrUpWithStream(src GpuMat, dst *GpuMat, s Stream)

PyrUpWithStream upsamples an image and then blurs it using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga2048da0dfdb9e4a726232c5cef7e5747

func Remap added in v0.21.0

func Remap(src GpuMat, dst, xmap, ymap *GpuMat, interpolation InterpolationFlags, borderMode BorderType, borderValue color.RGBA)

Remap applies a generic geometrical transformation to an image.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga0ece6c76e8efa3171adb8432d842beb0

func RemapWithStream added in v0.29.0

func RemapWithStream(src GpuMat, dst, xmap, ymap *GpuMat, interpolation InterpolationFlags, borderMode BorderType, borderValue color.RGBA, s Stream)

RemapWithStream applies a generic geometrical transformation to an image using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga0ece6c76e8efa3171adb8432d842beb0

func ResetDevice added in v0.29.0

func ResetDevice()

ResetDevice explicitly destroys and cleans up all resources associated with the current device in the current process.

Any subsequent API call to this device will reinitialize the device.

For further details, please see: https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#ga6153b6f461101374e655a54fc77e725e

func Resize added in v0.21.0

func Resize(src GpuMat, dst *GpuMat, sz image.Point, fx, fy float64, interp InterpolationFlags)

Resize resizes an image.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga4f5fa0770d1c9efbadb9be1b92a6452a

func ResizeWithStream added in v0.29.0

func ResizeWithStream(src GpuMat, dst *GpuMat, sz image.Point, fx, fy float64, interp InterpolationFlags, s Stream)

ResizeWithStream resizes an image using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga4f5fa0770d1c9efbadb9be1b92a6452a

func Rotate added in v0.21.0

func Rotate(src GpuMat, dst *GpuMat, sz image.Point, angle, xShift, yShift float64, interp InterpolationFlags)

Rotate rotates an image around the origin (0,0) and then shifts it.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga55d958eceb0f871e04b1be0adc6ef1b5

func RotateWithStream added in v0.29.0

func RotateWithStream(src GpuMat, dst *GpuMat, sz image.Point, angle, xShift, yShift float64, interp InterpolationFlags, s Stream)

RotateWithStream rotates an image around the origin (0,0) and then shifts it using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga55d958eceb0f871e04b1be0adc6ef1b5

func SetDevice added in v0.29.0

func SetDevice(device int)

SetDevice sets a device and initializes it for the current thread.

For further details, please see: https://docs.opencv.org/master/d8/d40/group__cudacore__init.html#gaefa34186b185de47851836dba537828b

func Split added in v0.39.0

func Split(src GpuMat, dst []GpuMat)

Split Copies each plane of a multi-channel matrix into an array.

src: Source matrix.

dst: Destination array/vector of single-channel matrices.

For further details, please see: https://docs.opencv.org/4.x/de/d09/group__cudaarithm__core.html#gaf1714e7a9ea0719c29bf378beaf5f99d

func SplitWithStream added in v0.39.0

func SplitWithStream(src GpuMat, dst []GpuMat, s Stream)

SplitWithStream Copies each plane of a multi-channel matrix into an array.

src: Source matrix.

dst: Destination array/vector of single-channel matrices.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/de/d09/group__cudaarithm__core.html#gaf1714e7a9ea0719c29bf378beaf5f99d

func Sqr added in v0.29.0

func Sqr(src GpuMat, dst *GpuMat)

Sqr computes a square value of each matrix element.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga8aae233da90ce0ffe309ab8004342acb

func SqrWithStream added in v0.29.0

func SqrWithStream(src GpuMat, dst *GpuMat, s Stream)

SqrWithStream computes a square value of each matrix element using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga8aae233da90ce0ffe309ab8004342acb

func Sqrt added in v0.29.0

func Sqrt(src GpuMat, dst *GpuMat)

Sqrt computes a square root of each matrix element.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga09303680cb1a5521a922b6d392028d8c

func SqrtWithStream added in v0.29.0

func SqrtWithStream(src GpuMat, dst *GpuMat, s Stream)

SqrtWithStream computes a square root of each matrix element. using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga09303680cb1a5521a922b6d392028d8c

func Subtract added in v0.29.0

func Subtract(src1, src2 GpuMat, dst *GpuMat)

Subtract computes a matrix-matrix or matrix-scalar difference.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga6eab60fc250059e2fda79c5636bd067f

func SubtractWithStream added in v0.29.0

func SubtractWithStream(src1, src2 GpuMat, dst *GpuMat, s Stream)

SubtractWithStream computes a matrix-matrix or matrix-scalar difference using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga6eab60fc250059e2fda79c5636bd067f

func SwapChannels added in v0.39.0

func SwapChannels(image *GpuMat, dstOrder []int)

SwapChannels Exchanges the color channels of an image in-place.

image: Source image. Supports only CV_8UC4 type.

dstOrder: Integer array describing how channel values are permutated. The n-th entry of the array contains the number of the channel that is stored in the n-th channel of the output image. E.g. Given an RGBA image, aDstOrder = [3,2,1,0] converts this to ABGR channel order.

supports arbitrary permutations of the original channels, including replication.

For further details, please see: https://docs.opencv.org/4.x/db/d8c/group__cudaimgproc__color.html#ga75a29cc4a97cde0d43ea066b01de927e

func SwapChannelsWithStream added in v0.39.0

func SwapChannelsWithStream(image *GpuMat, dstOrder []int, s Stream)

SwapChannelsWithStream Exchanges the color channels of an image in-place.

image: Source image. Supports only CV_8UC4 type.

dstOrder: Integer array describing how channel values are permutated. The n-th entry of the array contains the number of the channel that is stored in the n-th channel of the output image. E.g. Given an RGBA image, aDstOrder = [3,2,1,0] converts this to ABGR channel order.

stream: Stream for the asynchronous version.

supports arbitrary permutations of the original channels, including replication.

For further details, please see: https://docs.opencv.org/4.x/db/d8c/group__cudaimgproc__color.html#ga75a29cc4a97cde0d43ea066b01de927e

func Threshold added in v0.23.0

func Threshold(src GpuMat, dst *GpuMat, thresh, maxval float64, typ gocv.ThresholdType)

Threshold applies a fixed-level threshold to each array element.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga40f1c94ae9a9456df3cad48e3cb008e1

func ThresholdWithStream added in v0.29.0

func ThresholdWithStream(src GpuMat, dst *GpuMat, thresh, maxval float64, typ gocv.ThresholdType, s Stream)

ThresholdWithStream applies a fixed-level threshold to each array element using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d8/d34/group__cudaarithm__elem.html#ga40f1c94ae9a9456df3cad48e3cb008e1

func Transpose added in v0.38.0

func Transpose(src GpuMat, dst *GpuMat)

Transpose transposes a matrix.

For further details, please see: https://docs.opencv.org/4.x/de/d09/group__cudaarithm__core.html#ga327b71c3cb811a904ccf5fba37fc29f2

func TransposeWithStream added in v0.38.0

func TransposeWithStream(src GpuMat, dst *GpuMat, s Stream)

Transpose transposes a matrix using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/4.x/de/d09/group__cudaarithm__core.html#ga327b71c3cb811a904ccf5fba37fc29f2

func WarpAffine added in v0.21.0

func WarpAffine(src GpuMat, dst *GpuMat, m GpuMat, sz image.Point, flags InterpolationFlags, borderType BorderType, borderValue color.RGBA)

WarpAffine applies an affine transformation to an image. For more parameters please check WarpAffineWithParams

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga9e8dd9e73b96bdc8e27d85c0e83f1130

func WarpAffineWithStream added in v0.29.0

func WarpAffineWithStream(src GpuMat, dst *GpuMat, m GpuMat, sz image.Point, flags InterpolationFlags, borderType BorderType, borderValue color.RGBA, s Stream)

WarpAffineWithStream applies an affine transformation to an image using a Stream for concurrency.

For more parameters please check WarpAffineWithParams

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga9e8dd9e73b96bdc8e27d85c0e83f1130

func WarpPerspective added in v0.21.0

func WarpPerspective(src GpuMat, dst *GpuMat, m GpuMat, sz image.Point, flags InterpolationFlags, borderType BorderType, borderValue color.RGBA)

WarpPerspective applies a perspective transformation to an image.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga7a6cf95065536712de6b155f3440ccff

func WarpPerspectiveWithStream added in v0.29.0

func WarpPerspectiveWithStream(src GpuMat, dst *GpuMat, m GpuMat, sz image.Point, flags InterpolationFlags, borderType BorderType, borderValue color.RGBA, s Stream)

WarpPerspectiveWithStream applies a perspective transformation to an image using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/db/d29/group__cudawarping.html#ga7a6cf95065536712de6b155f3440ccff

Types

type AlphaCompTypes added in v0.39.0

type AlphaCompTypes int
const (
	AlphaCompTypeOver AlphaCompTypes = iota
	AlphaCompTypeIn
	AlphaCompTypeOut
	AlphaCompTypeAtop
	AlphaCompTypeXor
	AlphaCompTypePlus
	AlphaCompTypeOverPremul
	AlphaCompTypeInPremul
	AlphaCompTypeOutPremul
	AlphaCompTypeAtopPremul
	AlphaCompTypeXorPremul
	AlphaCompTypePlusPremul
	AlphaCompTypePremul
)

type BackgroundSubtractorMOG

type BackgroundSubtractorMOG struct {
	// contains filtered or unexported fields
}

BackgroundSubtractorMOG is a wrapper around the cv::cuda::BackgroundSubtractorMOG.

func NewBackgroundSubtractorMOG

func NewBackgroundSubtractorMOG() BackgroundSubtractorMOG

NewBackgroundSubtractorMOG returns a new BackgroundSubtractor algorithm of type MOG. MOG is a Gaussian Mixture-based Background/Foreground Segmentation Algorithm.

For further details, please see: https://docs.opencv.org/master/dc/d3d/cudabgsegm_8hpp.html

func (*BackgroundSubtractorMOG) Apply

func (b *BackgroundSubtractorMOG) Apply(src GpuMat, dst *GpuMat)

Apply computes a foreground mask using the current BackgroundSubtractorMOG.

For further details, please see: https://docs.opencv.org/master/d1/dfe/classcv_1_1cuda_1_1BackgroundSubtractorMOG.html#a8f52d2f7abd1c77c84243efc53972cbf

func (*BackgroundSubtractorMOG) ApplyWithStream added in v0.29.0

func (b *BackgroundSubtractorMOG) ApplyWithStream(src GpuMat, dst *GpuMat, s Stream)

ApplyWithStream computes a foreground mask using the current BackgroundSubtractorMOG using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d1/dfe/classcv_1_1cuda_1_1BackgroundSubtractorMOG.html#a8f52d2f7abd1c77c84243efc53972cbf

func (*BackgroundSubtractorMOG) Close

func (b *BackgroundSubtractorMOG) Close() error

Close BackgroundSubtractorMOG.

type BackgroundSubtractorMOG2

type BackgroundSubtractorMOG2 struct {
	// contains filtered or unexported fields
}

BackgroundSubtractorMOG2 is a wrapper around the cv::cuda::BackgroundSubtractorMOG2.

func NewBackgroundSubtractorMOG2

func NewBackgroundSubtractorMOG2() BackgroundSubtractorMOG2

NewBackgroundSubtractorMOG2 returns a new BackgroundSubtractor algorithm of type MOG2. MOG2 is a Gaussian Mixture-based Background/Foreground Segmentation Algorithm.

For further details, please see: https://docs.opencv.org/master/dc/d3d/cudabgsegm_8hpp.html

func (*BackgroundSubtractorMOG2) Apply

func (b *BackgroundSubtractorMOG2) Apply(src GpuMat, dst *GpuMat)

Apply computes a foreground mask using the current BackgroundSubtractorMOG2.

For further details, please see: https://docs.opencv.org/master/df/d23/classcv_1_1cuda_1_1BackgroundSubtractorMOG2.html#a92408f07bf1268c1b778cb186b3113b0

func (*BackgroundSubtractorMOG2) ApplyWithStream added in v0.29.0

func (b *BackgroundSubtractorMOG2) ApplyWithStream(src GpuMat, dst *GpuMat, s Stream)

ApplyWithStream computes a foreground mask using the current BackgroundSubtractorMOG2 using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/df/d23/classcv_1_1cuda_1_1BackgroundSubtractorMOG2.html#a92408f07bf1268c1b778cb186b3113b0

func (*BackgroundSubtractorMOG2) Close

func (b *BackgroundSubtractorMOG2) Close() error

Close BackgroundSubtractorMOG2.

type BorderType added in v0.21.0

type BorderType int

BorderType type of border.

const (
	// BorderConstant border type
	BorderConstant BorderType = 0

	// BorderReplicate border type
	BorderReplicate BorderType = 1

	// BorderReflect border type
	BorderReflect BorderType = 2

	// BorderWrap border type
	BorderWrap BorderType = 3

	// BorderReflect101 border type
	BorderReflect101 BorderType = 4

	// BorderTransparent border type
	BorderTransparent BorderType = 5

	// BorderDefault border type
	BorderDefault = BorderReflect101

	// BorderIsolated border type
	BorderIsolated BorderType = 16
)

func (BorderType) String added in v0.22.0

func (c BorderType) String() string

type CannyEdgeDetector added in v0.23.0

type CannyEdgeDetector struct {
	// contains filtered or unexported fields
}

CannyEdgeDetector

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html

func NewCannyEdgeDetector added in v0.27.0

func NewCannyEdgeDetector(lowThresh, highThresh float64) CannyEdgeDetector

NewCannyEdgeDetector returns a new CannyEdgeDetector.

func NewCannyEdgeDetectorWithParams added in v0.27.0

func NewCannyEdgeDetectorWithParams(lowThresh, highThresh float64, appertureSize int, L2gradient bool) CannyEdgeDetector

NewCannyEdgeDetectorWithParams returns a new CannyEdgeDetector.

func (*CannyEdgeDetector) Close added in v0.27.0

func (h *CannyEdgeDetector) Close() error

Close CannyEdgeDetector

func (*CannyEdgeDetector) Detect added in v0.23.0

func (h *CannyEdgeDetector) Detect(img GpuMat, dst *GpuMat)

Detect finds edges in an image using the Canny algorithm.

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a6438cf8453f2dfd6703ceb50056de309

func (*CannyEdgeDetector) DetectWithStream added in v0.29.0

func (h *CannyEdgeDetector) DetectWithStream(img GpuMat, dst *GpuMat, s Stream)

DetectWithStream finds edges in an image using the Canny algorithm using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a6438cf8453f2dfd6703ceb50056de309

func (*CannyEdgeDetector) GetAppertureSize added in v0.23.0

func (h *CannyEdgeDetector) GetAppertureSize() int

GetAppertureSize

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a19c2963ff255b0c18387594a704439d3

func (*CannyEdgeDetector) GetHighThreshold added in v0.23.0

func (h *CannyEdgeDetector) GetHighThreshold() float64

GetHighThreshold

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a8366296a57059487dcfd7b30f4a9e3b1

func (*CannyEdgeDetector) GetL2Gradient added in v0.23.0

func (h *CannyEdgeDetector) GetL2Gradient() bool

GetL2Gradient

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a8fe4ed887c226b12ab44084789b4c6dd

func (*CannyEdgeDetector) GetLowThreshold added in v0.23.0

func (h *CannyEdgeDetector) GetLowThreshold() float64

GetLowThreshold

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#aaf5a8944a8ac11093cf7a093b45cd3a8

func (*CannyEdgeDetector) SetAppertureSize added in v0.23.0

func (h *CannyEdgeDetector) SetAppertureSize(appertureSize int)

SetAppertureSize

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#aac7d0602338e1a2a783811a929967714

func (*CannyEdgeDetector) SetHighThreshold added in v0.23.0

func (h *CannyEdgeDetector) SetHighThreshold(highThresh float64)

SetHighThreshold

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a63d352fe7f3bad640e63f4e394619235

func (*CannyEdgeDetector) SetL2Gradient added in v0.23.0

func (h *CannyEdgeDetector) SetL2Gradient(L2gradient bool)

SetL2Gradient

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#ac2e8a675cc30cb3e621ac684e22f89d1

func (*CannyEdgeDetector) SetLowThreshold added in v0.23.0

func (h *CannyEdgeDetector) SetLowThreshold(lowThresh float64)

SetLowThreshold

For further details, please see: https://docs.opencv.org/master/d0/d43/classcv_1_1cuda_1_1CannyEdgeDetector.html#a6bdc1479c1557288a69c6314c61d1548

type CascadeClassifier added in v0.23.0

type CascadeClassifier struct {
	// contains filtered or unexported fields
}

CascadeClassifier_GPU is a cascade classifier class for object detection.

For further details, please see: https://docs.opencv.org/master/d9/d80/classcv_1_1cuda_1_1CascadeClassifier.html

func NewCascadeClassifier added in v0.23.0

func NewCascadeClassifier(name string) CascadeClassifier

NewCascadeClassifier_GPU returns a new CascadeClassifier.

func (*CascadeClassifier) DetectMultiScale added in v0.23.0

func (c *CascadeClassifier) DetectMultiScale(img GpuMat) []image.Rectangle

DetectMultiScale detects objects of different sizes in the input Mat image. The detected objects are returned as a slice of image.Rectangle structs.

For further details, please see: https://docs.opencv.org/master/d9/d80/classcv_1_1cuda_1_1CascadeClassifier.html#a182656b878046eb3f0e9c0f0ee327f08

type DescriptorStorageFormat added in v0.23.0

type DescriptorStorageFormat int
const (
	DESCR_FORMAT_COL_BY_COL DescriptorStorageFormat = 0

	DESCR_FORMAT_COL_BY_ROW DescriptorStorageFormat = 1
)

type FeatureSet added in v0.38.0

type FeatureSet int

type GaussianFilter added in v0.27.0

type GaussianFilter struct {
	// contains filtered or unexported fields
}

GaussianFilter

For further details, please see: https://docs.opencv.org/master/dc/d66/group__cudafilters.html#gaa4df286369114cfd4b144ae211f6a6c8

func NewGaussianFilter added in v0.27.0

func NewGaussianFilter(srcType gocv.MatType, dstType gocv.MatType, ksize image.Point, sigma1 float64) GaussianFilter

NewGaussianFilter returns a new GaussianFilter.

func (*GaussianFilter) Apply added in v0.27.0

func (gf *GaussianFilter) Apply(img GpuMat, dst *GpuMat)

Apply applies the Gaussian filter.

For further details, please see: https://docs.opencv.org/master/dc/d2b/classcv_1_1cuda_1_1Filter.html#a20b58d13871027473b4c39cc698cf80f

func (*GaussianFilter) ApplyWithStream added in v0.29.0

func (gf *GaussianFilter) ApplyWithStream(img GpuMat, dst *GpuMat, s Stream)

ApplyWithStream applies the Gaussian filter using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/dc/d2b/classcv_1_1cuda_1_1Filter.html#a20b58d13871027473b4c39cc698cf80f

func (*GaussianFilter) Close added in v0.27.0

func (gf *GaussianFilter) Close() error

Close GaussianFilter

type GpuMat

type GpuMat struct {
	// contains filtered or unexported fields
}

GpuMat is the GPU version of a Mat

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html

func NewGpuMat

func NewGpuMat() GpuMat

NewGpuMat returns a new empty GpuMat

func NewGpuMatFromMat added in v0.21.0

func NewGpuMatFromMat(mat gocv.Mat) GpuMat

NewGpuMatFromMat returns a new GpuMat based on a Mat

func NewGpuMatWithSize added in v0.29.0

func NewGpuMatWithSize(rows int, cols int, mt gocv.MatType) GpuMat

NewGpuMatWithSize returns a new GpuMat with a specific size and type.

func (*GpuMat) Channels added in v0.28.0

func (m *GpuMat) Channels() int

Channels returns the number of channels for this GpuMat.

func (*GpuMat) Close

func (g *GpuMat) Close() error

Close the GpuMat object

func (*GpuMat) Closed added in v0.38.0

func (g *GpuMat) Closed() bool

Closed determines if the GpuMat is closed or not.

func (*GpuMat) Cols added in v0.28.0

func (m *GpuMat) Cols() int

Cols returns the number of columns for this GpuMat.

func (*GpuMat) ConvertFp16 added in v0.38.0

func (m *GpuMat) ConvertFp16(dst *GpuMat)

ConvertFp16 converts an array to half precision floating number.

For further details, please see: https://docs.opencv.org/4.x/d8/d40/group__cudacore__init.html#gaa1c52258763197958eb9e6681917f723

func (*GpuMat) ConvertTo added in v0.23.0

func (m *GpuMat) ConvertTo(dst *GpuMat, mt gocv.MatType)

ConvertTo converts GpuMat into destination GpuMat.

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a3a1b076e54d8a8503014e27a5440d98a

func (*GpuMat) ConvertToWithStream added in v0.29.0

func (m *GpuMat) ConvertToWithStream(dst *GpuMat, mt gocv.MatType, s Stream)

ConvertToWithStream converts GpuMat into destination GpuMat.

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a3a1b076e54d8a8503014e27a5440d98a

func (*GpuMat) CopyTo added in v0.29.0

func (m *GpuMat) CopyTo(dst *GpuMat)

CopyTo copies GpuMat into destination GpuMat.

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a948c562ee340c0678a44884bde1f5a3e

func (*GpuMat) CopyToWithStream added in v0.29.0

func (m *GpuMat) CopyToWithStream(dst *GpuMat, s Stream)

CopyToWithStream copies GpuMat into destination GpuMat.

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a948c562ee340c0678a44884bde1f5a3e

func (*GpuMat) Download

func (g *GpuMat) Download(dst *gocv.Mat)

Download performs data download from GpuMat (Blocking call)

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a027e74e4364ddfd9687b58aa5db8d4e8

func (*GpuMat) DownloadWithStream added in v0.29.0

func (g *GpuMat) DownloadWithStream(dst *gocv.Mat, s Stream)

DownloadWithStream performs data download from GpuMat (non-blocking call)

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a027e74e4364ddfd9687b58aa5db8d4e8

func (*GpuMat) Empty

func (g *GpuMat) Empty() bool

Empty returns true if GpuMat is empty

func (*GpuMat) Reshape added in v0.29.0

func (m *GpuMat) Reshape(cn int, rows int) GpuMat

Reshape creates a new GpuMat with the same data but with a different number of channels and/or different number of rows.

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a408e22ed824d1ddf59f58bda895017a8

func (*GpuMat) Rows added in v0.28.0

func (m *GpuMat) Rows() int

Rows returns the number of rows for this GpuMat.

func (*GpuMat) Type added in v0.28.0

func (m *GpuMat) Type() gocv.MatType

Type returns the type for this GpuMat.

func (*GpuMat) Upload

func (g *GpuMat) Upload(data gocv.Mat)

Upload performs data upload to GpuMat (Blocking call)

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a00ef5bfe18d14623dcf578a35e40a46b

func (*GpuMat) UploadWithStream added in v0.29.0

func (g *GpuMat) UploadWithStream(data gocv.Mat, s Stream)

UploadWithStream performs data upload to GpuMat (non-blocking call)

For further details, please see: https://docs.opencv.org/master/d0/d60/classcv_1_1cuda_1_1GpuMat.html#a00ef5bfe18d14623dcf578a35e40a46b

type HOG added in v0.23.0

type HOG struct {
	// contains filtered or unexported fields
}

HOG is a Histogram Of Gradiants (HOG) for object detection.

For further details, please see: https://docs.opencv.org/master/d5/d33/structcv_1_1HOG.html#a723b95b709cfd3f95cf9e616de988fc8

func CreateHOG added in v0.23.0

func CreateHOG() HOG

NewHOG returns a new HOG.

func CreateHOGWithParams added in v0.23.0

func CreateHOGWithParams(winSize, blockSize, blockStride, cellSize image.Point, nbins int) HOG

func (*HOG) Compute added in v0.23.0

func (h *HOG) Compute(img GpuMat) GpuMat

Compute returns block descriptors computed for the whole image.

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#ab4287267081959ec77c01269dbfcd373

func (*HOG) DetectMultiScale added in v0.23.0

func (h *HOG) DetectMultiScale(img GpuMat) []image.Rectangle

DetectMultiScale detects objects in the input Mat image. The detected objects are returned as a slice of image.Rectangle structs.

For further details, please see: https://docs.opencv.org/master/d5/d33/structcv_1_1HOG.html#a660e5cd036fd5ddf0f5767b352acd948

func (*HOG) GetBlockHistogramSize added in v0.23.0

func (h *HOG) GetBlockHistogramSize() int

GetBlockHistogramSize returns the block histogram size.

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a016f9ffced8b2f4b20bdd06a775017d1

func (*HOG) GetDefaultPeopleDetector added in v0.23.0

func (h *HOG) GetDefaultPeopleDetector() C.Mat

GetDefaultPeopleDetector returns a new Mat with the HOG DefaultPeopleDetector.

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a016f9ffced8b2f4b20bdd06a775017d1

func (*HOG) GetDescriptorFormat added in v0.23.0

func (h *HOG) GetDescriptorFormat() DescriptorStorageFormat

GetDescriptorFormat

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#adad29ed960a953aa13dc59c410683620

func (*HOG) GetDescriptorSize added in v0.23.0

func (h *HOG) GetDescriptorSize() int

GetDescriptorFormat returns the number of coefficients required for the classification.

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#adb8c714cba1a025b8869d5a0e152f824

func (*HOG) GetGammaCorrection added in v0.23.0

func (h *HOG) GetGammaCorrection() bool

GetGammaCorrection

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a7032eed27cf7a004b727a6e522c2404e

func (*HOG) GetGroupThreshold added in v0.23.0

func (h *HOG) GetGroupThreshold() int

GetGroupThreshold

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a7032eed27cf7a004b727a6e522c2404e

func (*HOG) GetHitThreshold added in v0.23.0

func (h *HOG) GetHitThreshold() float64

GetHitThreshold

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#ae0de149980ea47fbd39b7766df565b27

func (*HOG) GetL2HysThreshold added in v0.23.0

func (h *HOG) GetL2HysThreshold() float64

GetL2HysThreshold

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a6853c9a66889fed996678f7972df9660

func (*HOG) GetNumLevels added in v0.23.0

func (h *HOG) GetNumLevels() int

GetNumLevels

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a15238eb6f52a1ddeedd015773c46efd8

func (*HOG) GetScaleFactor added in v0.23.0

func (h *HOG) GetScaleFactor() float64

GetScaleFactor

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a89c59564625bb2c691af8c2cf49aab9e

func (*HOG) GetWinSigma added in v0.23.0

func (h *HOG) GetWinSigma() float64

GetWinSigma

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a22d03fa05b251b4f19cfa1fab36e754e

func (*HOG) GetWinStride added in v0.23.0

func (h *HOG) GetWinStride() image.Point

GetWinStride

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a6c63504790b51963ca33496a0b039b48

func (*HOG) SetDescriptorFormat added in v0.23.0

func (h *HOG) SetDescriptorFormat(descrFormat DescriptorStorageFormat)

SetDescriptorFormat

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a6e3e1075a567268f2dfb2151b1c99cb6

func (*HOG) SetGammaCorrection added in v0.23.0

func (h *HOG) SetGammaCorrection(gammaCorrection bool)

SetGammaCorrection

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a0eb2f1ecf59ccc599bffac3a0a55562f

func (*HOG) SetGroupThreshold added in v0.23.0

func (h *HOG) SetGroupThreshold(groupThreshold int)

SetGroupThreshold

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#adad9af4e4ed0e0a045a70cd44520eefd

func (*HOG) SetHitThreshold added in v0.23.0

func (h *HOG) SetHitThreshold(hitThreshold float64)

SetHitThreshold

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a8b623393c11d18b89fa373269b97aea4

func (*HOG) SetL2HysThreshold added in v0.23.0

func (h *HOG) SetL2HysThreshold(thresholdL2hys float64)

SetL2HysThreshold

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a30e5c88864fff774f403313993947d62

func (*HOG) SetNumLevels added in v0.23.0

func (h *HOG) SetNumLevels(nlevels int)

SetNumLevels

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a7602088f3e792de196f8f7efcd9bd448

func (*HOG) SetSVMDetector added in v0.23.0

func (h *HOG) SetSVMDetector(det C.Mat) error

SetSVMDetector sets the data for the HOG.

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a5d12db2277b7c3c849d75258eec8d1d4

func (*HOG) SetScaleFactor added in v0.23.0

func (h *HOG) SetScaleFactor(scale0 float64)

SetScaleFactor

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a21dc5e3dc6272030694d52e83352b337

func (*HOG) SetWinSigma added in v0.23.0

func (h *HOG) SetWinSigma(winSigma float64)

SetWinSigma

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#ab291779ff8ac649174b102f64c5f9012

func (*HOG) SetWinStride added in v0.23.0

func (h *HOG) SetWinStride(sz image.Point)

SetWinStride

For further details, please see: https://docs.opencv.org/master/de/da6/classcv_1_1cuda_1_1HOG.html#a5e74646651209ae13f1b3dd18179773f

type HoughLinesDetector added in v0.27.0

type HoughLinesDetector struct {
	// contains filtered or unexported fields
}

HoughLinesDetector

For further details, please see: https://docs.opencv.org/master/d2/dcd/classcv_1_1cuda_1_1HoughLinesDetector.html

func NewHoughLinesDetector added in v0.27.0

func NewHoughLinesDetector(rho float32, theta float32, threshold int) HoughLinesDetector

NewHoughLinesDetector returns a new HoughLinesDetector.

func NewHoughLinesDetectorWithParams added in v0.27.0

func NewHoughLinesDetectorWithParams(rho float32, theta float32, threshold int, sort bool, maxlines int) HoughLinesDetector

NewHoughLinesDetectorWithParams returns a new HoughLinesDetector.

func (*HoughLinesDetector) Close added in v0.27.0

func (h *HoughLinesDetector) Close() error

Close HoughLinesDetector

func (*HoughLinesDetector) Detect added in v0.27.0

func (h *HoughLinesDetector) Detect(img GpuMat, dst *GpuMat)

Detect finds lines in a binary image using the classical Hough transform.

For further details, please see: https://docs.opencv.org/master/d2/dcd/classcv_1_1cuda_1_1HoughLinesDetector.html#a18ff6d0886833ac6215054e191ae2520

func (*HoughLinesDetector) DetectWithStream added in v0.29.0

func (h *HoughLinesDetector) DetectWithStream(img GpuMat, dst *GpuMat, s Stream)

DetectWithStream finds lines in a binary image using the classical Hough transform using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d2/dcd/classcv_1_1cuda_1_1HoughLinesDetector.html#a18ff6d0886833ac6215054e191ae2520

type HoughSegmentDetector added in v0.27.0

type HoughSegmentDetector struct {
	// contains filtered or unexported fields
}

HoughSegmentDetector

For further details, please see: https://docs.opencv.org/master/d6/df9/classcv_1_1cuda_1_1HoughSegmentDetector.html

func NewHoughSegmentDetector added in v0.27.0

func NewHoughSegmentDetector(rho float32, theta float32, minLineLength int, maxLineGap int) HoughSegmentDetector

NewHoughSegmentDetector returns a new HoughSegmentDetector.

func (*HoughSegmentDetector) Close added in v0.27.0

func (h *HoughSegmentDetector) Close() error

Close HoughSegmentDetector

func (*HoughSegmentDetector) Detect added in v0.27.0

func (h *HoughSegmentDetector) Detect(img GpuMat, dst *GpuMat)

Detect finds lines in a binary image using the Hough probabilistic transform. For further details, please see: https://docs.opencv.org/master/d6/df9/classcv_1_1cuda_1_1HoughSegmentDetector.html#a739bf84825ca455966d69dd75ca0ea6e

func (*HoughSegmentDetector) DetectWithStream added in v0.29.0

func (h *HoughSegmentDetector) DetectWithStream(img GpuMat, dst *GpuMat, s Stream)

DetectWithStream finds lines in a binary image using the Hough probabilistic transform using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/d6/df9/classcv_1_1cuda_1_1HoughSegmentDetector.html#a739bf84825ca455966d69dd75ca0ea6e

type InterpolationFlags added in v0.21.0

type InterpolationFlags int

InterpolationFlags are bit flags that control the interpolation algorithm that is used.

const (
	// InterpolationNearestNeighbor is nearest neighbor. (fast but low quality)
	InterpolationNearestNeighbor InterpolationFlags = 0

	// InterpolationLinear is bilinear interpolation.
	InterpolationLinear InterpolationFlags = 1

	// InterpolationCubic is bicube interpolation.
	InterpolationCubic InterpolationFlags = 2

	// InterpolationArea uses pixel area relation. It is preferred for image
	// decimation as it gives moire-free results.
	InterpolationArea InterpolationFlags = 3

	// InterpolationLanczos4 is Lanczos interpolation over 8x8 neighborhood.
	InterpolationLanczos4 InterpolationFlags = 4

	// InterpolationDefault is an alias for InterpolationLinear.
	InterpolationDefault = InterpolationLinear

	// InterpolationMax indicates use maximum interpolation.
	InterpolationMax InterpolationFlags = 7
)

func (InterpolationFlags) String added in v0.22.0

func (c InterpolationFlags) String() string

type LookUpTable added in v0.39.0

type LookUpTable struct {
	// contains filtered or unexported fields
}

func NewLookUpTable added in v0.39.0

func NewLookUpTable(lut GpuMat) LookUpTable

NewLookUpTable Creates implementation for cuda::LookUpTable .

lut Look-up table of 256 elements. It is a continuous CV_8U matrix.

For further details, please see: https://docs.opencv.org/4.x/de/d09/group__cudaarithm__core.html#gaa75254a07dcf7996b4b5a68d383847f8

func (*LookUpTable) Close added in v0.39.0

func (lt *LookUpTable) Close()

Close releases LookUpTable resources.

func (*LookUpTable) Empty added in v0.39.0

func (lt *LookUpTable) Empty() bool

Empty Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read.

For further details, please see: https://docs.opencv.org/4.x/d3/d46/classcv_1_1Algorithm.html#a827c8b2781ed17574805f373e6054ff1

func (*LookUpTable) Transform added in v0.39.0

func (lt *LookUpTable) Transform(src GpuMat, dst *GpuMat)

Transform Transforms the source matrix into the destination matrix using the given look-up table: dst(I) = lut(src(I)) .

src: Source matrix. CV_8UC1 and CV_8UC3 matrices are supported for now.

dst: Destination matrix.

For further details, please see: https://docs.opencv.org/4.x/df/d29/classcv_1_1cuda_1_1LookUpTable.html#afdbcbd3047f847451892f3b18cd018de

func (*LookUpTable) TransformWithStream added in v0.39.0

func (lt *LookUpTable) TransformWithStream(src GpuMat, dst *GpuMat, s Stream)

TransformWithStream Transforms the source matrix into the destination matrix using the given look-up table: dst(I) = lut(src(I)) .

src: Source matrix. CV_8UC1 and CV_8UC3 matrices are supported for now.

dst: Destination matrix.

stream: Stream for the asynchronous version.

For further details, please see: https://docs.opencv.org/4.x/df/d29/classcv_1_1cuda_1_1LookUpTable.html#afdbcbd3047f847451892f3b18cd018de

type SobelFilter added in v0.27.0

type SobelFilter struct {
	// contains filtered or unexported fields
}

SobelFilter

For further details, please see: https://docs.opencv.org/master/dc/d66/group__cudafilters.html#gabf85fe61958bb21e93211a6fcc7c5c3b

func NewSobelFilter added in v0.27.0

func NewSobelFilter(srcType gocv.MatType, dstType gocv.MatType, dx int, dy int) SobelFilter

NewSobelFilter returns a new SobelFilter.

func NewSobelFilterWithParams added in v0.27.0

func NewSobelFilterWithParams(srcType gocv.MatType, dstType gocv.MatType, dx int, dy int, ksize int, scale float64, rowBorderMode int, columnBorderMode int) SobelFilter

NewSobelFilterWithParams returns a new SobelFilter.

func (*SobelFilter) Apply added in v0.27.0

func (sf *SobelFilter) Apply(img GpuMat, dst *GpuMat)

Apply applies the Sobel filter.

For further details, please see: https://docs.opencv.org/master/dc/d2b/classcv_1_1cuda_1_1Filter.html#a20b58d13871027473b4c39cc698cf80f

func (*SobelFilter) ApplyWithStream added in v0.29.0

func (sf *SobelFilter) ApplyWithStream(img GpuMat, dst *GpuMat, s Stream)

ApplyWithStream applies the Sobel filter using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/master/dc/d2b/classcv_1_1cuda_1_1Filter.html#a20b58d13871027473b4c39cc698cf80f

func (*SobelFilter) Close added in v0.27.0

func (sf *SobelFilter) Close() error

Close SobelFilter

type SparsePyrLKOpticalFlow added in v0.21.0

type SparsePyrLKOpticalFlow struct {
	// contains filtered or unexported fields
}

SparsePyrLKOpticalFlow is a wrapper around the cv::cuda::SparsePyrLKOpticalFlow.

func NewSparsePyrLKOpticalFlow added in v0.21.0

func NewSparsePyrLKOpticalFlow() SparsePyrLKOpticalFlow

NewSparsePyrLKOpticalFlow returns a new SparsePyrLKOpticalFlow

For further details, please see: https://docs.opencv.org/master/d7/d05/classcv_1_1cuda_1_1SparsePyrLKOpticalFlow.html#a6bcd2d457532d7db76c3e7f11b60063b

func (SparsePyrLKOpticalFlow) Calc added in v0.21.0

func (s SparsePyrLKOpticalFlow) Calc(prevImg, nextImg, prevPts, nextPts, status GpuMat)

Calc calculates a sparse optical flow.

For further details, please see: https://docs.opencv.org/master/d5/dcf/classcv_1_1cuda_1_1SparseOpticalFlow.html#a80d5efbb7788e3dc4c49e6226ba34347

type Stream added in v0.29.0

type Stream struct {
	// contains filtered or unexported fields
}

Stream asynchronous stream used for CUDA operations.

For further details, please see: https://docs.opencv.org/master/d9/df3/classcv_1_1cuda_1_1Stream.html#aa6434e2f5f29bd81406732b39951c246

func NewStream added in v0.29.0

func NewStream() Stream

NewStream returns a new empty Stream.

func (*Stream) Close added in v0.29.0

func (s *Stream) Close() error

Close the Stream.

func (*Stream) QueryIfComplete added in v0.29.0

func (s *Stream) QueryIfComplete() bool

QueryIfComplete returns true if the current stream queue is finished

For further details, please see: https://docs.opencv.org/master/d9/df3/classcv_1_1cuda_1_1Stream.html#a9fab618395d42fa31987506e42fab1b4

func (*Stream) WaitForCompletion added in v0.29.0

func (s *Stream) WaitForCompletion()

WaitForCompletion blocks the current CPU thread until all operations in the stream are complete.

For further details, please see: https://docs.opencv.org/master/d9/df3/classcv_1_1cuda_1_1Stream.html#a0e1d939503e8faad741ab584b720bca6

type TemplateMatching added in v0.32.1

type TemplateMatching struct {
	// contains filtered or unexported fields
}

TemplateMatching

For further details, please see: https://docs.opencv.org/4.6.0/d2/d58/classcv_1_1cuda_1_1TemplateMatching.html

func NewTemplateMatching added in v0.32.1

func NewTemplateMatching(srcType gocv.MatType, method gocv.TemplateMatchMode) TemplateMatching

NewTemplateMatching returns a new TemplateMatching.

func (*TemplateMatching) Close added in v0.32.1

func (tm *TemplateMatching) Close() error

Close TemplateMatching

func (*TemplateMatching) Match added in v0.32.1

func (tm *TemplateMatching) Match(img GpuMat, tmpl GpuMat, dst *GpuMat)

Match computes a proximity map for a raster template and an image where the template is searched for. For further details, please see: https://docs.opencv.org/4.6.0/d2/d58/classcv_1_1cuda_1_1TemplateMatching.html#a05a565a53461c916b3b10737cbe43a01

func (*TemplateMatching) MatchWithStream added in v0.32.1

func (tm *TemplateMatching) MatchWithStream(img GpuMat, tmpl GpuMat, dst *GpuMat, s Stream)

MatchWithStream computes a proximity map for a raster template and an image where the template is searched for using a Stream for concurrency.

For further details, please see: https://docs.opencv.org/4.6.0/d2/d58/classcv_1_1cuda_1_1TemplateMatching.html#a05a565a53461c916b3b10737cbe43a01

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL